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

Mark Hatle mark.hatle at windriver.com
Thu May 24 19:01:11 UTC 2012


On 5/23/12 6:14 PM, Saul Wold wrote:
> 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.

I made one last minute change, which didn't fail here.. but I wonder if it's the 
problem.  Can you go into the rpm recipe, do_configure, and remove the comment...

do_configure() {
         # Disable tests!
         #echo "all:" > tests/Makefile.am

         ./autogen.sh

...on the echo "all:" line?  I'm wondering if the tests are activating and it's 
attempting to do remote network access to test various things.

--Mark

> 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