[oe] Patch to fix libxml++ build failure in meta-oe

Lewis, Nick nick.lewis at usa.g4s.com
Tue Jan 7 10:29:28 UTC 2014


>From c77c6adf075f314209f7cd071fb5b99c0d8d0e70 Mon Sep 17 00:00:00 2001
From: Nick Lewis <nick.lewis at usa.g4s.com>
Date: Mon, 6 Jan 2014 17:16:03 +0000
Subject: [PATCH] Use libxml++ version 2.37.1 and add ptest support

---
 .../libxml/libxml++-2.37.1/libxml++_ptest.patch    |   73 ++++++++++++++++++++
 .../recipes-core/libxml/libxml++-2.37.1/run-ptest  |    3 +
 meta-oe/recipes-core/libxml/libxml++_2.35.3.bb     |   22 ------
 meta-oe/recipes-core/libxml/libxml++_2.37.1.bb     |   34 +++++++++
 4 files changed, 110 insertions(+), 22 deletions(-)  create mode 100644 meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
 create mode 100644 meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
 delete mode 100644 meta-oe/recipes-core/libxml/libxml++_2.35.3.bb
 create mode 100644 meta-oe/recipes-core/libxml/libxml++_2.37.1.bb

diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
new file mode 100644
index 0000000..a18822f
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
@@ -0,0 +1,73 @@
+diff --git a/Makefile.am b/Makefile.am
+index d4aadb1..0e36756 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -253,5 +253,8 @@ post-html: docs/index.html
+       rsync $(rsync_args) -r docs/index.html $$USER,libxmlplusplus at web.sourceforge.net:$(web_path_project)
+       rsync $(rsync_args) -r examples
+$$USER,libxmlplusplus at web.sourceforge.net:$(web_path_project)
+
++install-ptest:
++      make -C examples install-ptest
++
+ # Optional: auto-generate the ChangeLog file from the git log on make
+dist  include $(top_srcdir)/macros/dist-changelog.am
+diff --git a/examples/Makefile.am b/examples/Makefile.am index
+d9541ca..c28b49c 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -36,6 +36,23 @@ check_PROGRAMS = \
+   schemavalidation/schemavalidation \
+   textreader/textreader
+
++check_DOTLIBS = \
++  dom_build/.libs/dom_build \
++  dom_parse_entities/.libs/dom_parse_entities \
++  dom_parser/.libs/dom_parser \
++  dom_parser_raw/.libs/dom_parser_raw \
++  dom_read_write/.libs/dom_read_write \
++  dom_xinclude/.libs/dom_xinclude \
++  dom_xpath/.libs/dom_xpath \
++  dtdvalidation/.libs/dtdvalidation \
++  import_node/.libs/import_node \
++  sax_exception/.libs/sax_exception \
++  sax_parser/.libs/sax_parser \
++  sax_parser_build_dom/.libs/sax_parser_build_dom \
++  sax_parser_entities/.libs/sax_parser_entities \
++  schemavalidation/.libs/schemavalidation \
++  textreader/.libs/textreader
++
+ # Shell scripts that call the example programs.
+ check_SCRIPTS = \
+   dom_build/make_check.sh \
+@@ -147,10 +164,10 @@ dist_noinst_DATA = \  # file are located in
+different directories.
+ dom_read_write/make_check.sh: Makefile
+       echo '# Generated and used by "make check"' >$@
+-      echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
++      echo 'dom_read_write/.libs/dom_read_write
++"$(srcdir)/dom_read_write/example.xml"
++dom_read_write/example_output.xml >/dev/null' >>$@
+       chmod +x $@
+
+-script_template = cd "$(srcdir)/<!progname!>" &&
+"$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
++script_template = cd "$(srcdir)/<!progname!>" && ".libs/<!progname!>"
++>/dev/null
+ standard_scripts = $(filter-out
+ dom_read_write/make_check.sh,$(check_SCRIPTS))
+
+ # All other script files are generated like so:
+@@ -162,3 +179,18 @@ $(standard_scripts): Makefile  CLEANFILES = \
+   dom_read_write/example_output.xml \
+   $(check_SCRIPTS)
++
++buildtest: all
++      $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
++      $(MAKE) $(AM_MAKEFLAGS) buildtest-TESTS
++
++install-ptest:
++      $(MKDIR_P) $(DESTDIR)/examples
++      cp --parents $(check_DOTLIBS) $(DESTDIR)/examples
++      cp --parents $(check_SCRIPTS) $(DESTDIR)/examples
++      cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
++      cp Makefile $(DESTDIR)/examples
++      $(MKDIR_P) $(DESTDIR)/macros
++      cp ../macros/test-driver $(DESTDIR)/macros
++      sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
++
diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest b/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
new file mode 100644
index 0000000..236f667
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd examples
+make -k check-TESTS
diff --git a/meta-oe/recipes-core/libxml/libxml++_2.35.3.bb b/meta-oe/recipes-core/libxml/libxml++_2.35.3.bb
deleted file mode 100644
index fb9cdd9..0000000
--- a/meta-oe/recipes-core/libxml/libxml++_2.35.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "C++ wrapper for libxml library"
-DESCRIPTION = "C++ wrapper for libxml library"
-HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
-BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
-
-PR = "r1"
-
-SHRT_VER = "${@d.getVar('PV',True).split('.')[0]}.${@d.getVar('PV',True).split('.')[1]}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "196a2dcdc84ab987fe3852b3f29cafd7"
-SRC_URI[sha256sum] = "715a4214bbff90365cc8406a28e427febd90461006d608fbdcdcea7fc9891eaf"
-
-DEPENDS = "libxml2 glibmm"
-
-inherit autotools pkgconfig
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
diff --git a/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb b/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb
new file mode 100644
index 0000000..604877d
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "C++ wrapper for libxml library"
+DESCRIPTION = "C++ wrapper for libxml library"
+HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
+BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
+
+PR = "r0"
+
+SHRT_VER = "${@d.getVar('PV',True).split('.')[0]}.${@d.getVar('PV',True).split('.')[1]}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "2f9372a6eba6e40206c11f558a8fbc32"
+SRC_URI[sha256sum] = "f3b183600532a92af355719210223f858857092b8b1531c7907155c59a6db39f"
+
+DEPENDS = "libxml2 glibmm"
+
+inherit autotools pkgconfig
+
+FILES_${PN}-doc += "${datadir}/devhelp"
+FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
+
+SRC_URI += "file://libxml++_ptest.patch \
+            file://run-ptest"
+
+inherit ptest
+
+RDEPENDS_${PN}-ptest += "make"
+
+do_compile_ptest() {
+  oe_runmake -C examples buildtest
+}
+
--
1.7.9.5


The details of this company are as follows:
G4S Technology Limited, Registered Office: Challenge House, International Drive, Tewkesbury, Gloucestershire GL20 8UQ, Registered in England No. 2382338.

This communication may contain information which is confidential, personal and/or privileged.

It is for the exclusive use of the intended recipient(s).
If you are not the intended recipient(s), please note that any distribution, forwarding, copying or use of this communication or the information in it is strictly prohibited.

Any personal views expressed in this e-mail are those of the individual sender and the company does not endorse or accept responsibility for them.

Prior to taking any action based upon this e-mail message, you should seek appropriate confirmation of its authenticity.

This e-mail has been scanned for all viruses by MessageLabs.



More information about the Openembedded-devel mailing list