Uprev RPM to 5.4.9
v2 cover Uprev RPM to 5.4.9
Berkley DB also gets upreved, and a new package ossp-uuid gets added to the system.
This was -heavily- tested with and without zypper on IA, and PPC.
In addition a minor performance enhancement with a query operation was added.
The uprev also adds the capability of using PACKAGECONFIG settings to tailor the behavior of RPM.
V2 changes:
Fix a problem with libuuid.so from util-linux would sometimes be linked into the binary.
Also force libzypp, sat-solver and zypper to refresh via a PR bump.
The following changes since commit 7163ebd92a799b8f000b2b6f303b20de468b5f90:
Revert "kmod: Use base_libdir for installing libkmod" (2012-05-17 21:12:33 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib mhatle/rpm
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpm
Mark Hatle (5):
rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)
rpm: Upgrade RPM to 5.4.9
ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration
package_rpm: Add capability to directly query packageorigin
rpm: Bump PR numbers on componnets that require RPM
meta/classes/package_rpm.bbclass | 18 +-
meta/classes/rootfs_rpm.bbclass | 22 +-
.../ossp-uuid/0001-Change-library-name.patch | 112 +++++
...erve-m-option-status-in-v-option-handling.patch | 55 +++
.../ossp-uuid/0003-Fix-whatis-entries.patch | 51 +++
.../ossp-uuid/0004-fix-data-uuid-from-string.patch | 36 ++
.../ossp-uuid/ossp-uuid/uuid-libtool.patch | 24 +
.../ossp-uuid/ossp-uuid/uuid-nostrip.patch | 16 +
meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb | 58 +++
.../rpm/rpm/fix_for_automake_1.11.2.patch | 54 ---
.../rpm/rpm/fprint-pointer-fix.patch | 35 --
.../rpm/rpm/remove-compiled-tests.patch | 443 --------------------
meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch | 22 -
meta/recipes-devtools/rpm/rpm/rpm-autogen.patch | 41 +--
meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch | 16 +-
.../recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch | 12 +-
meta/recipes-devtools/rpm/rpm/rpm-lua.patch | 29 ++
.../rpm/rpm/rpm-no-perl-urpm.patch | 43 ++
meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch | 36 --
meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch | 20 +
.../rpm/rpm/rpm-packageorigin.patch | 23 +
.../rpm/rpm/rpm-scriptletexechelper.patch | 33 +-
meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch | 26 +-
.../rpm/{rpm_5.4.0.bb => rpm_5.4.9.bb} | 159 ++++----
.../libzypp/libzypp/libzypp-rpm549.patch | 28 ++
meta/recipes-extended/libzypp/libzypp_git.bb | 3 +-
meta/recipes-extended/sat-solver/sat-solver_git.bb | 2 +-
meta/recipes-extended/zypper/zypper_git.bb | 2 +-
.../db/{db_5.1.19.bb => db_5.3.15.bb} | 8 +-
29 files changed, 653 insertions(+), 774 deletions(-)
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb
delete mode 100644 meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-lua.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch
rename meta/recipes-devtools/rpm/{rpm_5.4.0.bb => rpm_5.4.9.bb} (76%)
create mode 100644 meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
rename meta/recipes-support/db/{db_5.1.19.bb => db_5.3.15.bb} (93%)Signature · 1 line
1.7.3.4
PATCH v2 1/5 rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)
RPM 5.4.8 requires db 5.3.x, so both are upgraded together.
---
meta/classes/rootfs_rpm.bbclass | 22 +-
.../rpm/rpm/fix_for_automake_1.11.2.patch | 54 ---
.../rpm/rpm/fprint-pointer-fix.patch | 35 --
.../rpm/rpm/remove-compiled-tests.patch | 443 --------------------
meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch | 22 -
meta/recipes-devtools/rpm/rpm/rpm-autogen.patch | 41 +--
meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch | 16 +-
.../recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch | 12 +-
.../rpm/rpm/rpm-no-perl-urpm.patch | 43 ++
meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch | 36 --
.../rpm/{rpm_5.4.0.bb => rpm_5.4.8.bb} | 43 ++-
.../db/{db_5.1.19.bb => db_5.3.15.bb} | 8 +-
12 files changed, 106 insertions(+), 669 deletions(-)
delete mode 100644 meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch
create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch
delete mode 100644 meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
rename meta/recipes-devtools/rpm/{rpm_5.4.0.bb => rpm_5.4.8.bb} (91%)
rename meta/recipes-support/db/{db_5.1.19.bb => db_5.3.15.bb} (93%)meta/classes/rootfs_rpm.bbclass +12 -10
@@ -66,24 +66,26 @@ fakeroot rootfs_rpm_do_rootfs () { touch ${INSTALL_ROOTFS_RPM}${rpmlibdir}/log/log.0000000001 cat > ${INSTALL_ROOTFS_RPM}${rpmlibdir}/DB_CONFIG << EOF # ================ Environment -set_data_dir . -set_create_dir . -set_lg_dir ./log -set_tmp_dir ./tmp +set_data_dir . +set_create_dir . +set_lg_dir ./log +set_tmp_dir ./tmp +set_flags db_log_autoremove on # -- thread_count must be >= 8 -set_thread_count 64 +set_thread_count 64 # ================ Logging # ================ Memory Pool -set_mp_mmapsize 268435456 +set_cachesize 0 1048576 0 +set_mp_mmapsize 268435456 # ================ Locking -set_lk_max_locks 16384 -set_lk_max_lockers 16384 -set_lk_max_objects 16384 -mutex_set_max 163840 +set_lk_max_locks 16384 +set_lk_max_lockers 16384 +set_lk_max_objects 16384 +mutex_set_max 163840 # ================ Replication EOF
meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch deleted +0 -54
54 lines not on this page · raw message
meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch deleted +0 -35
@@ -1,35 +0,0 @@ -Upstream-Status: Submitted - -From: Qing He <[email protected]> -Subject: [PATCH] rpm 5.4.0: Fix pointer mishandling - -In fpLookupSubdir, data returned by hash should be of type -"struct rpmffi_s **" instead of "struct rpmffi_s *" to avoid -segfault. - -Signed-off-by: Qing He <[email protected]> - -diff --git a/rpmdb/fprint.c b/rpmdb/fprint.c -index 0e76148..82b8f45 100644 ---- a/rpmdb/fprint.c -+++ b/rpmdb/fprint.c -@@ -333,7 +333,7 @@ restart: - *te = '\0'; - - while (te < se) { -- struct rpmffi_s * recs; -+ struct rpmffi_s ** recs; - int numRecs; - int i; - -@@ -346,8 +346,8 @@ restart: - const char * link; - int fx; - -- fx = recs[i].fileno; -- fi = recs[i].p->fi; -+ fx = recs[i]->fileno; -+ fi = recs[i]->p->fi; - flink = fi->flinks[fx]; - if (!(flink && *flink != '\0')) - continue;
meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch deleted +0 -443
443 lines not on this page · raw message
meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch deleted +0 -22
@@ -1,22 +0,0 @@ -Using the version of autoconf in poky results in: - -configure.ac:11: error: m4_divert_push: cannot change diversion to `GROW' inside m4_expand - -without this patch. - -Upstream-Status: Pending - -Signed-off-by: Mark Hatle <[email protected]> - -diff -ur rpm-5.1.10.orig/configure.ac rpm-5.1.10/configure.ac ---- rpm-5.1.10.orig/configure.ac 2010-08-20 17:12:16.000000000 -0500 -+++ rpm-5.1.10/configure.ac 2010-09-03 11:34:44.722097327 -0500 -@@ -8,7 +8,7 @@ - - AC_PREREQ(2.60) - AC_DEFUN([PACKAGE_BUGREPORT_DEFAULT], [[email protected]]) --AC_INIT(rpm, [5.1.10], [PACKAGE_BUGREPORT_DEFAULT]) -+AC_INIT(rpm, [5.1.10]) - PACKAGE_TIMESTAMP="2008" dnl # YYYY[-MM[-DD[ HH[:MM]]]] - AC_MSG_TITLE([RPM Package Manager (RPM)], [$PACKAGE_VERSION]) -
meta/recipes-devtools/rpm/rpm/rpm-autogen.patch +5 -36
47 lines not on this page · raw message
meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch +8 -8
@@ -4,16 +4,16 @@ Change cache size to reduce the usage of disk space from 62MB to 26MB. Signed-off-by: Mei Lei <[email protected]> -diff --git a/rpmdb/DB_CONFIG.in b/rpmdb/DB_CONFIG.in -index e0b4689..b64e3a9 100644 ---- a/rpmdb/DB_CONFIG.in -+++ b/rpmdb/DB_CONFIG.in -@@ -29,7 +29,7 @@ set_thread_count 64 +Index: rpm-5.4.8/rpmdb/DB_CONFIG.in +=================================================================== +--- rpm-5.4.8.orig/rpmdb/DB_CONFIG.in ++++ rpm-5.4.8/rpmdb/DB_CONFIG.in +@@ -29,7 +29,7 @@ set_thread_count 64 # ================ Memory Pool #XXX initializing dbenv with set_cachesize has unimplemented prerequsites --#set_cachesize 0 1048576 0 -+set_cachesize 0 1048576 0 - set_mp_mmapsize 268435456 +-#set_cachesize 0 1048576 0 ++set_cachesize 0 1048576 0 + set_mp_mmapsize 268435456 # ================ Locking
meta/recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch +6 -6
@@ -5,11 +5,11 @@ diff --git a/rpmdb/DB_CONFIG.in b/rpmdb/DB_CONFIG.in index 8b94c94..e0b4689 100644 --- a/rpmdb/DB_CONFIG.in +++ b/rpmdb/DB_CONFIG.in -@@ -4,6 +4,7 @@ set_data_dir . - set_create_dir . - set_lg_dir ./log - set_tmp_dir ./tmp -+set_flags db_log_autoremove on +@@ -4,6 +4,7 @@ + set_create_dir . + set_lg_dir ./log + set_tmp_dir ./tmp ++set_flags db_log_autoremove on # -- thread_count must be >= 8 - set_thread_count 64 + set_thread_count 64
meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch new file +43 -0
43 lines not on this page · raw message
meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch deleted +0 -36
@@ -1,36 +0,0 @@ -Backport from RPM 5.4.1 CVS, disabled fsync. - -Upstream-Status: Backport - -Signed-off-by: Mark Hatle <[email protected]> - -diff -ur rpm-5.4.0.orig/CHANGES rpm-5.4.0/CHANGES ---- rpm-5.4.0.orig/CHANGES 2010-12-29 07:51:38.000000000 -0600 -+++ rpm-5.4.0/CHANGES 2011-02-15 20:54:27.021926840 -0600 -@@ -1,4 +1,5 @@ - 5.4.0 -> 5.4.1: -+ - jbj: remove fsync(2) after file install, its intolerably slow. - - 5.3.7 -> 5.4.0: - - jbj: remove markReplacedFiles. -diff -ur rpm-5.4.0.orig/lib/fsm.c rpm-5.4.0/lib/fsm.c ---- rpm-5.4.0.orig/lib/fsm.c 2009-12-10 12:52:18.000000000 -0600 -+++ rpm-5.4.0/lib/fsm.c 2011-02-15 20:55:04.372938221 -0600 -@@ -1017,7 +1017,17 @@ - (void) fsmNext(fsm, IOSM_NOTIFY); - } - -+#ifdef DYING -+/* Measurements from installing kernel-source package: -+ * +fsync -+ * total: 1 0.000000 MB 640.854524 secs -+ * +fdatasync -+ * total: 1 0.000000 MB 419.983200 secs -+ * w/o fsync/fdsatasync: -+ * total: 1 0.000000 MB 12.492918 secs -+ */ - xx = fsync(Fileno(fsm->wfd)); -+#endif - - if (st->st_size > 0 && (fsm->fdigest || fsm->digest)) { - void * digest = NULL;
meta/recipes-devtools/rpm/rpm_5.4.8.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.0.bb +28 -15
87 lines not on this page · raw message
meta/recipes-support/db/db_5.3.15.bb renamed from meta/recipes-support/db/db_5.1.19.bb +4 -4
@@ -14,15 +14,15 @@ HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" LICENSE = "Sleepycat" VIRTUAL_NAME ?= "virtual/db" CONFLICTS = "db3" -PR = "r4" +PR = "r5" SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.." -SRC_URI[md5sum] = "76fcbfeebfcd09ba0b4d96bfdf8d884d" -SRC_URI[sha256sum] = "0194d4ca9266ba1a1c0bfbc233b18bfd05f63163453c81ebcdfdc7112d5ac850" +SRC_URI[md5sum] = "5493fb5f7cc3915887c836b096f18773" +SRC_URI[sha256sum] = "4f4f7d548984dde3584fcda0e4f96901cb8bafb08033a7781aec64ef2ea1f579" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=86f9294f39f38ef9e89690bcd2320e7a" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=12cc3ff983ed4ecc6cc091370ee4dbc3" inherit autotools
Signature · 1 line
1.7.3.4
PATCH v2 2/5 rpm: Upgrade RPM to 5.4.9
In reply to Mark HatleBeside 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.
---
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.patchmeta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +29 -0
@@ -0,0 +1,29 @@ +Add support for cross compiling lua + +Signed-off-by: Mark Hatle <[email protected]> + +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@
meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch +17 -16
@@ -12,10 +12,11 @@ Upstream-Status: Pending Signed-off-by: Mark Hatle <[email protected]> -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)
meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch +11 -15
@@ -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 -
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +55 -69
251 lines not on this page · raw message
meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch new file +28 -0
@@ -0,0 +1,28 @@ +commit 6c47ad415246cc3a3edac2e1637106d330574c85 +Author: Mark Hatle <[email protected]> +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 <[email protected]> + +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;
meta/recipes-extended/libzypp/libzypp_git.bb +2 -1
@@ -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"
Signature · 1 line
1.7.3.4
Re: [PATCH 2/5 v2] rpm: Upgrade RPM to 5.4.9
Quoted 6 lines · Mark Hatle
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!
Quoted 536 lines
Signed-off-by Mark Hatle<[email protected]>--- 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.patchrename meta/recipes-devtools/rpm/{rpm_5.4.8.bb => rpm_5.4.9.bb} (82%) create mode 100644meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patchmeta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +29
-0@@ -0,0 +1,29 @@ +Add support for cross compiling lua + +Signed-off-by: Mark Hatle<[email protected]> + +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@meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch +17
-16@@ -12,10 +12,11 @@ Upstream-Status: Pending Signed-off-by: Mark Hatle<[email protected]> -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)meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch +11
-15@@ -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 -meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +55
-69@@ -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() {meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch new file +28
-0@@ -0,0 +1,28 @@ +commit 6c47ad415246cc3a3edac2e1637106d330574c85 +Author: Mark Hatle<[email protected]> +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<[email protected]> + +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;meta/recipes-extended/libzypp/libzypp_git.bb +2
-1@@ -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"
Re: [PATCH 2/5 v2] rpm: Upgrade RPM to 5.4.9
Quoted 7 lines · Saul Wold
Quoted 6 lines · Mark Hatle
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.
Quoted 7 lines
Mark,
I have been having an issue with the
do_installseeming 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
Quoted 538 lines
Sau!
Quoted 536 lines
Signed-off-by Mark Hatle<[email protected]>--- 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 100644meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patchmeta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +29
-0@@ -0,0 +1,29 @@ +Add support for cross compiling lua + +Signed-off-by: Mark Hatle<[email protected]> + +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@meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch +17
-16@@ -12,10 +12,11 @@ Upstream-Status: Pending Signed-off-by: Mark Hatle<[email protected]> -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)meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch +11
-15@@ -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 -meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +55
-69@@ -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() {meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch new file +28
-0@@ -0,0 +1,28 @@ +commit 6c47ad415246cc3a3edac2e1637106d330574c85 +Author: Mark Hatle<[email protected]> +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<[email protected]> + +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;meta/recipes-extended/libzypp/libzypp_git.bb +2
-1@@ -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"
PATCH v2 3/5 ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration
In reply to Mark HatleRPM 5.4.9 now strongly encourages you to have the ossp-uuid library available.
Add this recipe, and change RPM to use the uuid functionality.
--- .../ossp-uuid/0001-Change-library-name.patch | 112 ++++++++++++++++++++ ...erve-m-option-status-in-v-option-handling.patch | 55 ++++++++++ .../ossp-uuid/0003-Fix-whatis-entries.patch | 51 +++++++++ .../ossp-uuid/0004-fix-data-uuid-from-string.patch | 36 ++++++ .../ossp-uuid/ossp-uuid/uuid-libtool.patch | 24 ++++ .../ossp-uuid/ossp-uuid/uuid-nostrip.patch | 16 +++ meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb | 58 ++++++++++ meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch | 20 ++++ meta/recipes-devtools/rpm/rpm_5.4.9.bb | 11 ++- 9 files changed, 380 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patch create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patch create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch
meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch new file +112 -0
@@ -0,0 +1,112 @@ +From: Piotr Roszatycki <[email protected]> +Date: Wed, 27 Jan 2010 16:53:11 +0100 +Subject: [PATCH] Change library name + +The soname was changed to ossp-uuid to prevend the name clash with e2fsprogs's +uuid library. +--- + Makefile.in | 6 +++--- + perl/Makefile.PL | 12 ++++++------ + php/config.m4 | 2 +- + uuid-config.in | 2 +- + uuid.pc.in | 4 ++-- + 5 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index d28f4be..c2ba99d 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -62,13 +62,13 @@ PERL = @PERL@ + PHP = @PHP@ + PG_CONFIG = @PG_CONFIG@ + +-LIB_NAME = libuuid.la ++LIB_NAME = libossp-uuid.la + LIB_OBJS = uuid.lo uuid_md5.lo uuid_sha1.lo uuid_prng.lo uuid_mac.lo uuid_time.lo uuid_ui64.lo uuid_ui128.lo uuid_str.lo + +-DCE_NAME = libuuid_dce.la ++DCE_NAME = libossp-uuid_dce.la + DCE_OBJS = uuid_dce.lo $(LIB_OBJS) + +-CXX_NAME = libuuid++.la ++CXX_NAME = libossp-uuid++.la + CXX_OBJS = uuid++.lo $(LIB_OBJS) + + PRG_NAME = uuid +diff --git a/perl/Makefile.PL b/perl/Makefile.PL +index 92f4494..9c6fee6 100644 +--- a/perl/Makefile.PL ++++ b/perl/Makefile.PL +@@ -33,9 +33,9 @@ use Config; + use ExtUtils::MakeMaker; + + # determine source directory +-my ($srcdir) = map { my $d = $_; $d =~ s/\/libuuid\.la$//; $d } +- grep { -f $_ } ("../libuuid.la", glob("../*/libuuid.la")) +- or die "no source directory found (where libuuid.la is located)"; ++my ($srcdir) = map { my $d = $_; $d =~ s/\/libossp-uuid\.la$//; $d } ++ grep { -f $_ } ("../libossp-uuid.la", glob("../*/libossp-uuid.la")) ++ or die "no source directory found (where libossp-uuid.la is located)"; + + # determine extra build options + my $compat = 0; +@@ -47,15 +47,15 @@ WriteMakefile( + VERSION_FROM => 'uuid.pm', + ABSTRACT_FROM => 'uuid.pod', + PREREQ_PM => {}, +- LIBS => [ "-L$srcdir/.libs -L$srcdir -luuid" ], ++ LIBS => [ "-L$srcdir/.libs -L$srcdir -lossp-uuid" ], + DEFINE => '', + INC => "-I. -I$srcdir", + PM => { 'uuid.pm' => '$(INST_LIBDIR)/uuid.pm', + 'uuid.pod' => '$(INST_LIBDIR)/uuid.pod', + ($compat ? ('uuid_compat.pm' => '$(INST_LIBDIR)/../Data/UUID.pm') : ()), + ($compat ? ('uuid_compat.pod' => '$(INST_LIBDIR)/../Data/UUID.pod') : ()), }, +- MAN3PODS => { 'uuid.pod' => '$(INST_MAN3DIR)/OSSP::uuid.3', +- ($compat ? ('uuid_compat.pod' => '$(INST_MAN3DIR)/Data::UUID.3') : ()), }, ++ MAN3PODS => { 'uuid.pod' => '$(INST_MAN3DIR)/OSSP::uuid.3pm', ++ ($compat ? ('uuid_compat.pod' => '$(INST_MAN3DIR)/Data::UUID.3pm') : ()), }, + TYPEMAPS => [ 'uuid.tm' ], + test => { TESTS => 'uuid.ts' . ($compat ? ' uuid_compat.ts' : '') }, + NO_META => 1, +diff --git a/php/config.m4 b/php/config.m4 +index 5091b96..969b457 100644 +--- a/php/config.m4 ++++ b/php/config.m4 +@@ -34,7 +34,7 @@ if test "$PHP_UUID" != "no"; then + PHP_NEW_EXTENSION(uuid, uuid.c, $ext_shared) + AC_DEFINE(HAVE_UUID, 1, [Have OSSP uuid library]) + PHP_ADD_LIBPATH([..], ) +- PHP_ADD_LIBRARY([uuid],, UUID_SHARED_LIBADD) ++ PHP_ADD_LIBRARY([ossp-uuid],, UUID_SHARED_LIBADD) + PHP_ADD_INCLUDE([..]) + PHP_SUBST(UUID_SHARED_LIBADD) + +diff --git a/uuid-config.in b/uuid-config.in +index 8d2a063..5b58812 100644 +--- a/uuid-config.in ++++ b/uuid-config.in +@@ -121,7 +121,7 @@ do + output_extra="$output_extra $uuid_ldflags" + ;; + --libs) +- output="$output -luuid" ++ output="$output -lossp-uuid" + output_extra="$output_extra $uuid_libs" + ;; + * ) +diff --git a/uuid.pc.in b/uuid.pc.in +index c76ad1e..de00c2f 100644 +--- a/uuid.pc.in ++++ b/uuid.pc.in +@@ -36,7 +36,7 @@ Name: OSSP uuid + Description: Universally Unique Identifier (UUID) Library + Version: @UUID_VERSION_RAW@ + URL: http://www.ossp.org/pkg/lib/uuid/ +-Cflags: -I${includedir} +-Libs: -L${libdir} -luuid ++Cflags: -I${includedir}/ossp ++Libs: -L${libdir} -lossp-uuid + Libs.private: @LIBS@ + +--
meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patch new file +55 -0
55 lines not on this page · raw message
meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch new file +51 -0
51 lines not on this page · raw message
meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patch new file +36 -0
@@ -0,0 +1,36 @@ +Description: Support dash-less args to from_string. +Author: Tim Retout <[email protected]> +Bug-Debian: http://bugs.debian.org/635607 + +The module Data::GUID depends on Data::UUID supporting this behaviour. + +--- a/perl/uuid_compat.pm ++++ b/perl/uuid_compat.pm +@@ -93,7 +93,9 @@ + $uuid->import('str', + $str =~ /^0x/ + ? join '-', unpack('x2 a8 a4 a4 a4 a12', $str) +- : $str ++ : $str =~ /-/ ++ ? $str ++ : join '-', unpack('A8 A4 A4 A4 A12', $str) + ); + return $uuid->export('bin'); + } +--- a/perl/uuid_compat.ts ++++ b/perl/uuid_compat.ts +@@ -28,7 +28,7 @@ + ## uuid_compat.ts: Data::UUID Backward Compatibility Perl API (Perl test suite part) + ## + +-use Test::More tests => 14; ++use Test::More tests => 16; + + BEGIN { + use_ok('Data::UUID'); +@@ -53,3 +53,5 @@ + ok($uuid8 = $ug->from_string("6ba7b811-9dad-11d1-80b4-00c04fd430c8")); + ok($ug->compare($uuid7, $uuid8) == 0); + ++ok($uuid9 = $ug->from_string("6ba7b8119dad11d180b400c04fd430c8")); ++ok($ug->compare($uuid7, $uuid9) == 0);
meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch new file +24 -0
@@ -0,0 +1,24 @@ +Remove hardcoded libtool name, fall back to generated name + +Signed-off-by: Mark Hatle <[email protected]> + +diff -ur uuid-1.6.2.orig/Makefile.in uuid-1.6.2/Makefile.in +--- uuid-1.6.2.orig/Makefile.in 2012-05-14 14:37:19.579672930 -0500 ++++ uuid-1.6.2/Makefile.in 2012-05-14 14:37:49.112733787 -0500 +@@ -32,6 +32,7 @@ + VPATH = @srcdir@ + srcdir = @srcdir@ + top_srcdir = @top_srcdir@ ++top_builddir = @top_builddir@ + S = $(srcdir) + C = . + +@@ -55,7 +56,7 @@ + CP = cp + RMDIR = rmdir + SHTOOL = $(S)/shtool +-LIBTOOL = $(C)/libtool ++LIBTOOL = @LIBTOOL@ + TRUE = true + POD2MAN = pod2man + PERL = @PERL@
meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch new file +16 -0
@@ -0,0 +1,16 @@ +We don't want anything stripped + +Signed-off-by: Mark Hatle <[email protected]> + +diff -ur uuid-1.6.2.orig/Makefile.in uuid-1.6.2/Makefile.in +--- uuid-1.6.2.orig/Makefile.in 2012-05-14 14:42:42.225789456 -0500 ++++ uuid-1.6.2/Makefile.in 2012-05-14 15:03:03.119733400 -0500 +@@ -254,7 +254,7 @@ + -@if [ ".$(WITH_CXX)" = .yes ]; then \ + $(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 $(CXX_NAME) $(DESTDIR)$(libdir)/; \ + fi +- @$(LIBTOOL) --mode=install $(SHTOOL) install -c -s -m 755 uuid $(DESTDIR)$(bindir)/ ++ @$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 755 uuid $(DESTDIR)$(bindir)/ + $(SHTOOL) install -c -m 644 $(S)/uuid.1 $(DESTDIR)$(mandir)/man1/ + -@if [ ".$(WITH_PERL)" = .yes ]; then \ + (cd $(S)/perl && $(MAKE) $(MFLAGS) install DESTDIR=$(DESTDIR)); \
meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb new file +58 -0
58 lines not on this page · raw message
meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch new file +20 -0
@@ -0,0 +1,20 @@ +Fix integration of ossp-uuid + +We need to avoid including the util-linux uuid library, instead +we need ossp-uuid. There is a related hack in do_configure to +make sure that we use the right .pc file as well. + +Signed-off-by: Mark Hatle <[email protected]> + +diff -ur rpm-5.4.9.orig/configure.ac rpm-5.4.9/configure.ac +--- rpm-5.4.9.orig/configure.ac 2012-05-17 16:37:20.594790192 -0500 ++++ rpm-5.4.9/configure.ac 2012-05-17 16:39:23.126933596 -0500 +@@ -1909,7 +1909,7 @@ + esac + RPM_CHECK_LIB( + [OSSP uuid], [uuid], +- [ossp-uuid uuid], [uuid_import], [uuid.h], ++ [ossp-uuid], [uuid_import], [uuid.h], + [no,external:none], [], + [ dnl # enable OSSP uuid native API support for embedded Lua + if test ".$WITH_LUA" = .yes; then
meta/recipes-devtools/rpm/rpm_5.4.9.bb +8 -3
@@ -42,8 +42,8 @@ HOMEPAGE = "http://rpm5.org/" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" -DEPENDS = "libpcre attr acl popt file" -PR = "r38" +DEPENDS = "libpcre attr acl popt ossp-uuid file" +PR = "r39" # 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...
@@ -67,6 +67,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex file://rpm-resolvedep.patch \ file://rpm-no-perl-urpm.patch \ file://rpm-lua.patch \ + file://rpm-ossp-uuid.patch \ " SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
@@ -143,7 +144,7 @@ EXTRA_OECONF += "--verbose \ --without-gnutls \ --with-pcre \ --enable-utf8 \ - --without-uuid \ + --with-uuid \ --with-attr \ --with-acl \ --with-popt=external \
@@ -328,6 +329,10 @@ do_configure() { ./autogen.sh + # NASTY hack to make sure configure files the right pkg-config file... + sed -e 's/pkg-config --exists uuid/pkg-config --exists ossp-uuid/g' \ + -e 's/pkg-config uuid/pkg-config ossp-uuid/g' -i configure + export varprefix=${localstatedir} export CC_FOR_BUILD="${BUILD_CC}" oe_runconf
Signature · 1 line
1.7.3.4
PATCH v2 4/5 package_rpm: Add capability to directly query packageorigin
In reply to Mark HatleAdd functionality to RPM to directly query the packageorigin (path) from the resolver database, instead of having to do this via an indirect method.
This results in a minor performance improvement.
--- meta/classes/package_rpm.bbclass | 18 +++++++------- .../rpm/rpm/rpm-packageorigin.patch | 23 ++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.9.bb | 3 +- 3 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch
meta/classes/package_rpm.bbclass +9 -9
@@ -130,12 +130,12 @@ resolve_package_rpm () { shift local pkg_name="" for solve in `cat ${conffile}`; do - pkg_name=$(${RPM} -D "_dbpath $solve" -D "__dbi_txn create nofsync" -q --yaml $@ | grep -i 'Packageorigin' | cut -d : -f 2) - if [ -n "$pkg_name" ]; then + pkg_name=$(${RPM} -D "_dbpath $solve" -D "__dbi_txn create nofsync" -q --qf "%{packageorigin}\n" "$@" | grep -v "is not installed" || true) + if [ -n "$pkg_name" -a "$pkg_name" != "(none)" ]; then + echo $pkg_name break; fi done - echo $pkg_name } # rpm common command and options
@@ -405,9 +405,9 @@ package_install_internal_rpm () { # Now that we have a solution, pull out a list of what to install... echo "Manifest: ${target_rootfs}/install/install.manifest" - ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --yaml \ + ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --qf "%{packageorigin}\n" \ -D "__dbi_txn create nofsync private" \ - | grep -i 'Packageorigin' | cut -d : -f 2 > ${target_rootfs}/install/install_solution.manifest + > ${target_rootfs}/install/install_solution.manifest touch ${target_rootfs}/install/install_multilib_solution.manifest
@@ -425,9 +425,9 @@ package_install_internal_rpm () { # Now that we have a solution, pull out a list of what to install... echo "Manifest: ${target_rootfs}/install/install_multilib.manifest" - ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --yaml \ + ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --qf "%{packageorigin}\n" \ -D "__dbi_txn create nofsync private" \ - | grep -i 'Packageorigin' | cut -d : -f 2 > ${target_rootfs}/install/install_multilib_solution.manifest + > ${target_rootfs}/install/install_multilib_solution.manifest fi
@@ -482,9 +482,9 @@ EOF -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ ${target_rootfs}/install/initial_install.manifest - ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --yaml \ + ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf "%{packageorigin}\n" \ -D "__dbi_txn create nofsync private" \ - | grep -i 'Packageorigin' | cut -d : -f 2 > ${target_rootfs}/install/initial_solution.manifest + > ${target_rootfs}/install/initial_solution.manifest rpm_update_pkg ${target_rootfs}/install/initial_solution.manifest
meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch new file +23 -0
@@ -0,0 +1,23 @@ +Add the ability to query the packageorigin + +Written by jbj at rpm5.org + +Signed-off-by: Mark Hatle <[email protected]> + +Index: rpm-5.4.8/rpmdb/hdrfmt.c +=================================================================== +--- rpm-5.4.8.orig/rpmdb/hdrfmt.c ++++ rpm-5.4.8/rpmdb/hdrfmt.c +@@ -2403,8 +2403,10 @@ static int pkgoriginTag(Header h, HE_t + int rc = 1; + + he->tag = RPMTAG_PACKAGEORIGIN; +- if (!headerGet(h, he, HEADERGET_NOEXTENSION) +- && (origin = headerGetOrigin(h)) != NULL) ++ /* XXX two sources for tag data: what search precedence? */ ++ if (headerGet(h, he, HEADERGET_NOEXTENSION)) ++ rc = 0; ++ else if ((origin = headerGetOrigin(h)) != NULL) + { + he->t = RPM_STRING_TYPE; + he->p.str = xstrdup(origin);
meta/recipes-devtools/rpm/rpm_5.4.9.bb +2 -1
@@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "libpcre attr acl popt ossp-uuid file" -PR = "r39" +PR = "r40" # 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...
@@ -68,6 +68,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex file://rpm-no-perl-urpm.patch \ file://rpm-lua.patch \ file://rpm-ossp-uuid.patch \ + file://rpm-packageorigin.patch \ " SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
Signature · 1 line
1.7.3.4
PATCH v2 5/5 rpm: Bump PR numbers on componnets that require RPM
In reply to Mark HatleWith the recent RPM uprev, libzypp, sat-solver and zypper should be rebuilt to ensure they get the right BerkleyDB and rpmdb interfaces.
--- meta/recipes-extended/libzypp/libzypp_git.bb | 2 +- meta/recipes-extended/sat-solver/sat-solver_git.bb | 2 +- meta/recipes-extended/zypper/zypper_git.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-extended/libzypp/libzypp_git.bb +1 -1
@@ -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 = "r21" +PR = "r22" SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ file://no-doc.patch \
meta/recipes-extended/sat-solver/sat-solver_git.bb +1 -1
@@ -8,7 +8,7 @@ DEPENDS = "libcheck rpm zlib expat db" SRCREV = "0a7378d5f482f477a01cf1690d76871ab8bdcc32" PV = "0.0-git${SRCPV}" -PR = "r13" +PR = "r14" PARALLEL_MAKE=""
meta/recipes-extended/zypper/zypper_git.bb +1 -1
@@ -5,7 +5,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=3201406e350b39e05a82e28b5020f413" DEPENDS = "libzypp augeas" -PR = "r2" +PR = "r3" SRCREV = "2c5bb6ceb99ecd950ef993e43d77bf0569ea0582" inherit cmake
Signature · 1 line
1.7.3.4
Mark,
This needs a rebase after Robert's patch to rpm 5.4.0 for the arch issue.
Thanks
Sau!
Quoted 82 lines · Mark Hatle
Berkley DB also gets upreved, and a new package ossp-uuid gets added to the system.
This was -heavily- tested with and without zypper on IA, and PPC.
In addition a minor performance enhancement with a query operation was added.
The uprev also adds the capability of using PACKAGECONFIG settings to tailor the behavior of RPM.
V2 changes:
Fix a problem with libuuid.so from util-linux would sometimes be linked into the binary.
Also force libzypp, sat-solver and zypper to refresh via a PR bump.
The following changes since commit
7163ebd92a799b8f000b2b6f303b20de468b5f90:Revert "kmod: Use
base_libdirfor installing libkmod" (2012-05-17 21:12:33 +0100)are available in the git repository at:
git://git.pokylinux.org/poky-contribmhatle/rpm
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpmMark Hatle (5):
rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)
rpm: Upgrade RPM to 5.4.9
ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration
package_rpm: Add capability to directly query packageorigin
rpm: Bump PR numbers on componnets that require RPMmeta/classes/package_rpm.bbclass | 18 +- meta/classes/rootfs_rpm.bbclass | 22 +- .../ossp-uuid/0001-Change-library-name.patch | 112 +++++ ...erve-m-option-status-in-v-option-handling.patch | 55 +++ .../ossp-uuid/0003-Fix-whatis-entries.patch | 51 +++ .../ossp-uuid/0004-fix-data-uuid-from-string.patch | 36 ++ .../ossp-uuid/ossp-uuid/uuid-libtool.patch | 24 + .../ossp-uuid/ossp-uuid/uuid-nostrip.patch | 16 + meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb | 58 +++ .../rpm/rpm/fix_for_automake_1.11.2.patch | 54 --- .../rpm/rpm/fprint-pointer-fix.patch | 35 -- .../rpm/rpm/remove-compiled-tests.patch | 443 -------------------- meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch | 22 - meta/recipes-devtools/rpm/rpm/rpm-autogen.patch | 41 +-- meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch | 16 +- .../recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch | 12 +- meta/recipes-devtools/rpm/rpm/rpm-lua.patch | 29 ++ .../rpm/rpm/rpm-no-perl-urpm.patch | 43 ++ meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch | 36 -- meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch | 20 + .../rpm/rpm/rpm-packageorigin.patch | 23 + .../rpm/rpm/rpm-scriptletexechelper.patch | 33 +- meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch | 26 +- .../rpm/{rpm_5.4.0.bb => rpm_5.4.9.bb} | 159 ++++---- .../libzypp/libzypp/libzypp-rpm549.patch | 28 ++ meta/recipes-extended/libzypp/libzypp_git.bb | 3 +- meta/recipes-extended/sat-solver/sat-solver_git.bb | 2 +- meta/recipes-extended/zypper/zypper_git.bb | 2 +- .../db/{db_5.1.19.bb => db_5.3.15.bb} | 8 +- 29 files changed, 653 insertions(+), 774 deletions(-)create mode 100644
meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch
create mode 100644meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patchcreate mode 100644meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch
create mode 100644meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patchcreate mode 100644meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch
create mode 100644meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch
create mode 100644 meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb
delete mode 100644meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch
delete mode 100644meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch
delete mode 100644meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch
delete mode 100644meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch
create mode 100644meta/recipes-devtools/rpm/rpm/rpm-lua.patch
create mode 100644meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch
delete mode 100644meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
create mode 100644meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch
create mode 100644meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch
rename meta/recipes-devtools/rpm/{rpm_5.4.0.bb => rpm_5.4.9.bb} (76%)
create mode 100644meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
rename meta/recipes-support/db/{db_5.1.19.bb => db_5.3.15.bb} (93%)