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

Martin Jansa martin.jansa at gmail.com
Mon Jan 6 12:32:11 UTC 2014


On Mon, Jan 06, 2014 at 12:19:25PM +0000, Lewis, Nick wrote:
> The libxml++ recipe does not appear to build due to an incompatibility of libxml++ 2.35.3 with newer versions of make. libxml++ 2.37.1 contains a fix for this problem. Please find below a patch that changes the name of the recipe to meta-oe/recipes-core/libxml/libxml++_2.37.1.bb to fetch this version and amends the checksums to suit. It also adds ptest support.
> 

Thanks for patch, but can you send it once more with git send-email -M (as
described in README)?

It's a bit messy when you look at it in patchwork:
http://patchwork.openembedded.org/patch/64147/

> 
> Signed-off-by: Nick Lewis <nick.lewis at usa.g4s.com>
> 
> 
> 
> 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
> +}
> +
> 
> 
> 
> --
> 
> Nick Lewis
> nick.lewis at usa.g4s.com
> +44 1684 277137
> www.g4stechnology.com
> New Challenge House, International Drive, Tewkesbury, Gloucestershire, GL20 8UQ, UK
> 
>  Please consider the environment before printing this email
> 
> 
> 
> 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.
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20140106/ad4f6270/attachment-0002.sig>


More information about the Openembedded-devel mailing list