From f83217590d3157c1db502ddb27b94fe1c704185b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 3 Jun 2016 12:14:59 +0300 Subject: libxslt: update to 1.1.29 Drop upstreamed CVE-2015-7995.patch Rebase pkgconfig.patch Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...Use-pkg-config-to-find-gcrypt-and-libxml2.patch | 130 +++++++++++++++++++++ .../libxslt/libxslt/CVE-2015-7995.patch | 34 ------ .../libxslt/libxslt/pkgconfig.patch | 118 ------------------- meta/recipes-support/libxslt/libxslt_1.1.28.bb | 50 -------- meta/recipes-support/libxslt/libxslt_1.1.29.bb | 50 ++++++++ 5 files changed, 180 insertions(+), 202 deletions(-) create mode 100644 meta/recipes-support/libxslt/libxslt/0001-Use-pkg-config-to-find-gcrypt-and-libxml2.patch delete mode 100644 meta/recipes-support/libxslt/libxslt/CVE-2015-7995.patch delete mode 100644 meta/recipes-support/libxslt/libxslt/pkgconfig.patch delete mode 100644 meta/recipes-support/libxslt/libxslt_1.1.28.bb create mode 100644 meta/recipes-support/libxslt/libxslt_1.1.29.bb diff --git a/meta/recipes-support/libxslt/libxslt/0001-Use-pkg-config-to-find-gcrypt-and-libxml2.patch b/meta/recipes-support/libxslt/libxslt/0001-Use-pkg-config-to-find-gcrypt-and-libxml2.patch new file mode 100644 index 0000000000..71867067b6 --- /dev/null +++ b/meta/recipes-support/libxslt/libxslt/0001-Use-pkg-config-to-find-gcrypt-and-libxml2.patch @@ -0,0 +1,130 @@ +From ed71ac9548a2bb6ecd2dc5ad880c604975f872b0 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 2 Jun 2016 14:20:04 +0300 +Subject: [PATCH] Use pkg-config to find gcrypt and libxml2. + +Upstream-Status: Pending [libxml2 is upstreamable] + +RP 2014/5/22 + +Signed-off-by: Alexander Kanavin +--- + configure.in | 70 +++++++++++------------------------------------------------- + 1 file changed, 12 insertions(+), 58 deletions(-) + +diff --git a/configure.in b/configure.in +index 8bdf45a..0b2b312 100644 +--- a/configure.in ++++ b/configure.in +@@ -377,6 +377,8 @@ AC_SUBST(pythondir) + AC_SUBST(PYTHON_SUBDIR) + AC_SUBST(PYTHON_LIBS) + ++PKG_PROG_PKG_CONFIG ++ + AC_ARG_WITH(crypto, [ --with-crypto Add crypto support to exslt (on)]) + WITH_CRYPTO=0 + CRYPTO_TESTDIR= +@@ -394,27 +396,14 @@ case $host in + CRYPTO_TESTDIR=crypto + ;; + *) +- AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) +- if test "$LIBGCRYPT_CONFIG" != "no" ; then +- LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version` +- if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42") +- then +- LIBGCRYPT_CFLAGS="" +- LIBGCRYPT_LIBS="" +- echo 'gcrypt library version < 1.1.42 - Crypto extensions will not be available.' +- else +- LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --cflags` +- LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --libs` +- AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.]) +- echo 'Crypto extensions will be available.' ++ PKG_CHECK_MODULES(LIBGCRYPT, [libgcrypt >= 1.1.42], [ ++ AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.]) ++ echo 'Crypto extensions will be available.' + WITH_CRYPTO=1 + CRYPTO_TESTDIR=crypto +- fi +- else +- LIBGCRYPT_CFLAGS="" +- LIBGCRYPT_LIBS="" +- echo 'Crypto extensions will not be available. Install libgcrypt and reconfigure to make available.' +- fi ++ ], [ ++ echo 'Crypto extensions will not be available. Install libgcrypt >= 1.1.42 and reconfigure to make available.' ++ ]) + esac + fi + AC_SUBST(WITH_CRYPTO) +@@ -476,24 +465,8 @@ dnl original work - Mathieu Lacage 30/03/2000 + dnl some tweaking - David Härdeman 30/10/2001 + dnl + +-LIBXML_CONFIG_PREFIX="" + LIBXML_SRC="" + +-AC_ARG_WITH(libxml-prefix, +- [ --with-libxml-prefix=[PFX] Specify location of libxml config], +- LIBXML_CONFIG_PREFIX=$withval +-) +- +-AC_ARG_WITH(libxml-include-prefix, +- [ --with-libxml-include-prefix=[PFX] Specify location of libxml headers], +- LIBXML_CFLAGS="-I$withval" +-) +- +-AC_ARG_WITH(libxml-libs-prefix, +- [ --with-libxml-libs-prefix=[PFX] Specify location of libxml libs], +- LIBXML_LIBS="-L$withval" +-) +- + AC_ARG_WITH(libxml-src, + [ --with-libxml-src=[DIR] For libxml thats not installed yet (sets all three above)], + LIBXML_SRC="$withval" +@@ -556,28 +529,9 @@ then + fi + fi + +-dnl +-dnl make sure xml2-config is executable, +-dnl test version and init our variables +-dnl +- +-if ${XML_CONFIG} --libs print > /dev/null 2>&1 +-then +- XMLVERS=`$XML_CONFIG --version` +- if test VERSION_TO_NUMBER(echo $XMLVERS) -ge VERSION_TO_NUMBER(echo $LIBXML_REQUIRED_VERSION) +- then +- AC_MSG_RESULT($XMLVERS found) +- else +- AC_MSG_ERROR(Version $XMLVERS found. You need at least libxml2 $LIBXML_REQUIRED_VERSION for this version of libxslt) +- fi +- LIBXML_LIBS="$LIBXML_LIBS `$XML_CONFIG --libs`" +- if test "x$LIBXML_SRC" = "x"; then +- LIBXML_CFLAGS="$LIBXML_CFLAGS `$XML_CONFIG --cflags`" +- fi +-else +- AC_MSG_ERROR([Could not find libxml2 anywhere, check ftp://xmlsoft.org/.]) +-fi +- ++PKG_CHECK_MODULES(LIBXML, [libxml-2.0 >= $LIBXML_REQUIRED_VERSION],, ++ [AC_MSG_ERROR([Could not find libxml-2.0 >= $LIBXML_REQUIRED_VERSION anywhere, check ftp://xmlsoft.org/.])] ++) + + AC_SUBST(CFLAGS) + AC_SUBST(CPPFLAGS) +@@ -602,7 +556,7 @@ fi + + if test "$with_plugins" = "yes" ; then + AC_MSG_CHECKING([libxml2 module support]) +- WITH_MODULES="`$XML_CONFIG --modules`" ++ WITH_MODULES="`$PKG_CONFIG --variable=modules libxml-2.0`" + if test "${WITH_MODULES}" = "1"; then + AC_MSG_RESULT(yes) + else +-- +2.8.1 + diff --git a/meta/recipes-support/libxslt/libxslt/CVE-2015-7995.patch b/meta/recipes-support/libxslt/libxslt/CVE-2015-7995.patch deleted file mode 100644 index f4113efba9..0000000000 --- a/meta/recipes-support/libxslt/libxslt/CVE-2015-7995.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001 -From: Daniel Veillard -Date: Thu, 29 Oct 2015 19:33:23 +0800 -Subject: Fix for type confusion in preprocessing attributes - -CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10 -We need to check that the parent node is an element before dereferencing -its namespace - -Upstream-Status: Backport -CVE: CVE-2015-7995 - -https://git.gnome.org/browse/libxslt/commit/?id=7ca19df892ca22d9314e95d59ce2abdeff46b617 - -Signed-off-by: Armin Kuster - ---- - libxslt/preproc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: libxslt-1.1.28/libxslt/preproc.c -=================================================================== ---- libxslt-1.1.28.orig/libxslt/preproc.c -+++ libxslt-1.1.28/libxslt/preproc.c -@@ -2245,7 +2245,8 @@ xsltStylePreCompute(xsltStylesheetPtr st - } else if (IS_XSLT_NAME(inst, "attribute")) { - xmlNodePtr parent = inst->parent; - -- if ((parent == NULL) || (parent->ns == NULL) || -+ if ((parent == NULL) || -+ (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) || - ((parent->ns != inst->ns) && - (!xmlStrEqual(parent->ns->href, inst->ns->href))) || - (!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) { diff --git a/meta/recipes-support/libxslt/libxslt/pkgconfig.patch b/meta/recipes-support/libxslt/libxslt/pkgconfig.patch deleted file mode 100644 index 89d14c944d..0000000000 --- a/meta/recipes-support/libxslt/libxslt/pkgconfig.patch +++ /dev/null @@ -1,118 +0,0 @@ -Use pkg-config to find gcrypt and libxml2. - -Upstream-Status: Pending [libxml2 is upstreamable] - -RP 2014/5/22 - -Index: libxslt-1.1.28/configure.in -=================================================================== ---- libxslt-1.1.28.orig/configure.in 2014-05-13 16:46:02.278474967 +0000 -+++ libxslt-1.1.28/configure.in 2014-05-13 16:53:56.510472561 +0000 -@@ -376,6 +376,8 @@ - AC_SUBST(PYTHON_SUBDIR) - AC_SUBST(PYTHON_LIBS) - -+PKG_PROG_PKG_CONFIG -+ - AC_ARG_WITH(crypto, [ --with-crypto Add crypto support to exslt (on)]) - WITH_CRYPTO=0 - if test "$with_crypto" = "no" ; then -@@ -391,26 +393,13 @@ - WITH_CRYPTO=1 - ;; - *) -- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no) -- if test "$LIBGCRYPT_CONFIG" != "no" ; then -- LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version` -- if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42") -- then -- LIBGCRYPT_CFLAGS="" -- LIBGCRYPT_LIBS="" -- echo 'gcrypt library version < 1.1.42 - Crypto extensions will not be available.' -- else -- LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --cflags` -- LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --libs` -- AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.]) -- echo 'Crypto extensions will be available.' -+ PKG_CHECK_MODULES(LIBGCRYPT, [libgcrypt >= 1.1.42], [ -+ AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.]) -+ echo 'Crypto extensions will be available.' - WITH_CRYPTO=1 -- fi -- else -- LIBGCRYPT_CFLAGS="" -- LIBGCRYPT_LIBS="" -- echo 'Crypto extensions will not be available. Install libgcrypt and reconfigure to make available.' -- fi -+ ], [ -+ echo 'Crypto extensions will not be available. Install libgcrypt >= 1.1.42 and reconfigure to make available.' -+ ]) - esac - fi - AC_SUBST(WITH_CRYPTO) -@@ -471,24 +460,8 @@ - dnl some tweaking - David Härdeman 30/10/2001 - dnl - --LIBXML_CONFIG_PREFIX="" - LIBXML_SRC="" - --AC_ARG_WITH(libxml-prefix, -- [ --with-libxml-prefix=[PFX] Specify location of libxml config], -- LIBXML_CONFIG_PREFIX=$withval --) -- --AC_ARG_WITH(libxml-include-prefix, -- [ --with-libxml-include-prefix=[PFX] Specify location of libxml headers], -- LIBXML_CFLAGS="-I$withval" --) -- --AC_ARG_WITH(libxml-libs-prefix, -- [ --with-libxml-libs-prefix=[PFX] Specify location of libxml libs], -- LIBXML_LIBS="-L$withval" --) -- - AC_ARG_WITH(libxml-src, - [ --with-libxml-src=[DIR] For libxml thats not installed yet (sets all three above)], - LIBXML_SRC="$withval" -@@ -551,28 +524,9 @@ - fi - fi - --dnl --dnl make sure xml2-config is executable, --dnl test version and init our variables --dnl -- --if ${XML_CONFIG} --libs print > /dev/null 2>&1 --then -- XMLVERS=`$XML_CONFIG --version` -- if test VERSION_TO_NUMBER(echo $XMLVERS) -ge VERSION_TO_NUMBER(echo $LIBXML_REQUIRED_VERSION) -- then -- AC_MSG_RESULT($XMLVERS found) -- else -- AC_MSG_ERROR(Version $XMLVERS found. You need at least libxml2 $LIBXML_REQUIRED_VERSION for this version of libxslt) -- fi -- LIBXML_LIBS="$LIBXML_LIBS `$XML_CONFIG --libs`" -- if test "x$LIBXML_SRC" = "x"; then -- LIBXML_CFLAGS="$LIBXML_CFLAGS `$XML_CONFIG --cflags`" -- fi --else -- AC_MSG_ERROR([Could not find libxml2 anywhere, check ftp://xmlsoft.org/.]) --fi -- -+PKG_CHECK_MODULES(LIBXML, [libxml-2.0 >= $LIBXML_REQUIRED_VERSION],, -+ [AC_MSG_ERROR([Could not find libxml-2.0 >= $LIBXML_REQUIRED_VERSION anywhere, check ftp://xmlsoft.org/.])] -+) - - AC_SUBST(CFLAGS) - AC_SUBST(CPPFLAGS) -@@ -597,7 +551,7 @@ - - if test "$with_plugins" = "yes" ; then - AC_MSG_CHECKING([libxml2 module support]) -- WITH_MODULES="`$XML_CONFIG --modules`" -+ WITH_MODULES="`$PKG_CONFIG --variable=modules libxml-2.0`" - if test "${WITH_MODULES}" = "1"; then - AC_MSG_RESULT(yes) - else diff --git a/meta/recipes-support/libxslt/libxslt_1.1.28.bb b/meta/recipes-support/libxslt/libxslt_1.1.28.bb deleted file mode 100644 index 23ac599de5..0000000000 --- a/meta/recipes-support/libxslt/libxslt_1.1.28.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "GNOME XSLT library" -HOMEPAGE = "http://xmlsoft.org/XSLT/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458" - -SECTION = "libs" -DEPENDS = "libxml2" - -SRC_URI = "ftp://xmlsoft.org/libxslt/libxslt-${PV}.tar.gz \ - file://pkgconfig_fix.patch \ - file://pkgconfig.patch \ - file://CVE-2015-7995.patch" - -SRC_URI[md5sum] = "9667bf6f9310b957254fdcf6596600b7" -SRC_URI[sha256sum] = "5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c" - -UPSTREAM_CHECK_REGEX = "libxslt-(?P\d+(\.\d+)+)\.tar" - -S = "${WORKDIR}/libxslt-${PV}" - -BINCONFIG = "${bindir}/xslt-config" - -inherit autotools pkgconfig binconfig-disabled lib_package - -# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header -do_configure_prepend () { - sed -i -e 's/ansidecl.h//' ${S}/configure.in - - # The timestamps in the 1.1.28 tarball are messed up causing this file to - # appear out of date. Touch it so that we don't try to regenerate it. - touch ${S}/doc/xsltproc.1 -} - -EXTRA_OECONF = "--without-python --without-debug --without-mem-debug --without-crypto" -# older versions of this recipe had ${PN}-utils -RPROVIDES_${PN}-bin += "${PN}-utils" -RCONFLICTS_${PN}-bin += "${PN}-utils" -RREPLACES_${PN}-bin += "${PN}-utils" - - -do_install_append_class-native () { - create_wrapper ${D}/${bindir}/xsltproc XML_CATALOG_FILES=${sysconfdir}/xml/catalog.xml -} - -FILES_${PN} += "${libdir}/libxslt-plugins" -FILES_${PN}-dev += "${libdir}/xsltConf.sh" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libxslt/libxslt_1.1.29.bb b/meta/recipes-support/libxslt/libxslt_1.1.29.bb new file mode 100644 index 0000000000..be747e608d --- /dev/null +++ b/meta/recipes-support/libxslt/libxslt_1.1.29.bb @@ -0,0 +1,50 @@ +SUMMARY = "GNOME XSLT library" +HOMEPAGE = "http://xmlsoft.org/XSLT/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458" + +SECTION = "libs" +DEPENDS = "libxml2" + +SRC_URI = "ftp://xmlsoft.org/libxslt/libxslt-${PV}.tar.gz \ + file://pkgconfig_fix.patch \ + file://0001-Use-pkg-config-to-find-gcrypt-and-libxml2.patch \ + " + +SRC_URI[md5sum] = "a129d3c44c022de3b9dcf6d6f288d72e" +SRC_URI[sha256sum] = "b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce" + +UPSTREAM_CHECK_REGEX = "libxslt-(?P\d+(\.\d+)+)\.tar" + +S = "${WORKDIR}/libxslt-${PV}" + +BINCONFIG = "${bindir}/xslt-config" + +inherit autotools pkgconfig binconfig-disabled lib_package + +# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header +do_configure_prepend () { + sed -i -e 's/ansidecl.h//' ${S}/configure.in + + # The timestamps in the 1.1.28 tarball are messed up causing this file to + # appear out of date. Touch it so that we don't try to regenerate it. + touch ${S}/doc/xsltproc.1 +} + +EXTRA_OECONF = "--without-python --without-debug --without-mem-debug --without-crypto" +# older versions of this recipe had ${PN}-utils +RPROVIDES_${PN}-bin += "${PN}-utils" +RCONFLICTS_${PN}-bin += "${PN}-utils" +RREPLACES_${PN}-bin += "${PN}-utils" + + +do_install_append_class-native () { + create_wrapper ${D}/${bindir}/xsltproc XML_CATALOG_FILES=${sysconfdir}/xml/catalog.xml +} + +FILES_${PN} += "${libdir}/libxslt-plugins" +FILES_${PN}-dev += "${libdir}/xsltConf.sh" + +BBCLASSEXTEND = "native nativesdk" -- cgit 1.2.3-korg