Skip to contentSkip to conversation

Uprev RPM to 5.4.9

PATCH Applied Mark Hatle 5 participants 17 messages Jun 11, 2012 – Jun 13, 2012

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

v7 cover Uprev RPM to 5.4.9

Fix a regression in rpm dependency generated caused by default settings changing. This has been fixed (and verified on the yocto project build servers.) This should be the final version....

This has been rebased, and patches 1 and 2 were changed to deal with the fix for the macros files.

v6 message follows:

Patch 6/8 was reworked to remove the manifest size check.
Patch 8/8 is new and includes the manifest check removed from 6/8 as well as one that was missed in previous testing.

v5 message follows:

Only 7/7 is new in the version. Due to the removal of the RPMVSF_NOSIGNATURES flag in RPM5 5.4.9, createrepo also needed to have this flag removed.

v4 message follows:

Only 6/6 is new in this version. RPM 5.4.9 appears to be more demanding for both the DB_CONFIG file and empty manifest files. The new patch resolves this issue by ensuring that the DB_CONFIG is always generated, and empty manifest files do not get installed.

Patches 1-5 are identical to the v3 versions.

v3 messages follows:

Rebase of the v2 changes.

Re-disabled the "test" chunk.. this should resolve the hang problem a few people have observed.

v2 message follows:

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 ba22e4fcf07eb8007f6d500908d503f1d3dbdd16:

nasm: updated to 2.10.01 (2012-06-11 13:55:46 +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 (9):
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 componets that require RPM rootfs_rpm.bbclass: Update database configuration file
createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES
flag
package_rpm: Verify that the package manifests are not empty
rpm: Ensure pkgconfig deps don't stray from the package being built

 meta/classes/package_rpm.bbclass                   |  105 ++++--
 meta/classes/rootfs_rpm.bbclass                    |   29 --
 .../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 ++
 meta/recipes-devtools/rpm/rpm/rpm-macros.patch     |   61 +++
 .../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-pkgconfigdeps.patch                |   34 ++
 .../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}             |  160 ++++----
 .../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 +-
 .../createrepo/createrepo/createrepo-rpm549.patch  |   19 +
 .../createrepo/createrepo_0.4.11.bb                |    3 +-
 .../db/{db_5.1.19.bb => db_5.3.15.bb}              |    8 +-
 33 files changed, 822 insertions(+), 817 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-macros.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
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.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
 create mode 100644 meta/recipes-support/createrepo/createrepo/createrepo-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
author
#1 lore raw

PATCH v7 1/9 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 +-
 meta/recipes-devtools/rpm/rpm/rpm-macros.patch     |   61 +++
 .../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}             |   45 ++-
 .../db/{db_5.1.19.bb => db_5.3.15.bb}              |    8 +-
 13 files changed, 168 insertions(+), 670 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-macros.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
index fbc46c0..eafb34b 100644
@@ -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
deleted file mode 100644
index 87a92eb..0000000
@@ -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
deleted file mode 100644
index 5e93517..0000000
@@ -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
index e063e86..d9b4e33 100644
@@ -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
index babafb3..4f484c4 100644
@@ -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-macros.patch new file +61 -0

61 lines not on this page · raw message

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
deleted file mode 100644
index f6e5828..0000000
@@ -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 +29 -16

90 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
similarity index 93%
rename from meta/recipes-support/db/db_5.1.19.bb
rename to meta/recipes-support/db/db_5.3.15.bb
index 7e84646..9d2bbe5 100644
@@ -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
author
#2 lore raw

PATCH v7 2/9 rpm: Upgrade RPM to 5.4.9

In reply to 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.

---
 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}             |  122 +++++++++-----------
 .../libzypp/libzypp/libzypp-rpm549.patch           |   28 +++++
 meta/recipes-extended/libzypp/libzypp_git.bb       |    3 +-
 6 files changed, 141 insertions(+), 100 deletions(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-lua.patch
 rename meta/recipes-devtools/rpm/{rpm_5.4.8.bb => rpm_5.4.9.bb} (82%)
 create mode 100644 meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
meta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +29 -0
new file mode 100644
index 0000000..980e1b1
@@ -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
index e4db0e4..8a9e712 100644
@@ -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
index 1667901..f29866b 100644
@@ -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 +54 -68

249 lines not on this page · raw message

meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch new file +28 -0
new file mode 100644
index 0000000..8268a2d
@@ -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
index 3c3a9f0..c5761d5 100644
@@ -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
#3 lore raw

Re: [PATCH 2/9] rpm: Upgrade RPM to 5.4.9

Quoted 1 line · Mark Hatle

Beside upreving RPM, add necessary integration pathces to libzypp.

Typo there I guess you wanted "patches" there

Quoted 11 lines

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}             |  122

+++++++++-----------

Quoted 6 lines
 .../libzypp/libzypp/libzypp-rpm549.patch           |   28 +++++
 meta/recipes-extended/libzypp/libzypp_git.bb       |    3 +-
 6 files changed, 141 insertions(+), 100 deletions(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-lua.patch
 rename meta/recipes-devtools/rpm/{rpm_5.4.8.bb => rpm_5.4.9.bb} (82%)
 create mode 100644

meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch

Review

Quoted 2 lines
(quoted diff) +0 -0

b/meta/recipes-devtools/rpm/rpm/rpm-lua.patch

meta/recipes-devtools/rpm/rpm/rpm-lua.patch line 6

Quoted 11 lines

new file mode 100644
index 0000000..980e1b1

meta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +6 -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

meta/recipes-devtools/rpm/rpm/rpm-lua.patch

Quoted 13 lines
meta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +13 -0
++++ 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

Review

Quoted 11 lines
meta/recipes-devtools/rpm/rpm/rpm-lua.patch new file +10 -0
++++ 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@
(quoted diff) +0 -0

b/meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch

Review

Quoted 107 lines

index e4db0e4..8a9e712 100644

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)
(quoted diff) +0 -0

b/meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch

Review

Quoted 55 lines

index 1667901..f29866b 100644

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
-
(quoted diff) +0 -0

rpm_5.4.9.bb

meta/recipes-devtools/rpm/rpm_5.4.9.bb HOMEPAGE = "http://rpm5.org/" · line 43

Quoted 9 lines

similarity index 82%
rename from meta/recipes-devtools/rpm/rpm_5.4.8.bb rename to meta/recipes-devtools/rpm/rpm_5.4.9.bb index ac86ff3..6eba802 100644

meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -0
@@ -42,14 +42,12 @@ HOMEPAGE = "http://rpm5.org/"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM =

"file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"

meta/recipes-devtools/rpm/rpm_5.4.9.bb HOMEPAGE = "http://rpm5.org/" · line 44

Quoted 2 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -1
-DEPENDS = "beecrypt bzip2 zlib db openssl elfutils expat libpcre attr

acl popt ${extrarpmdeps}"

meta/recipes-devtools/rpm/rpm_5.4.9.bb HOMEPAGE = "http://rpm5.org/"

Quoted 7 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +2 -3
-extrarpmdeps = "python perl file"
-extrarpmdeps_virtclass-native = "python-native file-native"
-PR = "r39"
+DEPENDS = "libpcre attr acl popt file"
+PR = "r40"
 
 # rpm2cpio is a shell script, which is part of the rpm src.rpm.  It is

needed

meta/recipes-devtools/rpm/rpm_5.4.9.bb HOMEPAGE = "http://rpm5.org/" · line 48

Quoted 1 line
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -0
 # in order to extract the distribution SRPM into a format we can

extract...

meta/recipes-devtools/rpm/rpm_5.4.9.bb HOMEPAGE = "http://rpm5.org/" · line 51

Quoted 1 line
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -1
-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\

meta/recipes-devtools/rpm/rpm_5.4.9.bb HOMEPAGE = "http://rpm5.org/" · line 49

Quoted 1 line
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +1 -0
+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\

meta/recipes-devtools/rpm/rpm_5.4.9.bb SRC_URI = "

Quoted 4 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -0
          file://rpm-log-auto-rm.patch \
          file://rpm-db-reduce.patch \
          file://perfile_rpmdeps.sh \
@@ -70,10 +68,11 @@ SRC_URI = "

http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;ex

meta/recipes-devtools/rpm/rpm_5.4.9.bb SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.8-0.20120401.src.rpm;ex

Quoted 8 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +1 -2
          file://rpm-respect-arch.patch \
          file://rpm-no-perl-urpm.patch \
          file://rpm-macros.patch \
+          file://rpm-lua.patch \
         "
 
-SRC_URI[md5sum] = "424b60bf2e0a624a218440d943861644"
-SRC_URI[sha256sum] =

"56eb5033d4de98c217475fb34d466d551f8912959389e7854a806e2bd9e13380"

meta/recipes-devtools/rpm/rpm_5.4.9.bb SRC_URI = " · line 75

Quoted 2 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +2 -0
+SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
+SRC_URI[sha256sum] =

"bac7cc5bd9d0e8262fdc0099349924608da8f680f5cb243751f696552239dde8"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I

Quoted 4 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -0
 inherit autotools gettext
 
@@ -83,63 +82,74 @@ acpaths = "-I ${S}/db/dist/aclocal -I

${S}/db/dist/aclocal_java"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I · line 82

Quoted 1 line
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -0
 rpm_macros =

"%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I · line 83

Quoted 1 line
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +0 -0
 rpm_macros_virtclass-native =

"%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"

Quoted 9 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +4 -3
-# 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"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java" · line 102

Quoted 11 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +6 -2
+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} \

Quoted 1 line

--with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \

Quoted 11 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +3 -4
-               --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"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"

Quoted 10 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +6 -2
+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"

meta/recipes-devtools/rpm/rpm_5.4.9.bb acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"

Quoted 3 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +1 -1
+PACKAGECONFIG[sqlite] = "--with-sqlite,--without-sqlite,sqlite3,"
 
-WITH_CRYPTO = "--with-beecrypt --with-openssl --without-nss

--without-gcrypt"

Quoted 18 lines
meta/recipes-devtools/rpm/rpm_5.4.9.bb renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb +6 -3
+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 =--

1.7.3.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#4 lore raw

PATCH v7 3/9 ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration

In reply to Mark Hatle

RPM 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
new file mode 100644
index 0000000..a46e244
@@ -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
new file mode 100644
index 0000000..1f92cea
@@ -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
new file mode 100644
index 0000000..97daca4
@@ -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
new file mode 100644
index 0000000..78f3c94
@@ -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
new file mode 100644
index 0000000..1f4ba98
@@ -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
index 6eba802..2ca0f58 100644
@@ -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 = "r40"
+DEPENDS = "libpcre attr acl popt ossp-uuid file"
+PR = "r41"
 
 # 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...
@@ -69,6 +69,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-macros.patch \
 	   file://rpm-lua.patch \
+	   file://rpm-ossp-uuid.patch \
 	  "
 
 SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
@@ -145,7 +146,7 @@ EXTRA_OECONF += "--verbose \
 		--without-gnutls \
 		--with-pcre \
 		--enable-utf8 \
-		--without-uuid \
+		--with-uuid \
 		--with-attr \
 		--with-acl \
 		--with-popt=external \
@@ -330,6 +331,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
author
#5 lore raw

PATCH v7 4/9 package_rpm: Add capability to directly query packageorigin

In reply to Mark Hatle

Add 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
index 35928ab..097fa12 100644
@@ -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
@@ -401,9 +401,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
 
@@ -421,9 +421,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
 
@@ -478,9 +478,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
new file mode 100644
index 0000000..3c6dad4
@@ -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
index 2ca0f58..a38a684 100644
@@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "libpcre attr acl popt ossp-uuid file"
-PR = "r41"
+PR = "r42"
 
 # 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...
@@ -70,6 +70,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
 	   file://rpm-macros.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
#6 lore raw

Re: [PATCH 4/9] package_rpm: Add capability to directly query packageorigin

Hi Mark,

this can be interesting for me. Please can you explain with an example what really this patch does?
Many thanks,
Giuseppe

2012/6/11 Mark Hatle <[email protected]>

Quoted 151 lines

Add 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 +1 -2
index 35928ab..097fa12 100644
@@ -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)

meta/classes/package_rpm.bbclass +3 -3
+               if [ -n "$pkg_name" -a "$pkg_name" != "(none)" ]; then
+                       echo $pkg_name
                       break;
               fi
       done
-       echo $pkg_name
 }
 
 # rpm common command and options
@@ -401,9 +401,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

meta/classes/package_rpm.bbclass +1 -0
+               > ${target_rootfs}/install/install_solution.manifest
 
       touch ${target_rootfs}/install/install_multilib_solution.manifest
@@ -421,9 +421,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"

meta/classes/package_rpm.bbclass +1 -1
-               ${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

meta/classes/package_rpm.bbclass +1 -3
@@ -478,9 +478,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
new file mode 100644
index 0000000..3c6dad4
@@ -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);
(quoted diff) +0 -0

rpm_5.4.9.bb
index 2ca0f58..a38a684 100644

meta/recipes-devtools/rpm/rpm_5.4.9.bb +0 -0
@@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM =

"file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"

DEPENDS = "libpcre attr acl popt ossp-uuid file"

meta/recipes-devtools/rpm/rpm_5.4.9.bb +1 -1
-PR = "r41"
+PR = "r42"
 
 # 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...
meta/recipes-devtools/rpm/rpm_5.4.9.bb +0 -0
@@ -70,6 +70,7 @@ SRC_URI = "

http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex

          file://rpm-macros.patch \
          file://rpm-lua.patch \
          file://rpm-ossp-uuid.patch \
+          file://rpm-packageorigin.patch \
         "

SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
--
1.7.3.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#7 lore raw

Re: [PATCH 4/9] package_rpm: Add capability to directly query packageorigin

Quoted 3 lines · Giuseppe Condorelli

Hi Mark,
this can be interesting for me. Please can you explain with an example what really this patch does?

The resolver database is seeded with all of the items from the packagefeed. When you seed (install) a database, each entry gets a record of where the package file exists on the disk. This is stored in the packageorigin field. It is designed to be used by resolver systems.

Before you could only query the packageorigin field if you were using raw RPM calls or using the --yaml export features. We wanted to be able to query the file path from the resolver via the shell. This patch added that ability.

The packageorigin is likely not useful to anyone, unless you are using it in conjunction w/ an associated package feed/resolver database.

--Mark

Quoted 151 lines

Many thanks,
Giuseppe

2012/6/11 Mark Hatle <[email protected] <mailto:[email protected]>>

    Add 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.

    Signed-off-by: Mark Hatle <[email protected]
    <mailto:[email protected]>>
    ---
    meta/classes/package_rpm.bbclass | 18 +++++++-------
    .../rpm/rpm/rpm-packageorigin.patch | 23 ++++++++++++++++++++
    meta/recipes-devtools/rpm/rpm_5.4.9.bb <http://rpm_5.4.9.bb> | 3 +-
    3 files changed, 34 insertions(+), 10 deletions(-)
    create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch

    diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
    index 35928ab..097fa12 100644
    --- a/meta/classes/package_rpm.bbclass
    +++ b/meta/classes/package_rpm.bbclass
    @@ -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
    @@ -401,9 +401,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

    @@ -421,9 +421,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

    @@ -478,9 +478,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

    diff --git a/meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch
    b/meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch
    new file mode 100644
    index 0000000..3c6dad4
    --- /dev/null
    +++ b/meta/recipes-devtools/rpm/rpm/rpm-packageorigin.patch
    @@ -0,0 +1,23 @@
    +Add the ability to query the packageorigin
    +
    +Written by jbj at rpm5.org <http://rpm5.org>
    +
    +Signed-off-by: Mark Hatle <[email protected]
    <mailto:[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);
    diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb <http://rpm_5.4.9.bb>
    b/meta/recipes-devtools/rpm/rpm_5.4.9.bb <http://rpm_5.4.9.bb>
    index 2ca0f58..a38a684 100644
    --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb <http://rpm_5.4.9.bb>
    +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb <http://rpm_5.4.9.bb>
    @@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1"
    LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"

    DEPENDS = "libpcre attr acl popt ossp-uuid file"
    -PR = "r41"
    +PR = "r42"

    # 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...
    @@ -70,6 +70,7 @@ SRC_URI =
    "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
    file://rpm-macros.patch \
    file://rpm-lua.patch \
    file://rpm-ossp-uuid.patch \
    + file://rpm-packageorigin.patch \
    "

    SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
    --
    1.7.3.4


    _______________________________________________
    Openembedded-core mailing list
    [email protected]
    <mailto:[email protected]>
    http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#8 lore raw

Re: [PATCH 4/9] package_rpm: Add capability to directly query packageorigin

Hi Mark,

many thanks for the explanation.

Cheers,
Giuseppe

2012/6/12 Mark Hatle <[email protected]>

Quoted 212 lines · Giuseppe Condorelli
Quoted 6 lines

Hi Mark,
this can be interesting for me. Please can you explain with an example what
really this patch does?

The resolver database is seeded with all of the items from the packagefeed. When you seed (install) a database, each entry gets a record of where the package file exists on the disk. This is stored in the packageorigin field. It is designed to be used by resolver systems.

Before you could only query the packageorigin field if you were using raw RPM calls or using the --yaml export features. We wanted to be able to query the file path from the resolver via the shell. This patch added that ability.

The packageorigin is likely not useful to anyone, unless you are using it in conjunction w/ an associated package feed/resolver database.

--Mark

Many thanks,

Quoted 176 lines

Giuseppe

2012/6/11 Mark Hatle <[email protected] <mailto:
mark.hatle@windriver.**com <[email protected]>>>

Add 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.

   Signed-off-by: Mark Hatle <[email protected]
   <mailto:mark.hatle@windriver.**com <[email protected]>>>

   ---
   meta/classes/package_rpm.**bbclass | 18 +++++++-------
   .../rpm/rpm/rpm-packageorigin.**patch | 23 ++++++++++++++++++++
   meta/recipes-devtools/rpm/rpm_**5.4.9.bb <http://rpm_5.4.9.bb> <

http://rpm_5.4.9.bb> | 3 +-

   3 files changed, 34 insertions(+), 10 deletions(-)

create mode 100644 meta/recipes-devtools/rpm/rpm/**
rpm-packageorigin.patch

   diff --git a/meta/classes/package_rpm.**bbclass

b/meta/classes/package_rpm.**bbclass
index 35928ab..097fa12 100644
--- a/meta/classes/package_rpm.**bbclass
+++ b/meta/classes/package_rpm.**bbclass
@@ -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"

(quoted diff) +0 -2
-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
   @@ -401,9 +401,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

   @@ -421,9 +421,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

   @@ -478,9 +478,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

   diff --git a/meta/recipes-devtools/rpm/**rpm/rpm-packageorigin.patch
   b/meta/recipes-devtools/rpm/**rpm/rpm-packageorigin.patch
   new file mode 100644
   index 0000000..3c6dad4
   --- /dev/null
   +++ b/meta/recipes-devtools/rpm/**rpm/rpm-packageorigin.patch
   @@ -0,0 +1,23 @@
   +Add the ability to query the packageorigin
   +
   +Written by jbj at rpm5.org <http://rpm5.org>

   +
   +Signed-off-by: Mark Hatle <[email protected]
   <mailto:mark.hatle@windriver.**com <[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);
   diff --git a/meta/recipes-devtools/rpm/rp**m_5.4.9.bb<http://rpm_5.4.9.bb><

http://rpm_5.4.9.bb>
b/meta/recipes-devtools/rpm/rp**m_5.4.9.bb <http://rpm_5.4.9.bb> <
http://rpm_5.4.9.bb>
index 2ca0f58..a38a684 100644
--- a/meta/recipes-devtools/rpm/rp**m_5.4.9.bb <http://rpm_5.4.9.bb> <
http://rpm_5.4.9.bb>
+++ b/meta/recipes-devtools/rpm/rp**m_5.4.9.bb <http://rpm_5.4.9.bb> <
http://rpm_5.4.9.bb>

   @@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1"
   LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=**

2d5025d4aa3495befef8f17206a5b0**a1"

DEPENDS = "libpcre attr acl popt ossp-uuid file" -PR = "r41"
+PR = "r42"

   # 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...
   @@ -70,6 +70,7 @@ SRC_URI =
   "http://www.rpm5.org/files/**rpm/rpm-5.4/rpm-5.4.9-0.**
20120508.src.rpm;ex<http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex>
   file://rpm-macros.patch \
   file://rpm-lua.patch \
   file://rpm-ossp-uuid.patch \
   + file://rpm-packageorigin.patch \
   "
   SRC_URI[md5sum] = "**60d56ace884340c1b3fcac6a1d58e7**68"
   --
   1.7.3.4


   ______________________________**_________________
   Openembedded-core mailing list
   Openembedded-core@lists.**openembedded.org<[email protected]>
   <mailto:Openembedded-core@**lists.openembedded.org<[email protected]>
Quoted 1 line

http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**
openembedded-core<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core>

Quoted 5 lines

______________________________**_________________
Openembedded-core mailing list Openembedded-core@lists.**openembedded.org<[email protected]>
http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**openembedded-core<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core>

______________________________**_________________
Openembedded-core mailing list Openembedded-core@lists.**openembedded.org<[email protected]>
http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**openembedded-core<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core>

author
#9 lore raw

PATCH v7 5/9 rpm: Bump PR numbers on componets that require RPM

In reply to Mark Hatle

With 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
index c5761d5..90ee8c4 100644
@@ -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
index 9d8422f..b0382f6 100644
@@ -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
index 56ccc86..0a1df5d 100644
@@ -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
author
#10 lore raw

PATCH v7 6/9 rootfs_rpm.bbclass: Update database configuration file

In reply to Mark Hatle

Move the creation of the database configuration files to just before we perform the install actions. This ensures they will exist even in SDK or other non-target filesystem images.

---
 meta/classes/package_rpm.bbclass |   32 ++++++++++++++++++++++++++++++++
 meta/classes/rootfs_rpm.bbclass  |   31 -------------------------------
 2 files changed, 32 insertions(+), 31 deletions(-)
meta/classes/package_rpm.bbclass +32 -0
index 097fa12..b84c044 100644
@@ -454,6 +454,38 @@ EOF
 
 	chmod 0755 ${WORKDIR}/scriptlet_wrapper
 
+	# Configure RPM... we enforce these settings!
+	mkdir -p ${target_rootfs}${rpmlibdir}
+	mkdir -p ${target_rootfs}${rpmlibdir}/log
+	# After change the __db.* cache size, log file will not be generated automatically,
+	# that will raise some warnings, so touch a bare log for rpm write into it.
+	touch ${target_rootfs}${rpmlibdir}/log/log.0000000001
+	cat > ${target_rootfs}${rpmlibdir}/DB_CONFIG << EOF
+# ================ Environment
+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
+
+# ================ Logging
+
+# ================ Memory Pool
+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
+
+# ================ Replication
+EOF
+
 	# RPM is special. It can't handle dependencies and preinstall scripts correctly. Its
 	# probably a feature. The only way to convince rpm to actually run the preinstall scripts 
 	# for base-passwd and shadow first before installing packages that depend on these packages 
meta/classes/rootfs_rpm.bbclass +0 -31
index eafb34b..202f9ce 100644
@@ -59,37 +59,6 @@ fakeroot rootfs_rpm_do_rootfs () {
 	# Setup base system configuration
 	mkdir -p ${INSTALL_ROOTFS_RPM}/etc/rpm/
 
-	mkdir -p ${INSTALL_ROOTFS_RPM}${rpmlibdir}
-	mkdir -p ${INSTALL_ROOTFS_RPM}${rpmlibdir}/log
-	# After change the __db.* cache size, log file will not be generated automatically,
-	# that will raise some warnings, so touch a bare log for rpm write into it.
-	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_flags db_log_autoremove on
-
-# -- thread_count must be >= 8
-set_thread_count 64
-
-# ================ Logging
-
-# ================ Memory Pool
-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
-
-# ================ Replication
-EOF
-
 	# List must be prefered to least preferred order
 	INSTALL_PLATFORM_EXTRA_RPM=""
 	for each_arch in ${MULTILIB_PACKAGE_ARCHS} ${PACKAGE_ARCHS}; do
Signature · 1 line
1.7.3.4
author
#11 lore raw

PATCH v7 7/9 createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag

In reply to Mark Hatle

The RPMVSF_NOSIGNATURES flag was removed from RPM5 - 5.4.9 as a result of additional -requires- package validation to help protect from malicious packages. The createrepo "dump" script has been updated to no longer use this flag. This remains compatible with prior versions of RPM.

---
 .../createrepo/createrepo/createrepo-rpm549.patch  |   19 +++++++++++++++++++
 .../createrepo/createrepo_0.4.11.bb                |    3 ++-
 2 files changed, 21 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-support/createrepo/createrepo/createrepo-rpm549.patch
meta/recipes-support/createrepo/createrepo/createrepo-rpm549.patch new file +19 -0
new file mode 100644
index 0000000..3423c44
@@ -0,0 +1,19 @@
+dumpMetadata.py: Fix for RPM5 - 5.4.9 integration
+
+RPM5 no longer has a switch to disable signature validation.  (Due to security
+validation concerns.)
+
+Signed-off-by: Mark Hatle <[email protected]>
+
+diff -u createrepo-0.4.11.orig/dumpMetadata.py createrepo-0.4.11/dumpMetadata.py
+--- createrepo-0.4.11.orig/dumpMetadata.py	2012-06-05 10:12:55.687964222 -0500
++++ createrepo-0.4.11/dumpMetadata.py	2012-06-05 10:40:08.154060600 -0500
+@@ -92,7 +92,7 @@
+             fdno = package # let's assume this is an fdno and go with it :)
+     except OSError:
+         raise MDError, "Error opening file"
+-    ts.setVSFlags((rpm._RPMVSF_NOSIGNATURES|rpm.RPMVSF_NOMD5|rpm.RPMVSF_NEEDPAYLOAD))
++    ts.setVSFlags((rpm.RPMVSF_NOMD5|rpm.RPMVSF_NEEDPAYLOAD))
+     try:
+         hdr = ts.hdrFromFdno(fdno)
+     except rpm.error:
meta/recipes-support/createrepo/createrepo_0.4.11.bb +2 -1
index 989a745..060ed59 100644
@@ -4,11 +4,12 @@ HOMEPAGE = "http://createrepo.baseurl.org/"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI= "http://createrepo.baseurl.org/download/${BP}.tar.gz \
           file://fix-native-install.patch \
           file://python-scripts-should-use-interpreter-from-env.patch \
+	  file://createrepo-rpm549.patch \
          "
 
 SRC_URI[md5sum] = "3e9ccf4abcffe3f49af078c83611eda2"
Signature · 1 line
1.7.3.4
author
#12 lore raw

PATCH v7 8/9 package_rpm: Verify that the package manifests are not empty

In reply to Mark Hatle

An empty manifest will cause a failure condition. We ensure that any install actions occur only with a manifest larger then size 0. Also ensure that padding is added to the end of the manifest, instead of the beginning to enable this size check. (Padding is required for very small manifest files..)

---
 meta/classes/package_rpm.bbclass |   59 ++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 25 deletions(-)
meta/classes/package_rpm.bbclass +34 -25
index b84c044..bb9aa1a 100644
@@ -182,6 +182,7 @@ rpm_update_pkg () {
         # been run by now, so don't have to run them(preun, postun, etc.) when
         # erase the pkg
         if [ -s ${target_rootfs}/install/remove.manifest ]; then
+            echo "# Removal manifest padding...." >> ${target_rootfs}/install/remove.manifest
             rpm_common_comand --noscripts --nodeps \
                 -e `cat ${target_rootfs}/install/remove.manifest`
         fi
@@ -249,7 +250,7 @@ package_install_internal_rpm () {
 
 	# Setup manifest of packages to install...
 	mkdir -p ${target_rootfs}/install
-	echo "# Install manifest" > ${target_rootfs}/install/install.manifest
+	rm -f ${target_rootfs}/install/install.manifest
 
 	# Uclibc builds don't provide this stuff...
 	if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
@@ -309,12 +310,15 @@ package_install_internal_rpm () {
 
 	# Generate an install solution by doing a --justdb install, then recreate it with
 	# an actual package install!
-	${RPM} --predefine "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
-		--predefine "_rpmrc_platform_path ${target_rootfs}/etc/rpm/platform" \
-		-D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-base_archs.macro`" \
-		-D "__dbi_txn create nofsync" \
-		-U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
-		${target_rootfs}/install/install.manifest
+	if [ -s ${target_rootfs}/install/install.manifest ]; then
+		echo "# Install manifest padding" >> ${target_rootfs}/install/install.manifest
+		${RPM} --predefine "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+			--predefine "_rpmrc_platform_path ${target_rootfs}/etc/rpm/platform" \
+			-D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-base_archs.macro`" \
+			-D "__dbi_txn create nofsync" \
+			-U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
+			${target_rootfs}/install/install.manifest
+	fi
 
 	if [ ! -z "${package_attemptonly}" ]; then
 		echo "Adding attempt only packages..."
@@ -407,8 +411,9 @@ package_install_internal_rpm () {
 
 	touch ${target_rootfs}/install/install_multilib_solution.manifest
 
-	if [ -e "${target_rootfs}/install/install_multilib.manifest" ]; then
+	if [ -s "${target_rootfs}/install/install_multilib.manifest" ]; then
 		# multilib package installation
+		echo "# Install multilib manifest padding" >> ${target_rootfs}/install/install_multilib.manifest
 
 		# Generate an install solution by doing a --justdb install, then recreate it with
 		# an actual package install!
@@ -493,33 +498,37 @@ EOF
 	if [ "${INC_RPM_IMAGE_GEN}" = "1" -a -f "$pre_btmanifest" ]; then
 		echo "Skipping pre install due to exisitng image"
 	else
-		echo "# Initial Install manifest" > ${target_rootfs}/install/initial_install.manifest
+		rm -f ${target_rootfs}/install/initial_install.manifest
 		echo "Installing base dependencies first (base-passwd, base-files and shadow) since rpm is special"
 		grep /base-passwd-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
 		grep /base-files-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
 		grep /shadow-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
 
-		# Generate an install solution by doing a --justdb install, then recreate it with
-		# an actual package install!
-		mkdir -p ${target_rootfs}/initial
+		if [ -s ${target_rootfs}/install/initial_install.manifest ]; then
+			echo "# Initial Install manifest padding..." >> ${target_rootfs}/install/initial_install.manifest
 
-		${RPM} --predefine "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
-			--predefine "_rpmrc_platform_path ${target_rootfs}/etc/rpm/platform" \
-			-D "_dbpath ${target_rootfs}/initial" -D "`cat ${confbase}.macro`" \
-			-D "__dbi_txn create nofsync" \
-			-U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
-			${target_rootfs}/install/initial_install.manifest
+			# Generate an install solution by doing a --justdb install, then recreate it with
+			# an actual package install!
+			mkdir -p ${target_rootfs}/initial
 
-		${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf "%{packageorigin}\n" \
-			-D "__dbi_txn create nofsync private" \
-			> ${target_rootfs}/install/initial_solution.manifest
+			${RPM} --predefine "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+				--predefine "_rpmrc_platform_path ${target_rootfs}/etc/rpm/platform" \
+				-D "_dbpath ${target_rootfs}/initial" -D "`cat ${confbase}.macro`" \
+				-D "__dbi_txn create nofsync" \
+				-U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
+				${target_rootfs}/install/initial_install.manifest
+
+			${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf "%{packageorigin}\n" \
+				-D "__dbi_txn create nofsync private" \
+				> ${target_rootfs}/install/initial_solution.manifest
 
-		rpm_update_pkg ${target_rootfs}/install/initial_solution.manifest
+			rpm_update_pkg ${target_rootfs}/install/initial_solution.manifest
 		
-		grep -Fv -f ${target_rootfs}/install/initial_solution.manifest ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution.manifest.new
-		mv ${target_rootfs}/install/total_solution.manifest.new ${target_rootfs}/install/total_solution.manifest
+			grep -Fv -f ${target_rootfs}/install/initial_solution.manifest ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution.manifest.new
+			mv ${target_rootfs}/install/total_solution.manifest.new ${target_rootfs}/install/total_solution.manifest
 		
-		rm -rf ${target_rootfs}/initial
+			rm -rf ${target_rootfs}/initial
+		fi
 	fi
 
 	echo "Installing main solution manifest (${target_rootfs}/install/total_solution.manifest)"
Signature · 1 line
1.7.3.4
#13 lore raw

Re: [PATCH 8/9] package_rpm: Verify that the package manifests are not empty

Quoted 1 line · Mark Hatle

An empty manifest will cause a failure condition. We ensure that any

install

Quoted 1 line

actions occur only with a manifest larger then size 0. Also ensure that

padding

Quoted 1 line

is added to the end of the manifest, instead of the beginning to enable

this

Quoted 5 lines

size check. (Padding is required for very small manifest files..)

---
 meta/classes/package_rpm.bbclass |   59

++++++++++++++++++++++----------------

Review

Quoted 3 lines
 1 files changed, 34 insertions(+), 25 deletions(-)
(quoted diff) +0 -0

b/meta/classes/package_rpm.bbclass

meta/classes/package_rpm.bbclass rpm_update_pkg () { · line 182

Quoted 5 lines

index b84c044..bb9aa1a 100644

meta/classes/package_rpm.bbclass +0 -0
@@ -182,6 +182,7 @@ rpm_update_pkg () {
        # been run by now, so don't have to run them(preun, postun, etc.)

when

meta/classes/package_rpm.bbclass rpm_update_pkg () {

Quoted 3 lines
meta/classes/package_rpm.bbclass +1 -0
        # erase the pkg
        if [ -s ${target_rootfs}/install/remove.manifest ]; then
+            echo "# Removal manifest padding...." >>

${target_rootfs}/install/remove.manifest

Should this be just 'remove'

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 252

Quoted 8 lines
meta/classes/package_rpm.bbclass +0 -1
            rpm_common_comand --noscripts --nodeps \
                -e `cat ${target_rootfs}/install/remove.manifest`
        fi
@@ -249,7 +250,7 @@ package_install_internal_rpm () {
 
       # Setup manifest of packages to install...
       mkdir -p ${target_rootfs}/install
-       echo "# Install manifest" >

${target_rootfs}/install/install.manifest

meta/classes/package_rpm.bbclass package_install_internal_rpm () {

Quoted 4 lines
meta/classes/package_rpm.bbclass +1 -0
+       rm -f ${target_rootfs}/install/install.manifest
 
       # Uclibc builds don't provide this stuff...
       if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} =

"xlinux-gnueabi" ] ; then

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 311

Quoted 3 lines
meta/classes/package_rpm.bbclass +0 -0
@@ -309,12 +310,15 @@ package_install_internal_rpm () {
 
       # Generate an install solution by doing a --justdb install, then

recreate it with

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 312

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -1
       # an actual package install!
-       ${RPM} --predefine "_rpmds_sysinfo_path

${target_rootfs}/etc/rpm/sysinfo" \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 313

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -1
-               --predefine "_rpmrc_platform_path

${target_rootfs}/etc/rpm/platform" \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 314

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -1
-               -D "_dbpath ${target_rootfs}/install" -D "`cat

${confbase}-base_archs.macro`" \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 316

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -2
-               -D "__dbi_txn create nofsync" \
-               -U --justdb --noscripts --notriggers --noparentdirs

--nolinktos --ignoresize \

meta/classes/package_rpm.bbclass package_install_internal_rpm () {

Quoted 3 lines
meta/classes/package_rpm.bbclass +2 -1
-               ${target_rootfs}/install/install.manifest
+       if [ -s ${target_rootfs}/install/install.manifest ]; then
+               echo "# Install manifest padding" >>

${target_rootfs}/install/install.manifest

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 315

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+               ${RPM} --predefine "_rpmds_sysinfo_path

${target_rootfs}/etc/rpm/sysinfo" \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 316

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       --predefine "_rpmrc_platform_path

${target_rootfs}/etc/rpm/platform" \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 317

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       -D "_dbpath ${target_rootfs}/install" -D "`cat

${confbase}-base_archs.macro`" \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 319

Quoted 2 lines
meta/classes/package_rpm.bbclass +2 -0
+                       -D "__dbi_txn create nofsync" \
+                       -U --justdb --noscripts --notriggers

--noparentdirs --nolinktos --ignoresize \

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 410

Quoted 10 lines
meta/classes/package_rpm.bbclass +2 -1
+                       ${target_rootfs}/install/install.manifest
+       fi
 
       if [ ! -z "${package_attemptonly}" ]; then
               echo "Adding attempt only packages..."
@@ -407,8 +411,9 @@ package_install_internal_rpm () {
 
       touch ${target_rootfs}/install/install_multilib_solution.manifest
 
-       if [ -e "${target_rootfs}/install/install_multilib.manifest" ];

then

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 414

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+       if [ -s "${target_rootfs}/install/install_multilib.manifest" ];

then

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 416

Quoted 2 lines
meta/classes/package_rpm.bbclass +1 -0
               # multilib package installation
+               echo "# Install multilib manifest padding" >>

${target_rootfs}/install/install_multilib.manifest

meta/classes/package_rpm.bbclass package_install_internal_rpm () { · line 417

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -0
               # Generate an install solution by doing a --justdb

install, then recreate it with

meta/classes/package_rpm.bbclass EOF · line 496

Quoted 6 lines
meta/classes/package_rpm.bbclass +0 -1
               # an actual package install!
@@ -493,33 +498,37 @@ EOF
       if [ "${INC_RPM_IMAGE_GEN}" = "1" -a -f "$pre_btmanifest" ]; then
               echo "Skipping pre install due to exisitng image"
       else
-               echo "# Initial Install manifest" >

${target_rootfs}/install/initial_install.manifest

meta/classes/package_rpm.bbclass EOF · line 502

Quoted 2 lines
meta/classes/package_rpm.bbclass +1 -0
+               rm -f ${target_rootfs}/install/initial_install.manifest
               echo "Installing base dependencies first (base-passwd,

base-files and shadow) since rpm is special"

meta/classes/package_rpm.bbclass EOF · line 503

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -0
               grep /base-passwd-[0-9]

${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true

meta/classes/package_rpm.bbclass EOF · line 504

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -0
               grep /base-files-[0-9]

${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true

meta/classes/package_rpm.bbclass EOF · line 505

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -0
               grep /shadow-[0-9]

${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true

meta/classes/package_rpm.bbclass EOF · line 501

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -1
-               # Generate an install solution by doing a --justdb

install, then recreate it with

meta/classes/package_rpm.bbclass EOF

Quoted 3 lines
meta/classes/package_rpm.bbclass +1 -2
-               # an actual package install!
-               mkdir -p ${target_rootfs}/initial
+               if [ -s ${target_rootfs}/install/initial_install.manifest

]; then

meta/classes/package_rpm.bbclass EOF · line 507

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       echo "# Initial Install manifest padding..." >>

${target_rootfs}/install/initial_install.manifest

meta/classes/package_rpm.bbclass EOF · line 504

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -1
-               ${RPM} --predefine "_rpmds_sysinfo_path

${target_rootfs}/etc/rpm/sysinfo" \

meta/classes/package_rpm.bbclass EOF · line 505

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -1
-                       --predefine "_rpmrc_platform_path

${target_rootfs}/etc/rpm/platform" \

meta/classes/package_rpm.bbclass EOF · line 506

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -1
-                       -D "_dbpath ${target_rootfs}/initial" -D "`cat

${confbase}.macro`" \

meta/classes/package_rpm.bbclass EOF · line 508

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -2
-                       -D "__dbi_txn create nofsync" \
-                       -U --justdb --noscripts --notriggers

--noparentdirs --nolinktos --ignoresize \

meta/classes/package_rpm.bbclass EOF · line 508

Quoted 2 lines
meta/classes/package_rpm.bbclass +1 -1
-                       ${target_rootfs}/install/initial_install.manifest
+                       # Generate an install solution by doing a

--justdb install, then recreate it with

meta/classes/package_rpm.bbclass EOF

Quoted 4 lines
meta/classes/package_rpm.bbclass +2 -1
+                       # an actual package install!
+                       mkdir -p ${target_rootfs}/initial
 
-               ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf

"%{packageorigin}\n" \

meta/classes/package_rpm.bbclass EOF · line 513

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -2
-                       -D "__dbi_txn create nofsync private" \
-                       >

${target_rootfs}/install/initial_solution.manifest

meta/classes/package_rpm.bbclass EOF · line 512

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       ${RPM} --predefine "_rpmds_sysinfo_path

${target_rootfs}/etc/rpm/sysinfo" \

meta/classes/package_rpm.bbclass EOF · line 513

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                               --predefine "_rpmrc_platform_path

${target_rootfs}/etc/rpm/platform" \

meta/classes/package_rpm.bbclass EOF · line 514

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                               -D "_dbpath ${target_rootfs}/initial" -D

"cat ${confbase}.macro" \

meta/classes/package_rpm.bbclass EOF · line 516

Quoted 2 lines
meta/classes/package_rpm.bbclass +2 -0
+                               -D "__dbi_txn create nofsync" \
+                               -U --justdb --noscripts --notriggers

--noparentdirs --nolinktos --ignoresize \

meta/classes/package_rpm.bbclass EOF · line 520

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+

${target_rootfs}/install/initial_install.manifest

meta/classes/package_rpm.bbclass EOF · line 519

Quoted 2 lines
meta/classes/package_rpm.bbclass +2 -0
+
+                       ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa

--qf "%{packageorigin}\n" \

meta/classes/package_rpm.bbclass EOF · line 521

Quoted 2 lines
meta/classes/package_rpm.bbclass +2 -0
+                               -D "__dbi_txn create nofsync private" \
+                               >

${target_rootfs}/install/initial_solution.manifest

meta/classes/package_rpm.bbclass EOF · line 514

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -1
-               rpm_update_pkg

${target_rootfs}/install/initial_solution.manifest

meta/classes/package_rpm.bbclass EOF · line 522

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       rpm_update_pkg

${target_rootfs}/install/initial_solution.manifest

meta/classes/package_rpm.bbclass EOF · line 515

Quoted 2 lines
meta/classes/package_rpm.bbclass +0 -1
-               grep -Fv -f

${target_rootfs}/install/initial_solution.manifest ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution.manifest.new

meta/classes/package_rpm.bbclass EOF · line 516

Quoted 1 line
meta/classes/package_rpm.bbclass +0 -1
-               mv ${target_rootfs}/install/total_solution.manifest.new

${target_rootfs}/install/total_solution.manifest

meta/classes/package_rpm.bbclass EOF · line 523

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       grep -Fv -f

${target_rootfs}/install/initial_solution.manifest ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution.manifest.new

meta/classes/package_rpm.bbclass EOF · line 524

Quoted 1 line
meta/classes/package_rpm.bbclass +1 -0
+                       mv

${target_rootfs}/install/total_solution.manifest.new ${target_rootfs}/install/total_solution.manifest

meta/classes/package_rpm.bbclass EOF

Quoted 7 lines
meta/classes/package_rpm.bbclass +2 -1
-               rm -rf ${target_rootfs}/initial
+                       rm -rf ${target_rootfs}/initial
+               fi
       fi
 
       echo "Installing main solution manifest

(${target_rootfs}/install/total_solution.manifest)"

Quoted 9 lines
meta/classes/package_rpm.bbclass +0 -1
--

1.7.3.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#14 lore raw

PATCH v7 9/9 rpm: Ensure pkgconfig deps don't stray from the package being built

In reply to Mark Hatle

Force pkg-config to only look in the install directory, and not be able to fall back to system pkg-config directories for resolution.

---
 .../rpm/rpm/rpm-pkgconfigdeps.patch                |   34 ++++++++++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.9.bb             |    3 +-
 2 files changed, 36 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.patch
meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.patch new file +34 -0
new file mode 100644
index 0000000..4aba400
@@ -0,0 +1,34 @@
+pkgconfigdeps.sh: Change to restricting pkgconfig to the local directory
+
+Using PKG_CONFIG_PATH will allow pkg-config to fall back to the system paths,
+we don't want this as it may lead to inaccurate results in some corner cases.
+
+PKG_CONFIG_LIBDIR will ensure pkg-config stays within the install directory.
+
+Signed-off-by: Mark Hatle <[email protected]>
+
+diff -ur rpm-5.4.9.orig/scripts/pkgconfigdeps.sh rpm-5.4.9/scripts/pkgconfigdeps.sh
+--- rpm-5.4.9.orig/scripts/pkgconfigdeps.sh	2009-02-13 08:13:37.000000000 -0600
++++ rpm-5.4.9/scripts/pkgconfigdeps.sh	2012-06-07 17:35:42.730003847 -0500
+@@ -18,8 +18,8 @@
+     *.pc)
+ 	# Query the dependencies of the package.
+ 	DIR=`dirname ${filename}`
+-	PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
+-	export PKG_CONFIG_PATH
++	PKG_CONFIG_LIBDIR="$DIR:$DIR/../../share/pkgconfig"
++	export PKG_CONFIG_LIBDIR
+ 	$pkgconfig --print-provides "$filename" 2> /dev/null | while read n r v ; do
+ 	    [ -n "$n" ] || continue
+ 	    # We have a dependency.  Make a note that we need the pkgconfig
+@@ -42,8 +42,8 @@
+ 	[ -n "$oneshot" ] && echo "$oneshot"; oneshot=""
+ 	# Query the dependencies of the package.
+ 	DIR=`dirname ${filename}`
+-	PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
+-	export PKG_CONFIG_PATH
++	PKG_CONFIG_LIBDIR="$DIR:$DIR/../../share/pkgconfig"
++	export PKG_CONFIG_LIBDIR
+ 	$pkgconfig --print-requires "$filename" 2> /dev/null | while read n r v ; do
+ 	    [ -n "$n" ] || continue
+ 	    if  [ -n "$r" ] && [ -n "$v" ]; then
meta/recipes-devtools/rpm/rpm_5.4.9.bb +2 -1
index a38a684..51cf93b 100644
@@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "libpcre attr acl popt ossp-uuid file"
-PR = "r42"
+PR = "r43"
 
 # 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...
@@ -71,6 +71,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
 	   file://rpm-lua.patch \
 	   file://rpm-ossp-uuid.patch \
 	   file://rpm-packageorigin.patch \
+	   file://rpm-pkgconfigdeps.patch \
 	  "
 
 SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
Signature · 1 line
1.7.3.4
#15 lore raw
In reply to Mark Hatle
Quoted 3 lines · Mark Hatle

Fix a regression in rpm dependency generated caused by default settings changing.  This has been fixed (and verified on the yocto project build servers.)  This should be the final version....

Ack'd

I've verified that the initial issues around these patches have been fixed.

-b

Quoted 135 lines

This has been rebased, and patches 1 and 2 were changed to deal with the fix for the macros files.

v6 message follows:

Patch 6/8 was reworked to remove the manifest size check.
Patch 8/8 is new and includes the manifest check removed from 6/8 as well as one that was missed in previous testing.

v5 message follows:

Only 7/7 is new in the version.  Due to the removal of the RPMVSF_NOSIGNATURES flag in RPM5 5.4.9, createrepo also needed to have this flag removed.

v4 message follows:

Only 6/6 is new in this version.  RPM 5.4.9 appears to be more demanding for both the DB_CONFIG file and empty manifest files.  The new patch resolves this issue by ensuring that the DB_CONFIG is always generated, and empty manifest files do not get installed.

Patches 1-5 are identical to the v3 versions.

v3 messages follows:

Rebase of the v2 changes.

Re-disabled the "test" chunk..  this should resolve the hang problem a few people have observed.

v2 message follows:

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 ba22e4fcf07eb8007f6d500908d503f1d3dbdd16:

 nasm: updated to 2.10.01 (2012-06-11 13:55:46 +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 (9):
 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 componets that require RPM rootfs_rpm.bbclass: Update database configuration file
 createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag
 package_rpm: Verify that the package manifests are not empty
 rpm: Ensure pkgconfig deps don't stray from the package being built

 meta/classes/package_rpm.bbclass                   |  105 ++++-- meta/classes/rootfs_rpm.bbclass                    |   29 -- .../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 ++ meta/recipes-devtools/rpm/rpm/rpm-macros.patch     |   61 +++ .../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-pkgconfigdeps.patch                |   34 ++ .../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}             |  160 ++++---- .../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 +- .../createrepo/createrepo/createrepo-rpm549.patch  |   19 + .../createrepo/createrepo_0.4.11.bb                |    3 +- .../db/{db_5.1.19.bb => db_5.3.15.bb}              |    8 +-

 33 files changed, 822 insertions(+), 817 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-macros.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
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.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
 create mode 100644 meta/recipes-support/createrepo/createrepo/createrepo-rpm549.patch
 rename meta/recipes-support/db/{db_5.1.19.bb => db_5.3.15.bb} (93%)

--
1.7.3.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Signature · 3 lines
Elizabeth Flanagan
Yocto Project
Build and Release
#16 lore raw
In reply to Mark Hatle
Quoted 61 lines · Mark Hatle

Fix a regression in rpm dependency generated caused by default settings changing. This has been fixed (and verified on the yocto project build servers.) This should be the final version....

This has been rebased, and patches 1 and 2 were changed to deal with the fix for the macros files.

v6 message follows:

Patch 6/8 was reworked to remove the manifest size check.
Patch 8/8 is new and includes the manifest check removed from 6/8 as well as one that was missed in previous testing.

v5 message follows:

Only 7/7 is new in the version. Due to the removal of the RPMVSF_NOSIGNATURES flag in RPM5 5.4.9, createrepo also needed to have this flag removed.

v4 message follows:

Only 6/6 is new in this version. RPM 5.4.9 appears to be more demanding for both the DB_CONFIG file and empty manifest files. The new patch resolves this issue by ensuring that the DB_CONFIG is always generated, and empty manifest files do not get installed.

Patches 1-5 are identical to the v3 versions.

v3 messages follows:

Rebase of the v2 changes.

Re-disabled the "test" chunk.. this should resolve the hang problem a few people have observed.

v2 message follows:

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 ba22e4fcf07eb8007f6d500908d503f1d3dbdd16:

nasm: updated to 2.10.01 (2012-06-11 13:55:46 +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

Quoted 11 lines

Mark Hatle (9):
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 componets that require RPM rootfs_rpm.bbclass: Update database configuration file
createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES
flag
package_rpm: Verify that the package manifests are not empty
rpm: Ensure pkgconfig deps don't stray from the package being built

Merged to master, thanks.

Richard