<br><br>On Monday, June 11, 2012, Mark Hatle <<a href="mailto:mark.hatle@windriver.com">mark.hatle@windriver.com</a>> wrote:<br>> Beside upreving RPM, add necessary integration pathces to libzypp.<br><br>Typo there I guess you wanted "patches" there<br>
<br><br>><br>> Also change the configuration of RPM to support PACKAGECONFIG flags.<br>> RPM is highly configurable, the default configuration is good for<br>> minimal OE-Core use.<br>><br>> Signed-off-by: Mark Hatle <<a href="mailto:mark.hatle@windriver.com">mark.hatle@windriver.com</a>><br>
> ---<br>> meta/recipes-devtools/rpm/rpm/rpm-lua.patch | 29 +++++<br>> .../rpm/rpm/rpm-scriptletexechelper.patch | 33 +++---<br>> meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch | 26 ++---<br>
> .../rpm/{<a href="http://rpm_5.4.8.bb">rpm_5.4.8.bb</a> => <a href="http://rpm_5.4.9.bb">rpm_5.4.9.bb</a>} | 122 +++++++++-----------<br>> .../libzypp/libzypp/libzypp-rpm549.patch | 28 +++++<br>
> meta/recipes-extended/libzypp/<a href="http://libzypp_git.bb">libzypp_git.bb</a> | 3 +-<br>> 6 files changed, 141 insertions(+), 100 deletions(-)<br>> create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-lua.patch<br>
> rename meta/recipes-devtools/rpm/{<a href="http://rpm_5.4.8.bb">rpm_5.4.8.bb</a> => <a href="http://rpm_5.4.9.bb">rpm_5.4.9.bb</a>} (82%)<br>> create mode 100644 meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch<br>
><br>> diff --git a/meta/recipes-devtools/rpm/rpm/rpm-lua.patch b/meta/recipes-devtools/rpm/rpm/rpm-lua.patch<br>> new file mode 100644<br>> index 0000000..980e1b1<br>> --- /dev/null<br>> +++ b/meta/recipes-devtools/rpm/rpm/rpm-lua.patch<br>
> @@ -0,0 +1,29 @@<br>> +Add support for cross compiling lua<br>> +<br>> +Signed-off-by: Mark Hatle <<a href="mailto:mark.hatle@windriver.com">mark.hatle@windriver.com</a>><br>> +<br>> +diff -ur rpm-5.4.9.orig/<a href="http://configure.ac">configure.ac</a> rpm-5.4.9/<a href="http://configure.ac">configure.ac</a><br>
> +--- rpm-5.4.9.orig/<a href="http://configure.ac">configure.ac</a> 2012-05-16 12:16:36.589813548 -0500<br>> ++++ rpm-5.4.9/<a href="http://configure.ac">configure.ac</a> 2012-05-16 12:26:01.070813518 -0500<br>
> +@@ -120,6 +120,9 @@<br>> +<br>> + AC_PATH_PROG(AS, as, as)<br>> +<br>> ++CC_FOR_BUILD=${CC_FOR_BUILD-\$(CC)}<br>> ++AC_SUBST(CC_FOR_BUILD)<br>> ++<br>> + dnl # GCC specifics<br>> + AC_PROG_GCC_TRADITIONAL<br>
> + AC_ARG_ENABLE(build-pic,<br>> +diff -ur rpm-5.4.9.orig/lua/Makefile.am rpm-5.4.9/lua/Makefile.am<br>> +--- rpm-5.4.9.orig/lua/Makefile.am 2012-04-07 19:15:25.000000000 -0500<br>> ++++ rpm-5.4.9/lua/Makefile.am 2012-05-16 12:26:19.556856688 -0500<br>
> +@@ -40,7 +40,7 @@<br>> +<br>> + # --- bin2c doesn't need anything but a compiler<br>> + bin2c$(EXEEXT): bin2c.c<br>> +- $(CC) -o $@ $<<br>> ++ $(CC_FOR_BUILD) -o $@ $<<br>> +<br>
> + liblua_la_SOURCES =<br>> + liblua_la_CFLAGS = @WITH_LUA_SUBDIR_DEF@<br>> diff --git a/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch b/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch<br>
> index e4db0e4..8a9e712 100644<br>> --- a/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch<br>> +++ b/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch<br>> @@ -12,10 +12,11 @@ Upstream-Status: Pending<br>
><br>> Signed-off-by: Mark Hatle <<a href="mailto:mark.hatle@windriver.com">mark.hatle@windriver.com</a>><br>><br>> -diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>> ---- rpm-5.4.0.orig/lib/psm.c 2010-12-29 07:42:11.000000000 -0600<br>
> -+++ rpm-5.4.0/lib/psm.c 2011-11-08 13:38:48.132791154 -0600<br>> -@@ -792,6 +792,10 @@<br>> +Index: rpm-5.4.9/lib/psm.c<br>> +===================================================================<br>> +--- rpm-5.4.9.orig/lib/psm.c<br>
> ++++ rpm-5.4.9/lib/psm.c<br>> +@@ -801,6 +801,10 @@ static rpmRC runScript(rpmpsm psm, Heade<br>> int xx;<br>> int i;<br>><br>> @@ -26,23 +27,23 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>
> if (psm->sstates != NULL && ix >= 0 && ix < RPMSCRIPT_MAX)<br>> ssp = psm->sstates + ix;<br>> if (ssp != NULL)<br>> -@@ -858,14 +862,29 @@<br>> +@@ -867,14 +871,29 @@ assert(he->p.str != NULL);<br>
> (F_ISSET(psm, UNORDERED) ? "a" : ""));<br>><br>> if (Phe->p.argv == NULL) {<br>> -- argv = alloca(5 * sizeof(*argv));<br>> +- argv = (const char **) alloca(5 * sizeof(*argv));<br>
> - argv[0] = "/bin/sh";<br>> - argc = 1;<br>> -+ argv = alloca(7 * sizeof(*argv));<br>> ++ argv = (const char **) alloca(7 * sizeof(*argv));<br>> + argc = 0;<br>> + } else {<br>
> -+ argv = alloca((Phe->c + 6) * sizeof(*argv));<br>> ++ argv = (const char **) alloca((Phe->c + 6) * sizeof(*argv));<br>> + argc = 0;<br>> + }<br>> +<br>> +#ifdef RPM_VENDOR_POKY<br>
> + if (scriptletWrapper && *scriptletWrapper) {<br>> -+ argv[argc++] = scriptletWrapper;<br>> ++ argv[argc++] = scriptletWrapper;<br>> + argv[argc] = rpmtsRootDir(ts);<br>> + if (!argv[argc] || !*argv[argc])<br>
> + argv[argc] = "/";<br>> @@ -51,10 +52,10 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>> +#endif<br>> +<br>> + if (Phe->p.argv == NULL) {<br>> -+ argv[argc++] = "/bin/sh";<br>
> ++ argv[argc++] = "/bin/sh";<br>> ldconfig_done = 0;<br>> } else {<br>> -- argv = alloca((Phe->c + 4) * sizeof(*argv));<br>> +- argv = (const char **) alloca((Phe->c + 4) * sizeof(*argv));<br>
> - memcpy(argv, Phe->p.argv, Phe->c * sizeof(*argv));<br>> - argc = Phe->c;<br>> + memcpy((argv + argc), Phe->p.argv, Phe->c * sizeof(*argv));<br>> @@ -62,7 +63,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>
> ldconfig_done = (ldconfig_path && !strcmp(argv[0], ldconfig_path)<br>> ? 1 : 0);<br>> }<br>> -@@ -916,7 +935,12 @@<br>> +@@ -925,7 +944,12 @@ assert(he->p.str != NULL);<br>
> goto exit;<br>><br>> if (rpmIsDebug() &&<br>> @@ -76,7 +77,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>> {<br>> static const char set_x[] = "set -x\n";<br>
> nw = Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd);<br>> -@@ -1051,12 +1075,22 @@<br>> +@@ -1060,12 +1084,22 @@ assert(he->p.str != NULL);<br>><br>> { const char * rootDir = rpmtsRootDir(ts);<br>
> if (!rpmtsChrootDone(ts) && rootDir != NULL &&<br>> @@ -99,7 +100,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>> xx = Chdir("/");<br>> rpmlog(RPMLOG_DEBUG, D_("%s: %s(%s)\texecv(%s) pid %d\n"),<br>
> psm->stepName, sln, NVRA,<br>> -@@ -2961,6 +2995,13 @@<br>> +@@ -2977,6 +3011,13 @@ assert(psm->te != NULL);<br>> case PSM_SCRIPT: /* Run current package scriptlets. */<br>
> /* XXX running %verifyscript/%sanitycheck doesn't have psm->te */<br>> { rpmtxn _parent = (psm && psm->te ? psm->te->txn : NULL);<br>> @@ -113,7 +114,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>
> xx = rpmtxnBegin(rpmtsGetRdb(ts), _parent, NULL);<br>> rc = runInstScript(psm);<br>> if (rc)<br>> -@@ -2968,11 +3009,24 @@<br>> +@@ -2984,11 +3025,24 @@ assert(psm->te != NULL);<br>
> else<br>> xx = rpmtxnCommit(rpmtsGetRdb(ts)->db_txn);<br>> rpmtsGetRdb(ts)->db_txn = NULL;<br>> @@ -138,7 +139,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c<br>> break;<br>
> case PSM_IMMED_TRIGGERS:<br>> /* Run triggers in this package other package(s) set off. */<br>> -@@ -2982,7 +3036,18 @@<br>> +@@ -2998,7 +3052,18 @@ assert(psm->te != NULL);<br>> F_SET(psm, GOTTRIGGERS);<br>
> }<br>> if (psm->triggers != NULL)<br>> diff --git a/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch b/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch<br>> index 1667901..f29866b 100644<br>
> --- a/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch<br>> +++ b/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch<br>> @@ -16,20 +16,20 @@ RP 2012/2/7<br>> 2 files changed, 152 insertions(+), 1 deletions(-)<br>
> create mode 100644 tools/rpmdeps-oecore.c<br>><br>> -diff --git a/tools/Makefile.am b/tools/Makefile.am<br>> -index f520843..2eba9bf 100644<br>> ---- a/tools/Makefile.am<br>> -+++ b/tools/Makefile.am<br>
> +Index: rpm-5.4.9/tools/Makefile.am<br>> +===================================================================<br>> +--- rpm-5.4.9.orig/tools/Makefile.am<br>> ++++ rpm-5.4.9/tools/Makefile.am<br>> @@ -58,7 +58,7 @@ pkgbin_PROGRAMS = \<br>
> @WITH_AUGEAS_AUGTOOL@ chroot cp @WITH_CUDF_CUDFTOOL@ find mtree \<br>> @WITH_SEMANAGE_SEMODULE@ wget \<br>> rpmcache rpmdigest rpmrepo rpmspecdump \<br>> - rpmcmp rpmdeps sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@<br>
> + rpmcmp rpmdeps rpmdeps-oecore sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@<br>> - dist_man_MANS = rpmgrep.1<br>> -<br>> - augtool_SOURCES = augtool.c<br>> -@@ -155,6 +155,10 @@ rpmdeps_SOURCES = rpmdeps.c<br>
> + if WITH_DB<br>> + pkgbin_PROGRAMS += dbconvert<br>> + endif<br>> +@@ -168,6 +168,10 @@ rpmdeps_SOURCES = rpmdeps.c<br>> rpmdeps_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS)<br>> rpmdeps_LDADD = $(RPM_LDADD_COMMON)<br>
><br>> @@ -40,11 +40,10 @@ index f520843..2eba9bf 100644<br>> rpmdigest_SOURCES = rpmdigest.c<br>> rpmdigest_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS)<br>> rpmdigest_LDADD = $(RPMIO_LDADD_COMMON)<br>
> -diff --git a/tools/rpmdeps-oecore.c b/tools/rpmdeps-oecore.c<br>> -new file mode 100644<br>> -index 0000000..e646da9<br>> +Index: rpm-5.4.9/tools/rpmdeps-oecore.c<br>> +===================================================================<br>
> --- /dev/null<br>> -+++ b/tools/rpmdeps-oecore.c<br>> ++++ rpm-5.4.9/tools/rpmdeps-oecore.c<br>> @@ -0,0 +1,147 @@<br>> +#include "system.h"<br>> +const char *__progname;<br>> @@ -193,6 +192,3 @@ index 0000000..e646da9<br>
> + optCon = rpmcliFini(optCon);<br>> + return ec;<br>> +}<br>> ---<br>> -1.7.4.1<br>> -<br>> diff --git a/meta/recipes-devtools/rpm/<a href="http://rpm_5.4.8.bb">rpm_5.4.8.bb</a> b/meta/recipes-devtools/rpm/<a href="http://rpm_5.4.9.bb">rpm_5.4.9.bb</a><br>
> similarity index 82%<br>> rename from meta/recipes-devtools/rpm/<a href="http://rpm_5.4.8.bb">rpm_5.4.8.bb</a><br>> rename to meta/recipes-devtools/rpm/<a href="http://rpm_5.4.9.bb">rpm_5.4.9.bb</a><br>> index ac86ff3..6eba802 100644<br>
> --- a/meta/recipes-devtools/rpm/<a href="http://rpm_5.4.8.bb">rpm_5.4.8.bb</a><br>> +++ b/meta/recipes-devtools/rpm/<a href="http://rpm_5.4.9.bb">rpm_5.4.9.bb</a><br>> @@ -42,14 +42,12 @@ HOMEPAGE = "<a href="http://rpm5.org/">http://rpm5.org/</a>"<br>
> LICENSE = "LGPLv2.1"<br>> LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"<br>><br>> -DEPENDS = "beecrypt bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}"<br>
> -extrarpmdeps = "python perl file"<br>> -extrarpmdeps_virtclass-native = "python-native file-native"<br>> -PR = "r39"<br>> +DEPENDS = "libpcre attr acl popt file"<br>> +PR = "r40"<br>
><br>> # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed<br>> # in order to extract the distribution SRPM into a format we can extract...<br>> -SRC_URI = "<a href="http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;extract=rpm-5.4.8.tar.gz">http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;extract=rpm-5.4.8.tar.gz</a> \<br>
> +SRC_URI = "<a href="http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;extract=rpm-5.4.9.tar.gz">http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;extract=rpm-5.4.9.tar.gz</a> \<br>
> file://rpm-log-auto-rm.patch \<br>> file://rpm-db-reduce.patch \<br>> file://perfile_rpmdeps.sh \<br>> @@ -70,10 +68,11 @@ SRC_URI = "<a href="http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;ex">http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;ex</a><br>
> file://rpm-respect-arch.patch \<br>> file://rpm-no-perl-urpm.patch \<br>> file://rpm-macros.patch \<br>> + file://rpm-lua.patch \<br>> "<br>><br>> -SRC_URI[md5sum] = "424b60bf2e0a624a218440d943861644"<br>
> -SRC_URI[sha256sum] = "56eb5033d4de98c217475fb34d466d551f8912959389e7854a806e2bd9e13380"<br>> +SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"<br>> +SRC_URI[sha256sum] = "bac7cc5bd9d0e8262fdc0099349924608da8f680f5cb243751f696552239dde8"<br>
><br>> inherit autotools gettext<br>><br>> @@ -83,63 +82,74 @@ acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"<br>> rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros"<br>
> rpm_macros_virtclass-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"<br>><br>> -# Configure values taken from rpm.spec<br>> -WITH_BZIP2 = "--with-bzip2"<br>
> +# sqlite lua tcl augeas nss gcrypt neon xz xar keyutils perl selinux<br>><br>> -WITH_XZ = "--with-xz=none"<br>> +# Note: perl and sqlite w/o db specified does not currently work.<br>> +# tcl, augeas, nss, gcrypt, xar and keyutils support is untested.<br>
> +PACKAGECONFIG_virtclass-native ??= "db bzip2 zlib beecrypt openssl libelf python"<br>> +PACKAGECONFIG ??= "db bzip2 zlib beecrypt openssl libelf python"<br>><br>> -WITH_Z = "--with-zlib $WITH_BZIP2 $WITH_XZ"<br>
> +PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2,"<br>> +PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz,"<br>> +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"<br>
> +PACKAGECONFIG[xar] = "--with-xar,--without-xar,xar,"<br>><br>> -WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \<br>> +WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \<br>
> --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \<br>> --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \<br>> - --without-pythonembed \<br>
> - "<br>> + --without-pythonembed"<br>> +PACKAGECONFIG[python] = "${WITH_PYTHON},--without-python,python,"<br>><br>> # Perl modules are not built, but they could be enabled fairly easily<br>
> # the perl module creation and installation would need to be patched.<br>> # (currently has host perl contamination issues)<br>> -#WITH_PERL = " --with-perl --without-perlembed"<br>> -WITH_PERL = " --without-perl --without-perl-urpm"<br>
> +WITH_PERL = "--with-perl --without-perlembed --without-perl-urpm"<br>> +WITHOUT_PERL = "--without-perl --without-perl-urpm"<br>> +PACKAGECONFIG[perl] = "${WITH_PERL},${WITHOUT_PERL},perl,"<br>
><br>> -WITH_PERL_virtclass-native = " --without-perl --without-perl-urpm"<br>> +# The --with-dbsql will only tell RPM to check for support, db<br>> +# may or may not be built w/ the dbsql support.<br>
> +WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated"<br>> +PACKAGECONFIG[db] = "${WITH_DB},--without-db,db,"<br>><br>> -WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated --without-sqlite"<br>
> +PACKAGECONFIG[sqlite] = "--with-sqlite,--without-sqlite,sqlite3,"<br>><br>> -WITH_CRYPTO = "--with-beecrypt --with-openssl --without-nss --without-gcrypt"<br>> +PACKAGECONFIG[beecrypt] = "--with-beecrypt,--without-beecrypt,beecrypt,"<br>
> +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"<br>> +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss,"<br>> +PACKAGECONFIG[gcrypt] = "--with-gcrypt,--without-gcrypt,gcrypt,"<br>
> +PACKAGECONFIG[keyutils] = "--with-keyutils,--without-keyutils,keyutils,"<br>> +PACKAGECONFIG[libelf] = "--with-libelf,--without-libelf,elfutils,"<br>><br>> -WITH_KEYUTILS = "--without-keyutils"<br>
> -WITH_LIBELF = "--with-libelf"<br>> -WITH_SELINUX =--<br>> 1.7.3.4<br>><br>><br>> _______________________________________________<br>> Openembedded-core mailing list<br>> <a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>
> <a href="http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core">http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core</a><br>>