[OE-core] [PATCH 2/5 v2] rpm: Upgrade RPM to 5.4.9

Saul Wold sgw at linux.intel.com
Wed May 23 23:14:20 UTC 2012


On 05/17/2012 04:46 PM, Mark Hatle wrote:
> Beside upreving RPM, add necessary integration pathces to libzypp.
>
> Also change the configuration of RPM to support PACKAGECONFIG flags.
> RPM is highly configurable, the default configuration is good for
> minimal OE-Core use.
>
Mark,

I have been having an issue with the do_install seeming to hang for 
rpm-native, I am still digging into this to see if it's a Bitbake issue 
or something else with RPM.

A 'ps' shows the make install running, but not activity in the log file.

Sau!

> Signed-off-by: Mark Hatle<mark.hatle at windriver.com>
> ---
>   meta/recipes-devtools/rpm/rpm/rpm-lua.patch        |   29 +++++
>   .../rpm/rpm/rpm-scriptletexechelper.patch          |   33 +++---
>   meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch |   26 ++---
>   .../rpm/{rpm_5.4.8.bb =>  rpm_5.4.9.bb}             |  124 +++++++++-----------
>   .../libzypp/libzypp/libzypp-rpm549.patch           |   28 +++++
>   meta/recipes-extended/libzypp/libzypp_git.bb       |    3 +-
>   6 files changed, 142 insertions(+), 101 deletions(-)
>   create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-lua.patch
>   rename meta/recipes-devtools/rpm/{rpm_5.4.8.bb =>  rpm_5.4.9.bb} (82%)
>   create mode 100644 meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
>
> diff --git a/meta/recipes-devtools/rpm/rpm/rpm-lua.patch b/meta/recipes-devtools/rpm/rpm/rpm-lua.patch
> new file mode 100644
> index 0000000..980e1b1
> --- /dev/null
> +++ b/meta/recipes-devtools/rpm/rpm/rpm-lua.patch
> @@ -0,0 +1,29 @@
> +Add support for cross compiling lua
> +
> +Signed-off-by: Mark Hatle<mark.hatle at windriver.com>
> +
> +diff -ur rpm-5.4.9.orig/configure.ac rpm-5.4.9/configure.ac
> +--- rpm-5.4.9.orig/configure.ac	2012-05-16 12:16:36.589813548 -0500
> ++++ rpm-5.4.9/configure.ac	2012-05-16 12:26:01.070813518 -0500
> +@@ -120,6 +120,9 @@
> +
> + AC_PATH_PROG(AS, as, as)
> +
> ++CC_FOR_BUILD=${CC_FOR_BUILD-\$(CC)}
> ++AC_SUBST(CC_FOR_BUILD)
> ++
> + dnl # GCC specifics
> + AC_PROG_GCC_TRADITIONAL
> + AC_ARG_ENABLE(build-pic,
> +diff -ur rpm-5.4.9.orig/lua/Makefile.am rpm-5.4.9/lua/Makefile.am
> +--- rpm-5.4.9.orig/lua/Makefile.am	2012-04-07 19:15:25.000000000 -0500
> ++++ rpm-5.4.9/lua/Makefile.am	2012-05-16 12:26:19.556856688 -0500
> +@@ -40,7 +40,7 @@
> +
> + # --- bin2c doesn't need anything but a compiler
> + bin2c$(EXEEXT):  bin2c.c
> +-	$(CC) -o $@ $<
> ++	$(CC_FOR_BUILD) -o $@ $<
> +
> + liblua_la_SOURCES =
> + liblua_la_CFLAGS = @WITH_LUA_SUBDIR_DEF@
> diff --git a/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch b/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch
> index e4db0e4..8a9e712 100644
> --- a/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch
> +++ b/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch
> @@ -12,10 +12,11 @@ Upstream-Status: Pending
>
>   Signed-off-by: Mark Hatle<mark.hatle at windriver.com>
>
> -diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
> ---- rpm-5.4.0.orig/lib/psm.c	2010-12-29 07:42:11.000000000 -0600
> -+++ rpm-5.4.0/lib/psm.c	2011-11-08 13:38:48.132791154 -0600
> -@@ -792,6 +792,10 @@
> +Index: rpm-5.4.9/lib/psm.c
> +===================================================================
> +--- rpm-5.4.9.orig/lib/psm.c
> ++++ rpm-5.4.9/lib/psm.c
> +@@ -801,6 +801,10 @@ static rpmRC runScript(rpmpsm psm, Heade
>        int xx;
>        int i;
>
> @@ -26,23 +27,23 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>        if (psm->sstates != NULL&&  ix>= 0&&  ix<  RPMSCRIPT_MAX)
>    	ssp = psm->sstates + ix;
>        if (ssp != NULL)
> -@@ -858,14 +862,29 @@
> +@@ -867,14 +871,29 @@ assert(he->p.str != NULL);
>    		(F_ISSET(psm, UNORDERED) ? "a" : ""));
>
>        if (Phe->p.argv == NULL) {
> --	argv = alloca(5 * sizeof(*argv));
> +-	argv = (const char **) alloca(5 * sizeof(*argv));
>   -	argv[0] = "/bin/sh";
>   -	argc = 1;
> -+	argv = alloca(7 * sizeof(*argv));
> ++	argv = (const char **) alloca(7 * sizeof(*argv));
>   +	argc = 0;
>   +    } else {
> -+	argv = alloca((Phe->c + 6) * sizeof(*argv));
> ++	argv = (const char **) alloca((Phe->c + 6) * sizeof(*argv));
>   +	argc = 0;
>   +    }
>   +
>   +#ifdef RPM_VENDOR_POKY
>   +    if (scriptletWrapper&&  *scriptletWrapper) {
> -+        argv[argc++] = scriptletWrapper;
> ++	argv[argc++] = scriptletWrapper;
>   +	argv[argc] = rpmtsRootDir(ts);
>   +	if (!argv[argc] || !*argv[argc])
>   +	   argv[argc] = "/";
> @@ -51,10 +52,10 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>   +#endif
>   +
>   +    if (Phe->p.argv == NULL) {
> -+        argv[argc++] = "/bin/sh";
> ++	argv[argc++] = "/bin/sh";
>    	ldconfig_done = 0;
>        } else {
> --	argv = alloca((Phe->c + 4) * sizeof(*argv));
> +-	argv = (const char **) alloca((Phe->c + 4) * sizeof(*argv));
>   -	memcpy(argv, Phe->p.argv, Phe->c * sizeof(*argv));
>   -	argc = Phe->c;
>   +	memcpy((argv + argc), Phe->p.argv, Phe->c * sizeof(*argv));
> @@ -62,7 +63,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>    	ldconfig_done = (ldconfig_path&&  !strcmp(argv[0], ldconfig_path)
>    		? 1 : 0);
>        }
> -@@ -916,7 +935,12 @@
> +@@ -925,7 +944,12 @@ assert(he->p.str != NULL);
>    	    goto exit;
>
>    	if (rpmIsDebug()&&
> @@ -76,7 +77,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>    	{
>    	    static const char set_x[] = "set -x\n";
>    	    nw = Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd);
> -@@ -1051,12 +1075,22 @@
> +@@ -1060,12 +1084,22 @@ assert(he->p.str != NULL);
>
>    	{   const char * rootDir = rpmtsRootDir(ts);
>    	    if (!rpmtsChrootDone(ts)&&  rootDir != NULL&&
> @@ -99,7 +100,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>    	    xx = Chdir("/");
>    	    rpmlog(RPMLOG_DEBUG, D_("%s: %s(%s)\texecv(%s) pid %d\n"),
>    			psm->stepName, sln, NVRA,
> -@@ -2961,6 +2995,13 @@
> +@@ -2977,6 +3011,13 @@ assert(psm->te != NULL);
>        case PSM_SCRIPT:	/* Run current package scriptlets. */
>    	/* XXX running %verifyscript/%sanitycheck doesn't have psm->te */
>        {	rpmtxn _parent = (psm&&  psm->te ? psm->te->txn : NULL);
> @@ -113,7 +114,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>    	xx = rpmtxnBegin(rpmtsGetRdb(ts), _parent, NULL);
>    	rc = runInstScript(psm);
>    	if (rc)
> -@@ -2968,11 +3009,24 @@
> +@@ -2984,11 +3025,24 @@ assert(psm->te != NULL);
>    	else
>    	     xx = rpmtxnCommit(rpmtsGetRdb(ts)->db_txn);
>    	rpmtsGetRdb(ts)->db_txn = NULL;
> @@ -138,7 +139,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c
>    	break;
>        case PSM_IMMED_TRIGGERS:
>    	/* Run triggers in this package other package(s) set off. */
> -@@ -2982,7 +3036,18 @@
> +@@ -2998,7 +3052,18 @@ assert(psm->te != NULL);
>    	    F_SET(psm, GOTTRIGGERS);
>    	}
>    	if (psm->triggers != NULL)
> diff --git a/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch b/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch
> index 1667901..f29866b 100644
> --- a/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch
> +++ b/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch
> @@ -16,20 +16,20 @@ RP 2012/2/7
>    2 files changed, 152 insertions(+), 1 deletions(-)
>    create mode 100644 tools/rpmdeps-oecore.c
>
> -diff --git a/tools/Makefile.am b/tools/Makefile.am
> -index f520843..2eba9bf 100644
> ---- a/tools/Makefile.am
> -+++ b/tools/Makefile.am
> +Index: rpm-5.4.9/tools/Makefile.am
> +===================================================================
> +--- rpm-5.4.9.orig/tools/Makefile.am
> ++++ rpm-5.4.9/tools/Makefile.am
>   @@ -58,7 +58,7 @@ pkgbin_PROGRAMS =	\
>    	@WITH_AUGEAS_AUGTOOL@ chroot cp @WITH_CUDF_CUDFTOOL@ find mtree \
>    	@WITH_SEMANAGE_SEMODULE@ wget \
>    	rpmcache rpmdigest rpmrepo rpmspecdump \
>   -	rpmcmp rpmdeps sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
>   +	rpmcmp rpmdeps rpmdeps-oecore sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
> - dist_man_MANS =		rpmgrep.1
> -
> - augtool_SOURCES =	augtool.c
> -@@ -155,6 +155,10 @@ rpmdeps_SOURCES =	rpmdeps.c
> + if WITH_DB
> + pkgbin_PROGRAMS +=	dbconvert
> + endif
> +@@ -168,6 +168,10 @@ rpmdeps_SOURCES =	rpmdeps.c
>    rpmdeps_LDFLAGS =	@LDFLAGS_STATIC@ $(LDFLAGS)
>    rpmdeps_LDADD =		$(RPM_LDADD_COMMON)
>
> @@ -40,11 +40,10 @@ index f520843..2eba9bf 100644
>    rpmdigest_SOURCES =	rpmdigest.c
>    rpmdigest_LDFLAGS =	@LDFLAGS_STATIC@ $(LDFLAGS)
>    rpmdigest_LDADD =	$(RPMIO_LDADD_COMMON)
> -diff --git a/tools/rpmdeps-oecore.c b/tools/rpmdeps-oecore.c
> -new file mode 100644
> -index 0000000..e646da9
> +Index: rpm-5.4.9/tools/rpmdeps-oecore.c
> +===================================================================
>   --- /dev/null
> -+++ b/tools/rpmdeps-oecore.c
> ++++ rpm-5.4.9/tools/rpmdeps-oecore.c
>   @@ -0,0 +1,147 @@
>   +#include "system.h"
>   +const char *__progname;
> @@ -193,6 +192,3 @@ index 0000000..e646da9
>   +    optCon = rpmcliFini(optCon);
>   +    return ec;
>   +}
> ---
> -1.7.4.1
> -
> diff --git a/meta/recipes-devtools/rpm/rpm_5.4.8.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> similarity index 82%
> rename from meta/recipes-devtools/rpm/rpm_5.4.8.bb
> rename to meta/recipes-devtools/rpm/rpm_5.4.9.bb
> index a7458b6..3c22f22 100644
> --- a/meta/recipes-devtools/rpm/rpm_5.4.8.bb
> +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> @@ -42,14 +42,12 @@ HOMEPAGE = "http://rpm5.org/"
>   LICENSE = "LGPLv2.1"
>   LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
>
> -DEPENDS = "beecrypt bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}"
> -extrarpmdeps = "python perl file"
> -extrarpmdeps_virtclass-native = "python-native file-native"
> -PR = "r37"
> +DEPENDS = "libpcre attr acl popt file"
> +PR = "r38"
>
>   # rpm2cpio is a shell script, which is part of the rpm src.rpm.  It is needed
>   # in order to extract the distribution SRPM into a format we can extract...
> -SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;extract=rpm-5.4.8.tar.gz \
> +SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;extract=rpm-5.4.9.tar.gz \
>   	   file://rpm-log-auto-rm.patch \
>   	   file://rpm-db-reduce.patch \
>   	   file://perfile_rpmdeps.sh \
> @@ -68,10 +66,11 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;ex
>   	   file://rpmdeps-oecore.patch \
>   	   file://rpm-resolvedep.patch \
>   	   file://rpm-no-perl-urpm.patch \
> +	   file://rpm-lua.patch \
>   	  "
>
> -SRC_URI[md5sum] = "424b60bf2e0a624a218440d943861644"
> -SRC_URI[sha256sum] = "56eb5033d4de98c217475fb34d466d551f8912959389e7854a806e2bd9e13380"
> +SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
> +SRC_URI[sha256sum] = "bac7cc5bd9d0e8262fdc0099349924608da8f680f5cb243751f696552239dde8"
>
>   inherit autotools gettext
>
> @@ -81,63 +80,74 @@ acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
>   rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros"
>   rpm_macros_virtclass-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
>
> -# Configure values taken from rpm.spec
> -WITH_BZIP2 = "--with-bzip2"
> +# sqlite lua tcl augeas nss gcrypt neon xz xar keyutils perl selinux
>
> -WITH_XZ = "--with-xz=none"
> +# Note: perl and sqlite w/o db specified does not currently work.
> +#       tcl, augeas, nss, gcrypt, xar and keyutils support is untested.
> +PACKAGECONFIG_virtclass-native ??= "db bzip2 zlib beecrypt openssl libelf python"
> +PACKAGECONFIG ??= "db bzip2 zlib beecrypt openssl libelf python"
>
> -WITH_Z = "--with-zlib $WITH_BZIP2 $WITH_XZ"
> +PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2,"
> +PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz,"
> +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
> +PACKAGECONFIG[xar] = "--with-xar,--without-xar,xar,"
>
> -WITH_PYTHON = "	--with-python=${PYTHON_BASEVERSION} \
> +WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \
>   		--with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
>   		--with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \
> -		--without-pythonembed \
> -	      "
> +		--without-pythonembed"
> +PACKAGECONFIG[python] = "${WITH_PYTHON},--without-python,python,"
>
>   # Perl modules are not built, but they could be enabled fairly easily
>   # the perl module creation and installation would need to be patched.
>   # (currently has host perl contamination issues)
> -#WITH_PERL = "	--with-perl --without-perlembed"
> -WITH_PERL = "	--without-perl --without-perl-urpm"
> +WITH_PERL = "--with-perl --without-perlembed --without-perl-urpm"
> +WITHOUT_PERL = "--without-perl --without-perl-urpm"
> +PACKAGECONFIG[perl] = "${WITH_PERL},${WITHOUT_PERL},perl,"
>
> -WITH_PERL_virtclass-native = " --without-perl --without-perl-urpm"
> +# The --with-dbsql will only tell RPM to check for support, db
> +# may or may not be built w/ the dbsql support.
> +WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated"
> +PACKAGECONFIG[db] = "${WITH_DB},--without-db,db,"
>
> -WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated --without-sqlite"
> +PACKAGECONFIG[sqlite] = "--with-sqlite,--without-sqlite,sqlite3,"
>
> -WITH_CRYPTO = "--with-beecrypt --with-openssl --without-nss --without-gcrypt"
> +PACKAGECONFIG[beecrypt] = "--with-beecrypt,--without-beecrypt,beecrypt,"
> +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
> +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss,"
> +PACKAGECONFIG[gcrypt] = "--with-gcrypt,--without-gcrypt,gcrypt,"
> +PACKAGECONFIG[keyutils] = "--with-keyutils,--without-keyutils,keyutils,"
> +PACKAGECONFIG[libelf] = "--with-libelf,--without-libelf,elfutils,"
>
> -WITH_KEYUTILS = "--without-keyutils"
> -WITH_LIBELF = "--with-libelf"
> -WITH_SELINUX = "--without-selinux --without-sepol --without-semanage"
> -#WITH_NEON = "--with-neon=internal --without-libproxy --with-expat --without-gssapi"
> -WITH_NEON = "--without-neon --without-libproxy --without-expat --without-gssapi"
> +WITH_SELINUX = "--with-selinux --with-sepol --with-semanage"
> +WITHOUT_SELINUX = "--without-selinux --without-sepol --without-semanage"
> +PACKAGECONFIG[selinux] = "${WITH_SELINUX},${WITHOUT_SELINUX},selinux,"
>
> -EXTRA_OECONF = "--verbose \
> +WITH_NEON = "--with-neon --with-libproxy --with-expat --without-gssapi"
> +WITHOUT_NEON = "--without-neon --without-libproxy --without-expat --without-gssapi"
> +PACKAGECONFIG[neon] = "${WITH_NEON},${WITHOUT_NEON},neon,"
> +
> +PACKAGECONFIG[lua] = "--with-lua,--without-lua,"
> +PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl,"
> +
> +PACAKGECONFIG[augeas] = "--with-augeas,--without-augeas,augeas,"
> +
> +EXTRA_OECONF += "--verbose \
>   		--sysconfdir=/etc \
> -		${WITH_DB} \
> -		${WITH_Z} \
>   		--with-file \
>   		--with-path-magic=%{_usrlibrpm}/../../share/misc/magic.mgc \
> -		--without-lua \
> -		--without-tcl \
>   		--with-syck=internal \
>   		--without-readline \
> -		--without-augeas \
> -		${WITH_CRYPTO} \
>   		--without-libtasn1 \
>   		--without-pakchois \
>   		--without-gnutls \
> -		${WITH_NEON} \
>   		--with-pcre \
>   		--enable-utf8 \
>   		--without-uuid \
>   		--with-attr \
>   		--with-acl \
> -		--without-xar \
>   		--with-popt=external \
> -		${WITH_KEYUTILS} \
>   		--with-pthreads \
> -		${WITH_LIBELF} \
>   		--without-cudf \
>   		--without-ficl \
>   		--without-aterm \
> @@ -146,14 +156,11 @@ EXTRA_OECONF = "--verbose \
>   		--without-rc \
>   		--without-js \
>   		--without-gpsee \
> -		${WITH_PYTHON} \
> -		${WITH_PERL} \
>   		--without-ruby \
>   		--without-squirrel \
>   		--with-build-extlibdep \
>   		--with-build-maxextlibdep \
>   		--without-valgrind \
> -                --without-xz \
>   		--disable-openmp \
>   		--enable-build-pic \
>   		--enable-build-versionscript \
> @@ -165,7 +172,7 @@ EXTRA_OECONF = "--verbose \
>   		--with-bugreport=http://bugzilla.yoctoproject.org \
>   		--program-prefix="
>
> -CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY"
> +CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE"
>
>   PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-dbg python-rpm-staticdev python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale"
>
> @@ -173,7 +180,7 @@ SOLIBS = "5.4.so"
>
>   # Based on %files section in the rpm.spec
>
> -FILES_${PN} = "${bindir}/rpm \
> +FILES_${PN} =  "${bindir}/rpm \
>   		${bindir}/rpmconstant \
>   		${libdir}/rpm/rpm.* \
>   		${libdir}/rpm/tgpg \
> @@ -191,15 +198,10 @@ FILES_${PN} = "${bindir}/rpm \
>   		${libdir}/rpm/bin/rpmspecdump \
>   		${libdir}/rpm/bin/wget \
>   		/var/lib/rpm \
> +		/var/cache/rpm \
> +		/var/volatile/cache/rpm \
>   		"
>
> -#		${libdir}/rpm/magic
> -#		${libdir}/rpm/magic.mgc
> -#		${libdir}/rpm/magic.mime
> -#		${libdir}/rpm/magic.mime.mgc
> -#		${libdir}/rpm/bin/db_*
> -#		${libdir}/rpm/bin/grep
> -
>   FILES_${PN}-dbg += "${libdir}/rpm/.debug \
>   		${libdir}/rpm/bin/.debug \
>   		"
> @@ -218,12 +220,6 @@ FILES_${PN}-libs = "${libdir}/librpm-*.so \
>   		${libdir}/librpmbuild-*.so \
>   		"
>
> -###%{_rpmhome}/lib/libxar.so.*
> -###%{_rpmhome}/lib/libjs.so.*
> -###%{_rpmhome}/lib/librpmjsm.so.*
> -###%{_rpmhome}/lib/rpmjsm.so
> -
> -
>   FILES_${PN}-build = "${prefix}/src/rpm \
>   		${bindir}/rpmbuild \
>   		${libdir}/rpm/brp-* \
> @@ -269,8 +265,6 @@ FILES_${PN}-build = "${prefix}/src/rpm \
>   		${libdir}/rpm/bin/rpmlua \
>   		${libdir}/rpm/bin/rpmluac \
>   		${libdir}/rpm/bin/sqlite3 \
> -		${libdir}/rpm/lib/liblua.a \
> -		${libdir}/rpm/lib/liblua.la \
>   		${libdir}/rpm/macros.d/cmake \
>   		${libdir}/rpm/macros.d/java \
>   		${libdir}/rpm/macros.d/libtool \
> @@ -291,9 +285,6 @@ FILES_${PN}-build = "${prefix}/src/rpm \
>   		"
>   RDEPENDS_${PN}-build = "file"
>
> -#%rpmattr       %{_rpmhome}/gem_helper.rb
> -#%rpmattr       %{_rpmhome}/symclash.*
> -
>   FILES_python-rpm-dbg = "${libdir}/python*/rpm/.debug/_*"
>   FILES_python-rpm-staticdev = "${libdir}/python*/rpm/*.a"
>   FILES_python-rpm = "${libdir}/python*/rpm"
> @@ -317,6 +308,7 @@ FILES_${PN}-dev = "${includedir}/rpm \
>   		${libdir}/librpmmisc.so \
>   		${libdir}/librpmbuild.la \
>   		${libdir}/librpmbuild.so \
> +		${libdir}/rpm/lib/liblua.la \
>   		${libdir}/pkgconfig/rpm.pc \
>   		"
>
> @@ -327,25 +319,17 @@ FILES_${PN}-staticdev = " \
>   		${libdir}/librpmio.a \
>   		${libdir}/librpmmisc.a \
>   		${libdir}/librpmbuild.a \
> +		${libdir}/rpm/lib/liblua.a \
>   		"
>
> -###%{_rpmhome}/lib/libxar.a
> -###%{_rpmhome}/lib/libxar.la
> -###%{_rpmhome}/lib/libxar.so
> -###%{_rpmhome}/lib/libjs.a
> -###%{_rpmhome}/lib/libjs.la
> -###%{_rpmhome}/lib/libjs.so
> -###%{_rpmhome}/lib/librpmjsm.a
> -###%{_rpmhome}/lib/librpmjsm.la
> -###%{_rpmhome}/lib/librpmjsm.so
> -
>   do_configure() {
>   	# Disable tests!
> -	echo "all:">  tests/Makefile.am
> +	#echo "all:">  tests/Makefile.am
>
>   	./autogen.sh
>
>   	export varprefix=${localstatedir}
> +	export CC_FOR_BUILD="${BUILD_CC}"
>   	oe_runconf
>   }
>
> @@ -422,6 +406,8 @@ do_install_append() {
>   	rm -f ${D}/${libdir}/rpm/bin/dbconvert
>   	rm -f ${D}/${libdir}/rpm/bin/pom2spec
>
> +	rm -rf ${D}/var/lib/wdj ${D}/var/cache/wdj
> +	rm -f ${D}/usr/lib/rpm/bin/api-sanity-checker.pl
>   }
>
>   do_install_append_virtclass-native() {
> diff --git a/meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch b/meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
> new file mode 100644
> index 0000000..8268a2d
> --- /dev/null
> +++ b/meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
> @@ -0,0 +1,28 @@
> +commit 6c47ad415246cc3a3edac2e1637106d330574c85
> +Author: Mark Hatle<mark.hatle at windriver.com>
> +Date:   Fri May 11 19:05:09 2012 -0500
> +
> +    RpmHeader.cc: RPM 5.4.9 integration
> +
> +    _RPMVSF_xxx - NODIGEST, NOSIGNATURES, NOHEADER, and NOPAYLOAD
> +    are now obsolete and no longer supported.
> +
> +    Signed-off-by: Mark Hatle<mark.hatle at windriver.com>
> +
> +diff --git a/zypp/target/rpm/RpmHeader.cc b/zypp/target/rpm/RpmHeader.cc
> +index 1224ecd..c96dae6 100644
> +--- a/zypp/target/rpm/RpmHeader.cc
> ++++ b/zypp/target/rpm/RpmHeader.cc
> +@@ -230,10 +230,12 @@ RpmHeader::constPtr RpmHeader::readPackage( const Pathname&  path_r,
> +   librpmDb::globalInit();
> +   rpmts ts = ::rpmtsCreate();
> +   unsigned vsflag = RPMVSF_DEFAULT;
> ++#if !defined(_RPM_5)
> +   if ( verification_r&  NODIGEST )
> +     vsflag |= _RPMVSF_NODIGESTS;
> +   if ( verification_r&  NOSIGNATURE )
> +     vsflag |= _RPMVSF_NOSIGNATURES;
> ++#endif
> +   ::rpmtsSetVSFlags( ts, rpmVSFlags(vsflag) );
> +
> +   Header nh = 0;
> diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
> index 3c3a9f0..c5761d5 100644
> --- a/meta/recipes-extended/libzypp/libzypp_git.bb
> +++ b/meta/recipes-extended/libzypp/libzypp_git.bb
> @@ -11,7 +11,7 @@ DEPENDS  = "rpm boost curl libxml2 zlib sat-solver expat openssl udev libproxy"
>   S = "${WORKDIR}/git"
>   SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
>   PV = "0.0-git${SRCPV}"
> -PR = "r20"
> +PR = "r21"
>
>   SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
>              file://no-doc.patch \
> @@ -23,6 +23,7 @@ SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
>   	   file://fix_for_compile_wth_gcc-4.6.0.patch \
>   	   file://hardcode-lib-fix.patch \
>   	   file://close.patch \
> +	   file://libzypp-rpm549.patch \
>             "
>
>   SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"




More information about the Openembedded-core mailing list