All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9 v7] Uprev RPM to 5.4.9
@ 2012-06-11 18:18 Mark Hatle
  2012-06-11 18:18 ` [PATCH 1/9] rpm: Upgrade RPM to 5.4.8 (db to 5.3.15) Mark Hatle
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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%)

-- 
1.7.3.4




^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/9] rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 18:18 ` [PATCH 2/9] rpm: Upgrade RPM to 5.4.9 Mark Hatle
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

RPM 5.4.8 requires db 5.3.x, so both are upgraded together.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 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%)

diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index fbc46c0..eafb34b 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -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
diff --git a/meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch b/meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch
deleted file mode 100644
index bb0f7eb..0000000
--- a/meta/recipes-devtools/rpm/rpm/fix_for_automake_1.11.2.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Upstream-Status: Pending
-
-automake version 1.11.2 has made use of dir variables more strict.
-the use of pkglibdir with SCRIPTS & DATA vars results in automake
-errors.
-  This commits uses pkgdatadir & pkgbindir vars instead of pkglibdir
-to avoid the strict check errors.
-
-  This change also works with automake-1.11.1
-
-Errors fixed:
-Makefile.am:103: error: `pkglibdir' is not a legitimate directory for `DATA'
-scripts/Makefile.am:47: error: `pkglibdir' is not a legitimate directory for `SCRIPTS'
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
-2011/12/27
-
-Index: rpm-5.4.0/Makefile.am
-===================================================================
---- rpm-5.4.0.orig/Makefile.am
-+++ rpm-5.4.0/Makefile.am
-@@ -103,13 +103,13 @@ if WITH_PATH_VERSIONED
- 	done
- endif
- 
--pkglibdir =		@USRLIBRPM@
--pkglib_DATA = rpmpopt macros/macros macros/macros.rpmbuild cpuinfo.yaml
-+pkgdatadir =		@USRLIBRPM@
-+pkgdata_DATA = rpmpopt macros/macros macros/macros.rpmbuild cpuinfo.yaml
- 
--pkgbindir =	$(pkglibdir)/bin
-+pkgbindir =	$(pkgdatadir)/bin
- pkgbin_SCRIPTS = install-sh mkinstalldirs
- 
--pkgcfgdir =	$(pkglibdir)/macros.d
-+pkgcfgdir =	$(pkgdatadir)/macros.d
- pkgcfg_DATA = \
- 	macros/cmake macros/java macros/libtool macros/mandriva macros/mono \
- 	macros/perl macros/pkgconfig macros/php macros/python macros/ruby \
-Index: rpm-5.4.0/scripts/Makefile.am
-===================================================================
---- rpm-5.4.0.orig/scripts/Makefile.am
-+++ rpm-5.4.0/scripts/Makefile.am
-@@ -45,8 +45,8 @@ all:
- 
- bin_SCRIPTS = gendiff
- 
--pkglibdir =		@USRLIBRPM@
--pkglib_SCRIPTS = \
-+pkgbindir =		@USRLIBRPM@
-+pkgbin_SCRIPTS = \
- 	brp-compress brp-python-bytecompile brp-java-gcjcompile \
- 	brp-strip brp-strip-comment-note brp-nobuildrootpath \
- 	brp-strip-shared brp-strip-static-archive brp-sparc64-linux \
diff --git a/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch b/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch
deleted file mode 100644
index 87a92eb..0000000
--- a/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Upstream-Status: Submitted
-
-From: Qing He <qing.he@intel.com>
-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 <qing.he@intel.com>
-
-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;
diff --git a/meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch b/meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch
deleted file mode 100644
index 3663692..0000000
--- a/meta/recipes-devtools/rpm/rpm/remove-compiled-tests.patch
+++ /dev/null
@@ -1,443 +0,0 @@
-
-Upstream-Status: Inappropriate [configuration]
-
-Index: rpm-5.1.9/configure.ac
-===================================================================
---- rpm-5.1.9.orig/configure.ac	2009-04-18 17:47:02.000000000 +0100
-+++ rpm-5.1.9/configure.ac	2010-07-06 14:47:28.985462456 +0100
-@@ -643,38 +643,22 @@
- dnl look for libc features
- PROVIDES_ERRNO=no
- AC_MSG_CHECKING(if <netdb.h> defines h_errno)
--AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[printf("%d",h_errno)]])],[PROVIDES_ERRNO=yes],[])
--AC_MSG_RESULT($PROVIDES_ERRNO)
--if test $PROVIDES_ERRNO = yes; then
--	AC_DEFINE(HAVE_HERRNO, 1, [ Define as 1 if <netdb.h> defines h_errno])
--fi
-+AC_DEFINE(HAVE_HERRNO, 1, [ Define as 1 if <netdb.h> defines h_errno])
- 
- dnl If a system doesn't have S_IFSOCK, define it as 0 which will
- dnl make S_ISSOCK always return false (nice, eh?)
- AC_MSG_CHECKING(if <sys/stat.h> defines S_IFSOCK)
--AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_IFSOCK)]])],[HAS_S_IFSOCK=yes],[HAS_S_IFSOCK=no])
--AC_MSG_RESULT($HAS_S_IFSOCK)
--if test $HAS_S_IFSOCK = yes; then
--	AC_DEFINE(HAVE_S_IFSOCK, 1, [Define as 1 if <sys/stat.h> defines S_IFSOCK])
--fi
-+AC_DEFINE(HAVE_S_IFSOCK, 1, [Define as 1 if <sys/stat.h> defines S_IFSOCK])
- 
- dnl Some Unix's are missing S_ISLNK, S_ISSOCK
- AC_MSG_CHECKING(if <sys/stat.h> defines S_ISLNK)
--AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_ISLNK(0755))]])],[HAS_S_ISLNK=yes],[HAS_S_ISLNK=no])
--AC_MSG_RESULT($HAS_S_ISLNK)
--if test $HAS_S_ISLNK = yes; then
--	AC_DEFINE(HAVE_S_ISLNK, 1, [Define as 1 if <sys/stat.h> defines S_ISLNK])
--fi
-+AC_DEFINE(HAVE_S_ISLNK, 1, [Define as 1 if <sys/stat.h> defines S_ISLNK])
- 
- AC_MSG_CHECKING(if <sys/stat.h> defines S_ISSOCK)
--AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[printf("%d", S_ISSOCK(0755))]])],[HAS_S_ISSOCK=yes],[HAS_S_ISSOCK=no])
--AC_MSG_RESULT($HAS_S_ISSOCK)
--if test $HAS_S_ISSOCK = yes; then
--	AC_DEFINE(HAVE_S_ISSOCK, 1, [Define as 1 if <sys/stat.h> defines S_ISSOCK])
--fi
-+AC_DEFINE(HAVE_S_ISSOCK, 1, [Define as 1 if <sys/stat.h> defines S_ISSOCK])
- 
- AC_MSG_CHECKING(if timezone is defined)
--AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[printf("%ld", timezone)]])],[HAS_TIMEZONE=yes],[HAS_TIMEZONE=no])
-+$HAS_TIMEZONE=yes
- AC_MSG_RESULT($HAS_TIMEZONE)
- 
- dnl check for missing typedefs
-@@ -726,53 +710,12 @@
-         AC_MSG_RESULT(yes)
-         AC_CHECK_HEADERS([libelf.h gelf.h])
-         if test ".$ac_cv_header_libelf_h" = .no; then
--            dnl # <libelf.h> on Solaris is incompatible with LFS. If we couldn't
--            dnl # include <libelf.h>, see if we can when _FILE_OFFSET_BITS is
--            dnl # set for non-LFS. Same applies for <gelf.h>, since it probably
--            dnl # includes <libelf.h>
--            AC_MSG_CHECKING([if libelf.h conflicts with _LARGEFILE_SOURCE])
--            AC_COMPILE_IFELSE([
--                AC_LANG_PROGRAM([[
--#undef _LARGEFILE64_SOURCE
--#undef _LARGEFILE_SOURCE
--#if !defined(_LP64)
--# undef _FILE_OFFSET_BITS
--# define _FILE_OFFSET_BITS 32
--#endif
--#include <libelf.h>
--                ]], [[
--                    Elf_Data foo;
--                ]])
--            ], [
--                AC_DEFINE(HAVE_LIBELF_H, 1, [Define to 1 if you have libelf.h])
--                ac_cv_header_libelf_h=yes
--                AC_DEFINE(LIBELF_H_LFS_CONFLICT, 1, [Define to 1 if libelf.h is incompatible with LFS API])
--                AC_MSG_RESULT(yes)
--            ], [
--                AC_MSG_RESULT(no)
--            ])
-+            AC_DEFINE(HAVE_LIBELF_H, 1, [Define to 1 if you have libelf.h])
-+            ac_cv_header_libelf_h=yes
-         fi
-         if test ".$ac_cv_header_gelf_h" = .no; then
--            AC_MSG_CHECKING([if gelf.h conflicts with _LARGEFILE_SOURCE])
--            AC_COMPILE_IFELSE([
--                AC_LANG_PROGRAM([[
--#undef _LARGEFILE64_SOURCE
--#undef _LARGEFILE_SOURCE
--#if !defined(_LP64)
--# undef _FILE_OFFSET_BITS
--# define _FILE_OFFSET_BITS 32
--#endif
--#include <gelf.h>
--                ]], [[
--                    Elf32_Verdef foo;
--                ]])
--            ], [
--                AC_DEFINE(HAVE_GELF_H, 1, [Define to 1 if you have gelf.h])
--                ac_cv_header_gelf_h=yes
--                AC_MSG_RESULT(yes)
--            ], [
--                AC_MSG_RESULT(no)
--          ])
-+            AC_DEFINE(HAVE_GELF_H, 1, [Define to 1 if you have gelf.h])
-+            ac_cv_header_gelf_h=yes
-         fi
-         if test ".$ac_cv_header_gelf_h" = .yes; then
-             AC_CHECK_LIB([elf], [elf_version], [
-@@ -854,78 +797,9 @@
-                   python_version=""
-                   ;;
-         esac
--	for python_ver in $python_version ; do
--             if test "$python_ver" != "2.x" ; then
--                  AC_MSG_CHECKING([for Python ${python_ver} API])
--                  save_CFLAGS="${CFLAGS}"
--                  for i in "$prefix" "/usr/local" "/usr"; do
--                  CFLAGS="${save_CFLAGS} -I$i/include/python${python_ver}"
--                  AC_RUN_IFELSE([AC_LANG_SOURCE(
--                  [[#include "Python.h"
--                     main() { exit(strncmp("${python_ver}", PY_VERSION, 3)); } ]])
--                  ], [
--                     PYTHON_VERSION="${python_ver}"
--                     AC_MSG_RESULT(yes)
--                     PYTHON_PREFIX="${i}"
--                     break
--                  ], [ 
--                  ], [
--                     dnl if we're cross compiling, assume the user has a clue
--                     if test "$withval" = "$python_ver"; then
--                         PYTHON_VERSION="${python_ver}"
--                         AC_MSG_RESULT(yes)
--                         break
--                     fi
--                  ])
--                  done
--                  CFLAGS="${save_CFLAGS}"
--                  if test ".$PYTHON_VERSION" == "."; then
--                     dnl check Mac OS X framework
--                     save_CFLAGS="${CFLAGS}"
--                     for f in "~" "" "/System" "/Network"; do
--                     CFLAGS="${save_CFLAGS} -I$f/Library/Frameworks/Python.framework/Versions/${python_ver}/include/python${python_ver}"
--                     AC_RUN_IFELSE([AC_LANG_SOURCE(
--                     [[#include "Python.h"
--                        main() { exit(strncmp("${python_ver}", PY_VERSION, 3)); } ]])
--                     ], [
--                        PYTHON_VERSION="${python_ver}"
--                        AC_MSG_RESULT([yes (using Python.framework)])
--                        PYTHON_PREFIX="$f/Library/Frameworks/Python.framework/Versions/${python_ver}"
--                        break
--                     ], [
--                     ])
--                     done
--                     CFLAGS="${save_CFLAGS}"
--                  fi
--                  if test ".$PYTHON_VERSION" == "."; then
--                     AC_MSG_RESULT(no)
--                  fi
--             else
--                  AC_MSG_CHECKING([for Python 2.x API])
--                  AC_RUN_IFELSE([AC_LANG_SOURCE(
--                  [[#include <python/Python.h>
--                     main() { exit(strncmp("2.", PY_VERSION, 2)); } ]])
--                  ], [
--                     PYTHON_VERSION=""
--                     AC_MSG_RESULT(yes)
--                  ], [ 
--                     AC_MSG_RESULT(no)
--                  ], [
--                     dnl if we're cross compiling, assume the user has a clue
--                     if test "$withval" = "$python_ver"; then
--                         PYTHON_VERSION="${python_ver}"
--                         AC_MSG_RESULT(yes)
--                     else
--                         AC_MSG_RESULT(no)
--                     fi
--                  ])
--             fi
--             if test ".$PYTHON_VERSION" != "."; then
--                  WITH_PYTHON_SUBDIR=python
--                  WITH_PYTHON_SUBPACKAGE=1
--                  break
--             fi
--	done
-+	PYTHON_VERSION="${python_ver}"
-+	WITH_PYTHON_SUBDIR=python
-+	WITH_PYTHON_SUBPACKAGE=1
-     fi
-     AC_ARG_WITH(python-inc-dir, AS_HELP_STRING([--with-python-inc-dir=DIR], [directory with Python include files]),
- 	    [WITH_PYTHON_INCDIR="$withval"], [WITH_PYTHON_INCDIR="`(python -c 'from distutils.sysconfig import get_python_inc; print get_python_inc()') 2>/dev/null`"])
-@@ -1157,15 +1031,8 @@
- 	  AC_SUBST(WITH_PCRE_LIBS)
-       else
- 	dnl # make sure PCRE POSIX API can be really _USED_ by RPM
--	LIBS_SAVED="$LIBS"
- 	LIBS="-lpcreposix $LIBS"
--	AC_LINK_IFELSE([
--          AC_LANG_PROGRAM([#include <pcreposix.h>], [(void)regcomp(0, 0, 0)])
--	], [
--          AC_DEFINE(WITH_PCRE_POSIX, 1, [Define as 1 if PCRE's POSIX API is available])
--	], [
--          LIBS="$LIBS_SAVED"
--	])
-+        AC_DEFINE(WITH_PCRE_POSIX, 1, [Define as 1 if PCRE's POSIX API is available])
-       fi
-       dnl # enable PCRE native API support for embedded Lua
-       if test ".$WITH_LUA" = .yes; then
-@@ -1234,30 +1101,7 @@
- 
- dnl # figure out what root's primary group is
- AC_MSG_CHECKING([root's primary group])
--AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
--#include <sys/types.h>
--#include <pwd.h>
--#include <grp.h>
--int main()
--{
--	struct passwd *root = NULL;
--	struct group *roots_group = NULL;
--	FILE * tempfile = NULL;
--	root = getpwuid( (uid_t) 0 );
--	if (root != NULL) {
--		roots_group = getgrgid(root->pw_gid);
--		if (roots_group != NULL) {
--			tempfile = fopen("conftest_rootg", "w");
--			if (tempfile != NULL) {
--				fprintf(tempfile, "%s\n", roots_group->gr_name);
--				fclose(tempfile);
--				exit(0);
--			}
--		}
--	}
--	exit(1);
--}]])],[ROOT_GROUP=`cat conftest_rootg`; rm -f conftest_rootg],[ROOT_GROUP="root"],[ROOT_GROUP="root"
--])
-+$ROOT_GROUP="root"
- AC_MSG_RESULT([$ROOT_GROUP])
- AC_SUBST(ROOT_GROUP)
- 
-Index: rpm-5.1.9/pcre/configure.ac
-===================================================================
---- rpm-5.1.9.orig/pcre/configure.ac	2009-01-14 20:19:31.000000000 +0000
-+++ rpm-5.1.9/pcre/configure.ac	2010-07-06 14:51:50.769586089 +0100
-@@ -278,34 +278,6 @@
- # The files below are C++ header files.
- pcre_have_type_traits="0"
- pcre_have_bits_type_traits="0"
--if test "x$enable_cpp" = "xyes" -a -n "$CXX"
--then
--AC_LANG_PUSH(C++)
--
--# Older versions of pcre defined pcrecpp::no_arg, but in new versions
--# it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
--# we want to make one an alias for the other.  Different systems do
--# this in different ways.  Some systems, for instance, can do it via
--# a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
--OLD_LDFLAGS="$LDFLAGS"
--for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
--            "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
--  AC_MSG_CHECKING([for alias support in the linker])
--  LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
--  # We try to run the linker with this new ld flag.  If the link fails,
--  # we give up and remove the new flag from LDFLAGS.
--  AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp {
--                                    class RE { static int no_arg; };
--                                    int RE::no_arg;
--                                  }],
--                                 []),
--                 [AC_MSG_RESULT([yes]);
--                  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
--                  break;],
--                 AC_MSG_RESULT([no]))
--done
--LDFLAGS="$OLD_LDFLAGS"
--
- # We could be more clever here, given we're doing AC_SUBST with this
- # (eg set a var to be the name of the include file we want). But we're not
- # so it's easy to change back to 'regular' autoconf vars if we needed to.
-@@ -316,7 +288,6 @@
- AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
-                                 [pcre_have_type_traits="0"])
- 
--AC_LANG_POP
- fi
- # Using AC_SUBST eliminates the need to include config.h in a public .h file
- AC_SUBST(pcre_have_type_traits)
-Index: rpm-5.1.9/db/dist/configure.ac
-===================================================================
---- rpm-5.1.9.orig/db/dist/configure.ac	2008-06-15 08:16:21.000000000 +0100
-+++ rpm-5.1.9/db/dist/configure.ac	2010-07-06 15:36:39.262461127 +0100
-@@ -602,24 +602,6 @@
- aux*)	AC_LIBOBJ([getopt]);;
- esac
- 
--# Linux has a broken O_DIRECT flag, but you can't detect it at configure time.
--# Linux and SGI require buffer alignment we may not match, otherwise writes
--# will fail.  Default to not using the O_DIRECT flag.
--if test "$db_cv_o_direct" = "yes"; then
--	AC_CACHE_CHECK([for open/O_DIRECT], db_cv_open_o_direct, [
--	AC_TRY_LINK([
--	#include <sys/types.h>
--	#include <fcntl.h>], [
--		open("a", O_RDONLY | O_DIRECT, 0);
--	], [db_cv_open_o_direct=yes], [db_cv_open_o_direct=no])])
--	if test \
--	    "$db_cv_o_direct" = "yes" -a "$db_cv_open_o_direct" = "yes"; then
--		AC_DEFINE(HAVE_O_DIRECT)
--		AH_TEMPLATE(HAVE_O_DIRECT,
--		    [Define to 1 if you have the O_DIRECT flag.])
--	fi
--fi
--
- # Check for largefile support.
- AC_SYS_LARGEFILE
- 
-Index: rpm-5.1.9/xz/configure.ac
-===================================================================
---- rpm-5.1.9.orig/xz/configure.ac	2009-02-16 17:07:46.000000000 +0000
-+++ rpm-5.1.9/xz/configure.ac	2010-07-06 15:41:22.632467951 +0100
-@@ -457,26 +457,9 @@
- #endif
- ])
- 
--# Even if we have byteswap.h, we may lack the specific macros/functions.
--if test x$ac_cv_header_byteswap_h = xyes ; then
--	m4_foreach([FUNC], [bswap_16,bswap_32,bswap_64], [
--		AC_MSG_CHECKING([if FUNC is available])
--		AC_LINK_IFELSE([AC_LANG_SOURCE([
--#include <byteswap.h>
--int
--main(void)
--{
--	FUNC[](42);
--	return 0;
--}
--		])], [
--			AC_DEFINE(HAVE_[]m4_toupper(FUNC), [1],
--					[Define to 1 if] FUNC [is available.])
--			AC_MSG_RESULT([yes])
--		], [AC_MSG_RESULT([no])])
--
--	])dnl
--fi
-+AC_DEFINE(HAVE_BSWAP_16, 1)
-+AC_DEFINE(HAVE_BSWAP_32, 1)
-+AC_DEFINE(HAVE_BSWAP_64, 1)
- 
- 
- ###############################################################################
-@@ -527,90 +510,16 @@
- # xz command line tool uses this to automatically limit its memory usage.
- # - sysconf() gives all the needed info on GNU+Linux and Solaris.
- # - BSDs use sysctl().
--AC_MSG_CHECKING([how to detect the amount of physical memory])
--AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
--#include <unistd.h>
--int
--main()
--{
--	long i;
--	i = sysconf(_SC_PAGESIZE);
--	i = sysconf(_SC_PHYS_PAGES);
--	return 0;
--}
--]])], [
--	AC_DEFINE([HAVE_PHYSMEM_SYSCONF], [1],
-+AC_DEFINE([HAVE_PHYSMEM_SYSCONF], [1],
- 		[Define to 1 if the amount of physical memory can be detected
- 		with sysconf(_SC_PAGESIZE) and sysconf(_SC_PHYS_PAGES).])
--	AC_MSG_RESULT([sysconf])
--], [
--AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#ifdef HAVE_SYS_PARAM_H
--#	include <sys/param.h>
--#endif
--#include <sys/sysctl.h>
--int
--main()
--{
--	int name[2] = { CTL_HW, HW_PHYSMEM };
--	unsigned long mem;
--	size_t mem_ptr_size = sizeof(mem);
--	sysctl(name, 2, &mem, &mem_ptr_size, NULL, NULL);
--	return 0;
--}
--]])], [
--	AC_DEFINE([HAVE_PHYSMEM_SYSCTL], [1],
--		[Define to 1 if the amount of physical memory can be detected
--		with sysctl().])
--	AC_MSG_RESULT([sysctl])
--], [
--	AC_MSG_RESULT([unknown])
--])])
- 
- # Check how to find out the number of available CPU cores in the system.
- # sysconf(_SC_NPROCESSORS_ONLN) works on most systems, except that BSDs
- # use sysctl().
--AC_MSG_CHECKING([how to detect the number of available CPU cores])
--AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
--#include <unistd.h>
--int
--main()
--{
--	long i;
--	i = sysconf(_SC_NPROCESSORS_ONLN);
--	return 0;
--}
--]])], [
--	AC_DEFINE([HAVE_NCPU_SYSCONF], [1],
-+AC_DEFINE([HAVE_NCPU_SYSCONF], [1],
- 		[Define to 1 if the number of available CPU cores can be
- 		detected with sysconf(_SC_NPROCESSORS_ONLN).])
--	AC_MSG_RESULT([sysconf])
--], [
--AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#ifdef HAVE_SYS_PARAM_H
--#	include <sys/param.h>
--#endif
--#include <sys/sysctl.h>
--int
--main()
--{
--	int name[2] = { CTL_HW, HW_NCPU };
--	int cpus;
--	size_t cpus_size = sizeof(cpus);
--	sysctl(name, 2, &cpus, &cpus_size, NULL, NULL);
--	return 0;
--}
--]])], [
--	AC_DEFINE([HAVE_NCPU_SYSCTL], [1],
--		[Define to 1 if the number of available CPU cores can be
--		detected with sysctl().])
--	AC_MSG_RESULT([sysctl])
--], [
--	AC_MSG_RESULT([unknown])
--])])
--
- 
- ###############################################################################
- # If using GCC, set some additional CFLAGS:
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch b/meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch
deleted file mode 100644
index 5e93517..0000000
--- a/meta/recipes-devtools/rpm/rpm/rpm-autoconf.patch
+++ /dev/null
@@ -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 <mark.hatle@windriver.com>
-
-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], [rpm-devel@rpm5.org])
--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])
- 
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch b/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch
index 5fe6ded..5129833 100644
--- a/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch
+++ b/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch
@@ -6,42 +6,11 @@ Upstream-Status: Pending
 
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 
-diff -ur rpm-5.4.0.orig/autogen.sh rpm-5.4.0/autogen.sh
---- rpm-5.4.0.orig/autogen.sh	2010-11-02 11:55:53.000000000 -0500
-+++ rpm-5.4.0/autogen.sh	2011-01-06 00:15:05.158946295 -0600
-@@ -34,12 +34,6 @@
-     eval $_libtoolize $_libtoolize_args
- }
- 
--#   requirements sanity check
--[ "`automake   --version | head -1`" != "$AMV" ] && echo "$USAGE" # && exit 1
--[ "`autoconf   --version | head -1`" != "$ACV" ] && echo "$USAGE" # && exit 1
--[ "`libtoolize --version | head -1`" != "$LTV" ] && echo "$USAGE" # && exit 1
--[ "`gettextize --version | head -1 | sed -e 's;^.*/\\(gettextize\\);\\1;'`" != "$GTT" ] && echo "$USAGE" # && exit 1
--
- for dir in bash beecrypt file neon pcre popt rc syck xar xz; do
- 
-   if [ -d $dir ]; then
-diff -ur rpm-5.4.0.orig/neon/autogen.sh rpm-5.4.0/neon/autogen.sh
---- rpm-5.4.0.orig/neon/autogen.sh	2010-10-30 19:11:33.000000000 -0500
-+++ rpm-5.4.0/neon/autogen.sh	2011-01-06 00:15:17.863962139 -0600
-@@ -34,12 +34,6 @@
-     eval $_libtoolize $_libtoolize_args
- }
- 
--#   requirements sanity check
--[ "`automake   --version | head -1`" != "$AMV" ] && echo "$USAGE" # && exit 1
--[ "`autoconf   --version | head -1`" != "$ACV" ] && echo "$USAGE" # && exit 1
--[ "`libtoolize --version | head -1`" != "$LTV" ] && echo "$USAGE" # && exit 1
--[ "`gettextize --version | head -1 | sed -e 's;^.*/\\(gettextize\\);\\1;'`" != "$GTT" ] && echo "$USAGE" # && exit 1
--
- echo "---> generate files via GNU libtool (libtoolize)"
- libtoolize --quiet --copy --force --install
- echo "---> generate files via GNU autoconf (aclocal, autoheader)"
-diff -ur rpm-5.4.0.orig/syck/autogen.sh rpm-5.4.0/syck/autogen.sh
---- rpm-5.4.0.orig/syck/autogen.sh	2010-11-02 11:55:56.000000000 -0500
-+++ rpm-5.4.0/syck/autogen.sh	2011-01-06 00:15:27.103949601 -0600
-@@ -34,12 +34,6 @@
+Index: rpm-5.4.8/syck/autogen.sh
+===================================================================
+--- rpm-5.4.8.orig/syck/autogen.sh
++++ rpm-5.4.8/syck/autogen.sh
+@@ -34,12 +34,6 @@ libtoolize () {
      eval $_libtoolize $_libtoolize_args
  }
  
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch b/meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch
index e063e86..d9b4e33 100644
--- a/meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch
+++ b/meta/recipes-devtools/rpm/rpm/rpm-db-reduce.patch
@@ -4,16 +4,16 @@ Change cache size to reduce the usage of disk space from 62MB to 26MB.
 
 Signed-off-by: Mei Lei <lei.mei@intel.com>
 
-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
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch b/meta/recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch
index babafb3..4f484c4 100644
--- a/meta/recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch
+++ b/meta/recipes-devtools/rpm/rpm/rpm-log-auto-rm.patch
@@ -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
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-macros.patch b/meta/recipes-devtools/rpm/rpm/rpm-macros.patch
new file mode 100644
index 0000000..f25656a
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-macros.patch
@@ -0,0 +1,61 @@
+macros/macros.in: Revert settings to the same as RPM 5.4.0
+
+Enable a reasonable set of rpmdeps dependency helper macros.  These sets
+were used by RPM 5.4.0.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur rpm-5.4.8.orig/macros/macros.in rpm-5.4.8/macros/macros.in
+--- rpm-5.4.8.orig/macros/macros.in	2012-03-21 19:04:06.000000000 -0500
++++ rpm-5.4.8/macros/macros.in	2012-06-07 17:02:53.903046624 -0500
+@@ -985,7 +985,7 @@
+ 
+ #==============================================================================
+ # ---- rpmbuild macros.
+-#%%{load:%{_usrlibrpm}/macros.rpmbuild}
++%{load:%{_usrlibrpm}/macros.rpmbuild}
+ 
+ #------------------------------------------------------------------------
+ # cmake(...) configuration
+@@ -997,15 +997,15 @@
+ 
+ #------------------------------------------------------------------------
+ # perl(...) configuration
+-#%%{load:%{_usrlibrpm}/macros.d/perl}
++%{load:%{_usrlibrpm}/macros.d/perl}
+ 
+ #------------------------------------------------------------------------
+ # python(...) configuration.
+-#%%{load:%{_usrlibrpm}/macros.d/python}
++%{load:%{_usrlibrpm}/macros.d/python}
+ 
+ #------------------------------------------------------------------------
+ # php(...) configuration.
+-#%%{load:%{_usrlibrpm}/macros.d/php}
++%{load:%{_usrlibrpm}/macros.d/php}
+ 
+ #------------------------------------------------------------------------
+ # java(...) configuration.
+@@ -1013,11 +1013,11 @@
+ 
+ #------------------------------------------------------------------------
+ # libtool(...) configuration.
+-#%%{load:%{_usrlibrpm}/macros.d/libtool}
++%{load:%{_usrlibrpm}/macros.d/libtool}
+ 
+ #------------------------------------------------------------------------
+ # pkgconfig(...) configuration.
+-#%%{load:%{_usrlibrpm}/macros.d/pkgconfig}
++%{load:%{_usrlibrpm}/macros.d/pkgconfig}
+ 
+ #------------------------------------------------------------------------
+ # mono(...) configuration.
+@@ -1029,7 +1029,7 @@
+ 
+ #------------------------------------------------------------------------
+ # tcl(...) configuration.
+-#%%{load:%{_usrlibrpm}/macros.d/tcl}
++%{load:%{_usrlibrpm}/macros.d/tcl}
+ 
+ # \endverbatim
+ #*/
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch b/meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch
new file mode 100644
index 0000000..90fee35
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-no-perl-urpm.patch
@@ -0,0 +1,43 @@
+Disable perl-URPM support
+
+This causes a configure failure when perl-URPM is not used.
+
+| configure.ac:1159: required file `perl-URPM/Makefile.PL.in' not found
+| configure.ac:1159: required file `perl-URPM/Makefile.in' not found
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- rpm-5.4.8/configure.ac.orig	2012-04-24 09:10:01.856749153 -0500
++++ rpm-5.4.8/configure.ac	2012-04-24 09:10:35.198731504 -0500
+@@ -1149,30 +1149,10 @@
+ AC_SUBST(WITH_PERL_SUBPACKAGE)
+ AC_SUBST(WITH_PERL_LIBS)
+ 
+-dnl # optional Perl-URPM language bindings
++dnl # disable Perl-URPM language bindings
+ WITH_PERL_URPM_SUBDIR=""
+ WITH_PERL_URPM_SUBPACKAGE=0
+ WITH_PERL_URPM_LIBS=""
+-if test ".$WITH_PTHREADS" = .yes; then
+-    WITH_PERL_URPM_LIBS="$LIBS"
+-fi
+-AC_ARG_WITH(perl-urpm, AS_HELP_STRING([--with-perl-urpm], [build with Perl URPM language bindings]), [
+-    if test ".$withval" != .no; then
+-	PERL_URPM_INSTALLDIRS=""
+-	   if test "$withval" == "vendor"; then
+-		    PERL_URPM_INSTALLDIRS="'INSTALLDIRS'	=> 'vendor',"
+-	    fi
+-	    if test "$withval" == "site"; then
+-		    PERL_URPM_INSTALLDIRS="'INSTALLDIRS'     => 'site',"
+-	    fi
+-	    AC_DEFINE_UNQUOTED([PERL_URPM_INSTALLDIRS], [$PERL_URPM_INSTALLDIRS], [Perl install directory (vendor/site)])
+-	    AC_SUBST(PERL_URPM_INSTALLDIRS)
+-        WITH_PERL_URPM_SUBDIR=perl-URPM
+-        WITH_PERL_URPM_SUBPACKAGE=1
+-        AC_CONFIG_FILES([perl-URPM/Makefile.PL])
+-        AC_CONFIG_FILES([perl-URPM/Makefile])
+-    fi
+-])
+ AC_SUBST(WITH_PERL_URPM_SUBDIR)
+ AC_SUBST(WITH_PERL_URPM_SUBPACKAGE)
+ AC_SUBST(WITH_PERL_URPM_LIBS)
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch b/meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
deleted file mode 100644
index f6e5828..0000000
--- a/meta/recipes-devtools/rpm/rpm/rpm-nofsync.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Backport from RPM 5.4.1 CVS, disabled fsync.
-
-Upstream-Status: Backport
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
-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;
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.8.bb
similarity index 91%
rename from meta/recipes-devtools/rpm/rpm_5.4.0.bb
rename to meta/recipes-devtools/rpm/rpm_5.4.8.bb
index 43999e5..ac86ff3 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.8.bb
@@ -42,14 +42,14 @@ HOMEPAGE = "http://rpm5.org/"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
-DEPENDS = "bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}"
+DEPENDS = "beecrypt bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}"
 extrarpmdeps = "python perl file"
 extrarpmdeps_virtclass-native = "python-native file-native"
-PR = "r38"
+PR = "r39"
 
 # rpm2cpio is a shell script, which is part of the rpm src.rpm.  It is needed
 # in order to extract the distribution SRPM into a format we can extract...
-SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;extract=rpm-5.4.0.tar.gz \
+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 \
 	   file://rpm-log-auto-rm.patch \
 	   file://rpm-db-reduce.patch \
 	   file://perfile_rpmdeps.sh \
@@ -58,28 +58,22 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex
 	   file://header-include-fix.patch \
 	   file://rpm-platform.patch \
 	   file://rpm-showrc.patch \
-	   file://rpm-nofsync.patch \
 	   file://rpm-solvedb.patch \
 	   file://rpm-tools-mtree-LDFLAGS.patch \
-	   file://fprint-pointer-fix.patch \
 	   file://rpm-fileclass.patch \
 	   file://rpm-canonarch.patch \
 	   file://rpm-no-loopmsg.patch \
 	   file://rpm-scriptletexechelper.patch \
-	   file://fix_for_automake_1.11.2.patch \
 	   file://pythondeps.sh \
 	   file://rpmdeps-oecore.patch \
 	   file://rpm-resolvedep.patch \
 	   file://rpm-respect-arch.patch \
-	   file://rpm_fix_for_automake-1.12.patch \
+	   file://rpm-no-perl-urpm.patch \
+	   file://rpm-macros.patch \
 	  "
 
-#	   file://rpm-autoconf.patch \
-#	   file://remove-compiled-tests.patch;apply=no \
-#	  "
-
-SRC_URI[md5sum] = "19c1a7f68d7765eeb7615c9c4e54e380"
-SRC_URI[sha256sum] = "887e76218308b570c33c8c2fb10b5298b3afd5d602860d281befc85357b3b923"
+SRC_URI[md5sum] = "424b60bf2e0a624a218440d943861644"
+SRC_URI[sha256sum] = "56eb5033d4de98c217475fb34d466d551f8912959389e7854a806e2bd9e13380"
 
 inherit autotools gettext
 
@@ -106,13 +100,13 @@ WITH_PYTHON = "	--with-python=${PYTHON_BASEVERSION} \
 # 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"
+WITH_PERL = "	--without-perl --without-perl-urpm"
 
-WITH_PERL_virtclass-native = " --without-perl"
+WITH_PERL_virtclass-native = " --without-perl --without-perl-urpm"
 
 WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated --without-sqlite"
 
-WITH_CRYPTO = "--with-beecrypt=internal --with-openssl --without-nss --without-gcrypt"
+WITH_CRYPTO = "--with-beecrypt --with-openssl --without-nss --without-gcrypt"
 
 WITH_KEYUTILS = "--without-keyutils"
 WITH_LIBELF = "--with-libelf"
@@ -411,6 +405,25 @@ do_install_append() {
 	rm -f ${D}/${libdir}/rpm/dbconvert.sh
 
 	rm -f ${D}/${libdir}/rpm/libsqldb.*
+
+	# We don't want, nor need the Mandriva multiarch items
+	rm -f ${D}/${bindir}/multiarch-dispatch
+	rm -f ${D}/${bindir}/multiarch-platform
+	rm -f ${D}/${libdir}/rpm/check-multiarch-files
+	rm -f ${D}/${libdir}/rpm/mkmultiarch
+	rm -f ${D}/${includedir}/multiarch-dispatch.h
+
+	rm -f ${D}/${libdir}/rpm/gstreamer.sh
+	rm -f ${D}/${libdir}/rpm/gem_helper.rb
+	rm -f ${D}/${libdir}/rpm/rubygems.rb
+	rm -f ${D}/${libdir}/rpm/kmod-deps.sh
+	rm -f ${D}/${libdir}/rpm/pythoneggs.py
+	rm -f ${D}/${libdir}/rpm/macros.d/kernel
+	rm -f ${D}/${libdir}/rpm/macros.d/gstreamer
+	rm -f ${D}/${libdir}/rpm/bin/mgo
+	rm -f ${D}/${libdir}/rpm/bin/dbconvert
+	rm -f ${D}/${libdir}/rpm/bin/pom2spec
+
 }
 
 do_install_append_virtclass-native() {
diff --git a/meta/recipes-support/db/db_5.1.19.bb b/meta/recipes-support/db/db_5.3.15.bb
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
--- a/meta/recipes-support/db/db_5.1.19.bb
+++ b/meta/recipes-support/db/db_5.3.15.bb
@@ -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
 
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/9] rpm: Upgrade RPM to 5.4.9
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
  2012-06-11 18:18 ` [PATCH 1/9] rpm: Upgrade RPM to 5.4.8 (db to 5.3.15) Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 19:53   ` Khem Raj
  2012-06-11 18:18 ` [PATCH 3/9] ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration Mark Hatle
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/recipes-devtools/rpm/rpm/rpm-lua.patch        |   29 +++++
 .../rpm/rpm/rpm-scriptletexechelper.patch          |   33 +++---
 meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch |   26 ++---
 .../rpm/{rpm_5.4.8.bb => rpm_5.4.9.bb}             |  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

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




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/9] ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
  2012-06-11 18:18 ` [PATCH 1/9] rpm: Upgrade RPM to 5.4.8 (db to 5.3.15) Mark Hatle
  2012-06-11 18:18 ` [PATCH 2/9] rpm: Upgrade RPM to 5.4.9 Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 18:18 ` [PATCH 4/9] package_rpm: Add capability to directly query packageorigin Mark Hatle
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 .../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

diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch
new file mode 100644
index 0000000..a46e244
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0001-Change-library-name.patch
@@ -0,0 +1,112 @@
+From: Piotr Roszatycki <dexter@debian.org>
+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@
+ 
+-- 
diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patch b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patch
new file mode 100644
index 0000000..1467207
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0002-uuid-preserve-m-option-status-in-v-option-handling.patch
@@ -0,0 +1,55 @@
+From: Marco Nenciarini <marco.nenciarini@devise.it>
+Date: Wed, 27 Jan 2010 19:46:21 +0100
+Subject: [PATCH] uuid: preserve -m option status in -v option handling
+
+Bug: 531396
+---
+ uuid_cli.c |   19 ++++++++++---------
+ 1 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/uuid_cli.c b/uuid_cli.c
+index d1b0b11..14a67fe 100644
+--- a/uuid_cli.c
++++ b/uuid_cli.c
+@@ -140,11 +140,12 @@ int main(int argc, char *argv[])
+                 i = strtol(optarg, &p, 10);
+                 if (*p != '\0')
+                     usage("invalid argument to option 'v'");
++                version &= ~(UUID_MAKE_V1|UUID_MAKE_V3|UUID_MAKE_V4|UUID_MAKE_V5);
+                 switch (i) {
+-                    case 1: version = UUID_MAKE_V1; break;
+-                    case 3: version = UUID_MAKE_V3; break;
+-                    case 4: version = UUID_MAKE_V4; break;
+-                    case 5: version = UUID_MAKE_V5; break;
++                    case 1: version |= UUID_MAKE_V1; break;
++                    case 3: version |= UUID_MAKE_V3; break;
++                    case 4: version |= UUID_MAKE_V4; break;
++                    case 5: version |= UUID_MAKE_V5; break;
+                     default:
+                         usage("invalid version on option 'v'");
+                         break;
+@@ -213,10 +214,10 @@ int main(int argc, char *argv[])
+     }
+     else {
+         /* encoding */
+-        if (   (version == UUID_MAKE_V1 && argc != 0)
+-            || (version == UUID_MAKE_V3 && argc != 2)
+-            || (version == UUID_MAKE_V4 && argc != 0)
+-            || (version == UUID_MAKE_V5 && argc != 2))
++        if (   (version & UUID_MAKE_V1 && argc != 0)
++            || (version & UUID_MAKE_V3 && argc != 2)
++            || (version & UUID_MAKE_V4 && argc != 0)
++            || (version & UUID_MAKE_V5 && argc != 2))
+             usage("invalid number of arguments");
+         if ((rc = uuid_create(&uuid)) != UUID_RC_OK)
+             error(1, "uuid_create: %s", uuid_error(rc));
+@@ -232,7 +233,7 @@ int main(int argc, char *argv[])
+                 if ((rc = uuid_load(uuid, "nil")) != UUID_RC_OK)
+                     error(1, "uuid_load: %s", uuid_error(rc));
+             }
+-            if (version == UUID_MAKE_V3 || version == UUID_MAKE_V5) {
++            if (version & UUID_MAKE_V3 || version & UUID_MAKE_V5) {
+                 if ((rc = uuid_create(&uuid_ns)) != UUID_RC_OK)
+                     error(1, "uuid_create: %s", uuid_error(rc));
+                 if ((rc = uuid_load(uuid_ns, argv[0])) != UUID_RC_OK) {
+-- 
diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch
new file mode 100644
index 0000000..060a754
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0003-Fix-whatis-entries.patch
@@ -0,0 +1,51 @@
+From: Marco Nenciarini <marco.nenciarini@devise.it>
+Date: Tue, 2 Feb 2010 12:16:49 +0100
+Subject: [PATCH] Fix whatis entries
+
+Fix whatis entry of uuid.1, uuid.3ossp and uuid++.3ossp manpages
+---
+ uuid++.pod   |    2 +-
+ uuid.pod     |    2 +-
+ uuid_cli.pod |    2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/uuid++.pod b/uuid++.pod
+index 8b5a4b1..89c5efb 100644
+--- a/uuid++.pod
++++ b/uuid++.pod
+@@ -31,7 +31,7 @@
+ 
+ =head1 NAME
+ 
+-B<OSSP uuid> - B<Universally Unique Identifier> (C++ API)
++B<uuid++> - B<Universally Unique Identifier> (C++ API)
+ 
+ =head1 VERSION
+ 
+diff --git a/uuid.pod b/uuid.pod
+index 4ad3742..0179a46 100644
+--- a/uuid.pod
++++ b/uuid.pod
+@@ -31,7 +31,7 @@
+ 
+ =head1 NAME
+ 
+-B<OSSP uuid> - B<Universally Unique Identifier>
++B<uuid> - B<Universally Unique Identifier>
+ 
+ =head1 VERSION
+ 
+diff --git a/uuid_cli.pod b/uuid_cli.pod
+index ddec6bb..df9dc83 100644
+--- a/uuid_cli.pod
++++ b/uuid_cli.pod
+@@ -31,7 +31,7 @@
+ 
+ =head1 NAME
+ 
+-B<OSSP uuid> - B<Universally Unique Identifier Command-Line Tool>
++B<uuid> - B<Universally Unique Identifier Command-Line Tool>
+ 
+ =head1 VERSION
+ 
+-- 
diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patch b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patch
new file mode 100644
index 0000000..1f92cea
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid/0004-fix-data-uuid-from-string.patch
@@ -0,0 +1,36 @@
+Description: Support dash-less args to from_string.
+Author: Tim Retout <diocles@debian.org>
+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);
diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch b/meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch
new file mode 100644
index 0000000..97daca4
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-libtool.patch
@@ -0,0 +1,24 @@
+Remove hardcoded libtool name, fall back to generated name
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+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@
diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch b/meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch
new file mode 100644
index 0000000..78f3c94
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid/uuid-nostrip.patch
@@ -0,0 +1,16 @@
+We don't want anything stripped
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+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)); \
diff --git a/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb b/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb
new file mode 100644
index 0000000..cc1ec75
--- /dev/null
+++ b/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Universally Unique Identifier (UUID) library" 
+DESCRIPTION = "OSSP uuid is a ISO-C:1999 application programming interface \
+(API) and corresponding command line interface (CLI) for the generation of \
+DCE 1.1, ISO/IEC 11578:1996 and RFC 4122 compliant Universally Unique \
+Identifier (UUID). It supports DCE 1.1 variant UUIDs of version 1 (time \
+and node based), version 3 (name based, MD5), version 4 (random number \
+based) and version 5 (name based, SHA-1)."
+DESCRIPTION_uuid = "This package contains a tool to create Universally \
+Unique Identifiers (UUID) from the command-line."
+
+HOMEPAGE = "http://www.ossp.org/pkg/lib/uuid/"
+SECTION = "libs"
+
+LICENSE = "ossp_uuid"
+LIC_FILES_CHKSUM = "file://README;beginline=30;endline=55;md5=b394fadb039bbfca6ad9d9d769ee960e"
+
+PR = "r0"
+
+SRC_URI = "ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz \
+	   file://0001-Change-library-name.patch \
+	   file://0002-uuid-preserve-m-option-status-in-v-option-handling.patch \
+	   file://0003-Fix-whatis-entries.patch \
+	   file://0004-fix-data-uuid-from-string.patch \
+	   file://uuid-libtool.patch \
+	   file://uuid-nostrip.patch \
+	  "
+SRC_URI[md5sum] = "5db0d43a9022a6ebbbc25337ae28942f"
+SRC_URI[sha256sum] = "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
+
+S = "${WORKDIR}/uuid-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF = "--without-dce --without-cxx --without-perl --without-perl-compat --without-php --without-pgsql"
+EXTRA_OECONF = "--includedir=${includedir}/ossp"
+
+do_configure_prepend() {
+  # This package has a completely custom aclocal.m4
+  # so we need to back it up and make it usable...
+  if [ ! -e m4/ossp.m4 ]; then
+    mkdir m4
+    mv aclocal.m4 m4/ossp.m4
+  fi
+
+  rm -f libtool.m4
+}
+
+do_install_append() {
+  mkdir -p  ${D}${includedir}/ossp
+  mv ${D}${libdir}/pkgconfig/uuid.pc ${D}${libdir}/pkgconfig/ossp-uuid.pc
+}
+
+PACKAGES =+ "uuid"
+FILES_uuid = "${bindir}/uuid"
+FILES_${PN} = "${libdir}/libossp-uuid.so.16*"
+FILES_${PN}-dev += "${bindir}/uuid-config"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch b/meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch
new file mode 100644
index 0000000..1f4ba98
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-ossp-uuid.patch
@@ -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 <mark.hatle@windriver.com>
+
+diff -ur rpm-5.4.9.orig/configure.ac rpm-5.4.9/configure.ac
+--- rpm-5.4.9.orig/configure.ac	2012-05-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
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index 6eba802..2ca0f58 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
@@ -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
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/9] package_rpm: Add capability to directly query packageorigin
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (2 preceding siblings ...)
  2012-06-11 18:18 ` [PATCH 3/9] ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-12  7:21   ` Giuseppe Condorelli
  2012-06-11 18:18 ` [PATCH 5/9] rpm: Bump PR numbers on componets that require RPM Mark Hatle
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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 <mark.hatle@windriver.com>
---
 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

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
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+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 b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index 2ca0f58..a38a684 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
+++ b/meta/recipes-devtools/rpm/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




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 5/9] rpm: Bump PR numbers on componets that require RPM
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (3 preceding siblings ...)
  2012-06-11 18:18 ` [PATCH 4/9] package_rpm: Add capability to directly query packageorigin Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 18:18 ` [PATCH 6/9] rootfs_rpm.bbclass: Update database configuration file Mark Hatle
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

With the recent RPM uprev, libzypp, sat-solver and zypper should be
rebuilt to ensure they get the right BerkleyDB and rpmdb interfaces.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 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(-)

diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index c5761d5..90ee8c4 100644
--- a/meta/recipes-extended/libzypp/libzypp_git.bb
+++ b/meta/recipes-extended/libzypp/libzypp_git.bb
@@ -11,7 +11,7 @@ DEPENDS  = "rpm boost curl libxml2 zlib sat-solver expat openssl udev libproxy"
 S = "${WORKDIR}/git"
 SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
 PV = "0.0-git${SRCPV}"
-PR = "r21"
+PR = "r22"
 
 SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
            file://no-doc.patch \
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
index 9d8422f..b0382f6 100644
--- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
+++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
@@ -8,7 +8,7 @@ DEPENDS = "libcheck rpm zlib expat db"
 
 SRCREV = "0a7378d5f482f477a01cf1690d76871ab8bdcc32"
 PV = "0.0-git${SRCPV}"
-PR = "r13"
+PR = "r14"
 
 PARALLEL_MAKE=""
 
diff --git a/meta/recipes-extended/zypper/zypper_git.bb b/meta/recipes-extended/zypper/zypper_git.bb
index 56ccc86..0a1df5d 100644
--- a/meta/recipes-extended/zypper/zypper_git.bb
+++ b/meta/recipes-extended/zypper/zypper_git.bb
@@ -5,7 +5,7 @@ LICENSE  = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3201406e350b39e05a82e28b5020f413"
 
 DEPENDS  = "libzypp augeas"
-PR = "r2"
+PR = "r3"
 SRCREV = "2c5bb6ceb99ecd950ef993e43d77bf0569ea0582"
 
 inherit cmake
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6/9] rootfs_rpm.bbclass: Update database configuration file
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (4 preceding siblings ...)
  2012-06-11 18:18 ` [PATCH 5/9] rpm: Bump PR numbers on componets that require RPM Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 18:18 ` [PATCH 7/9] createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag Mark Hatle
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/classes/package_rpm.bbclass |   32 ++++++++++++++++++++++++++++++++
 meta/classes/rootfs_rpm.bbclass  |   31 -------------------------------
 2 files changed, 32 insertions(+), 31 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 097fa12..b84c044 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -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 
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index eafb34b..202f9ce 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -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
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 7/9] createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (5 preceding siblings ...)
  2012-06-11 18:18 ` [PATCH 6/9] rootfs_rpm.bbclass: Update database configuration file Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 18:18 ` [PATCH 8/9] package_rpm: Verify that the package manifests are not empty Mark Hatle
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 .../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

diff --git a/meta/recipes-support/createrepo/createrepo/createrepo-rpm549.patch b/meta/recipes-support/createrepo/createrepo/createrepo-rpm549.patch
new file mode 100644
index 0000000..3423c44
--- /dev/null
+++ b/meta/recipes-support/createrepo/createrepo/createrepo-rpm549.patch
@@ -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 <mark.hatle@windriver.com>
+
+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:
diff --git a/meta/recipes-support/createrepo/createrepo_0.4.11.bb b/meta/recipes-support/createrepo/createrepo_0.4.11.bb
index 989a745..060ed59 100644
--- a/meta/recipes-support/createrepo/createrepo_0.4.11.bb
+++ b/meta/recipes-support/createrepo/createrepo_0.4.11.bb
@@ -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"
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 8/9] package_rpm: Verify that the package manifests are not empty
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (6 preceding siblings ...)
  2012-06-11 18:18 ` [PATCH 7/9] createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag Mark Hatle
@ 2012-06-11 18:18 ` Mark Hatle
  2012-06-11 19:56   ` Khem Raj
  2012-06-11 18:19 ` [PATCH 9/9] rpm: Ensure pkgconfig deps don't stray from the package being built Mark Hatle
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:18 UTC (permalink / raw)
  To: openembedded-core

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

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/classes/package_rpm.bbclass |   59 ++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index b84c044..bb9aa1a 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -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)"
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 9/9] rpm: Ensure pkgconfig deps don't stray from the package being built
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (7 preceding siblings ...)
  2012-06-11 18:18 ` [PATCH 8/9] package_rpm: Verify that the package manifests are not empty Mark Hatle
@ 2012-06-11 18:19 ` Mark Hatle
  2012-06-11 18:36 ` [PATCH 0/9 v7] Uprev RPM to 5.4.9 Flanagan, Elizabeth
  2012-06-12 10:11 ` Richard Purdie
  10 siblings, 0 replies; 17+ messages in thread
From: Mark Hatle @ 2012-06-11 18:19 UTC (permalink / raw)
  To: openembedded-core

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

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 .../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

diff --git a/meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.patch b/meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.patch
new file mode 100644
index 0000000..4aba400
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-pkgconfigdeps.patch
@@ -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 <mark.hatle@windriver.com>
+
+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
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index a38a684..51cf93b 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
+++ b/meta/recipes-devtools/rpm/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 = "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"
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/9 v7] Uprev RPM to 5.4.9
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (8 preceding siblings ...)
  2012-06-11 18:19 ` [PATCH 9/9] rpm: Ensure pkgconfig deps don't stray from the package being built Mark Hatle
@ 2012-06-11 18:36 ` Flanagan, Elizabeth
  2012-06-12 10:11 ` Richard Purdie
  10 siblings, 0 replies; 17+ messages in thread
From: Flanagan, Elizabeth @ 2012-06-11 18:36 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, Jun 11, 2012 at 11:18 AM, Mark Hatle <mark.hatle@windriver.com> wrote:
> 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

>
> 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
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



-- 
Elizabeth Flanagan
Yocto Project
Build and Release



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/9] rpm: Upgrade RPM to 5.4.9
  2012-06-11 18:18 ` [PATCH 2/9] rpm: Upgrade RPM to 5.4.9 Mark Hatle
@ 2012-06-11 19:53   ` Khem Raj
  0 siblings, 0 replies; 17+ messages in thread
From: Khem Raj @ 2012-06-11 19:53 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 14595 bytes --]

On Monday, June 11, 2012, Mark Hatle <mark.hatle@windriver.com> wrote:
> Beside upreving RPM, add necessary integration pathces to libzypp.

Typo there I guess you wanted "patches" there


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

[-- Attachment #2: Type: text/html, Size: 18813 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 8/9] package_rpm: Verify that the package manifests are not empty
  2012-06-11 18:18 ` [PATCH 8/9] package_rpm: Verify that the package manifests are not empty Mark Hatle
@ 2012-06-11 19:56   ` Khem Raj
  0 siblings, 0 replies; 17+ messages in thread
From: Khem Raj @ 2012-06-11 19:56 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 8390 bytes --]

On Monday, June 11, 2012, Mark Hatle <mark.hatle@windriver.com> wrote:
> 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..)
>
> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> ---
>  meta/classes/package_rpm.bbclass |   59
++++++++++++++++++++++----------------
>  1 files changed, 34 insertions(+), 25 deletions(-)
>
> diff --git a/meta/classes/package_rpm.bbclass
b/meta/classes/package_rpm.bbclass
> index b84c044..bb9aa1a 100644
> --- a/meta/classes/package_rpm.bbclass
> +++ b/meta/classes/package_rpm.bbclass
> @@ -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

Should this be just 'remove'

>             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)"
> --
> 1.7.3.4
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 10529 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/9] package_rpm: Add capability to directly query packageorigin
  2012-06-11 18:18 ` [PATCH 4/9] package_rpm: Add capability to directly query packageorigin Mark Hatle
@ 2012-06-12  7:21   ` Giuseppe Condorelli
  2012-06-12 18:46     ` Mark Hatle
  0 siblings, 1 reply; 17+ messages in thread
From: Giuseppe Condorelli @ 2012-06-12  7:21 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 6284 bytes --]

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 <mark.hatle@windriver.com>

> 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 <mark.hatle@windriver.com>
> ---
>  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
>
> 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
> +
> +Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> +
> +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.bbb/meta/recipes-devtools/rpm/
> rpm_5.4.9.bb
> index 2ca0f58..a38a684 100644
> --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> +++ b/meta/recipes-devtools/rpm/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
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 7980 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/9 v7] Uprev RPM to 5.4.9
  2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
                   ` (9 preceding siblings ...)
  2012-06-11 18:36 ` [PATCH 0/9 v7] Uprev RPM to 5.4.9 Flanagan, Elizabeth
@ 2012-06-12 10:11 ` Richard Purdie
  10 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2012-06-12 10:11 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, 2012-06-11 at 13:18 -0500, Mark Hatle wrote:
> 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

Merged to master, thanks.

Richard




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/9] package_rpm: Add capability to directly query packageorigin
  2012-06-12  7:21   ` Giuseppe Condorelli
@ 2012-06-12 18:46     ` Mark Hatle
  2012-06-13  8:03       ` Giuseppe Condorelli
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Hatle @ 2012-06-12 18:46 UTC (permalink / raw)
  To: openembedded-core

On 6/12/12 2:21 AM, Giuseppe Condorelli wrote:
> 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,
> Giuseppe
>
> 2012/6/11 Mark Hatle <mark.hatle@windriver.com <mailto:mark.hatle@windriver.com>>
>
>     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 <mark.hatle@windriver.com
>     <mailto:mark.hatle@windriver.com>>
>     ---
>     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 <mark.hatle@windriver.com
>     <mailto:mark.hatle@windriver.com>>
>     +
>     +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
>     Openembedded-core@lists.openembedded.org
>     <mailto:Openembedded-core@lists.openembedded.org>
>     http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/9] package_rpm: Add capability to directly query packageorigin
  2012-06-12 18:46     ` Mark Hatle
@ 2012-06-13  8:03       ` Giuseppe Condorelli
  0 siblings, 0 replies; 17+ messages in thread
From: Giuseppe Condorelli @ 2012-06-13  8:03 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 8566 bytes --]

Hi Mark,

many thanks for the explanation.

Cheers,
Giuseppe

2012/6/12 Mark Hatle <mark.hatle@windriver.com>

> On 6/12/12 2:21 AM, Giuseppe Condorelli wrote:
>
>> 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,
>> Giuseppe
>>
>> 2012/6/11 Mark Hatle <mark.hatle@windriver.com <mailto:
>> mark.hatle@windriver.**com <mark.hatle@windriver.com>>>
>>
>>
>>    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 <mark.hatle@windriver.com
>>    <mailto:mark.hatle@windriver.**com <mark.hatle@windriver.com>>>
>>
>>    ---
>>    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"
>> -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 <mark.hatle@windriver.com
>>    <mailto:mark.hatle@windriver.**com <mark.hatle@windriver.com>>>
>>
>>    +
>>    +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<Openembedded-core@lists.openembedded.org>
>>    <mailto:Openembedded-core@**lists.openembedded.org<Openembedded-core@lists.openembedded.org>
>> >
>>    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<Openembedded-core@lists.openembedded.org>
>> 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<Openembedded-core@lists.openembedded.org>
> http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**openembedded-core<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core>
>

[-- Attachment #2: Type: text/html, Size: 11478 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2012-06-13  8:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-11 18:18 [PATCH 0/9 v7] Uprev RPM to 5.4.9 Mark Hatle
2012-06-11 18:18 ` [PATCH 1/9] rpm: Upgrade RPM to 5.4.8 (db to 5.3.15) Mark Hatle
2012-06-11 18:18 ` [PATCH 2/9] rpm: Upgrade RPM to 5.4.9 Mark Hatle
2012-06-11 19:53   ` Khem Raj
2012-06-11 18:18 ` [PATCH 3/9] ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration Mark Hatle
2012-06-11 18:18 ` [PATCH 4/9] package_rpm: Add capability to directly query packageorigin Mark Hatle
2012-06-12  7:21   ` Giuseppe Condorelli
2012-06-12 18:46     ` Mark Hatle
2012-06-13  8:03       ` Giuseppe Condorelli
2012-06-11 18:18 ` [PATCH 5/9] rpm: Bump PR numbers on componets that require RPM Mark Hatle
2012-06-11 18:18 ` [PATCH 6/9] rootfs_rpm.bbclass: Update database configuration file Mark Hatle
2012-06-11 18:18 ` [PATCH 7/9] createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag Mark Hatle
2012-06-11 18:18 ` [PATCH 8/9] package_rpm: Verify that the package manifests are not empty Mark Hatle
2012-06-11 19:56   ` Khem Raj
2012-06-11 18:19 ` [PATCH 9/9] rpm: Ensure pkgconfig deps don't stray from the package being built Mark Hatle
2012-06-11 18:36 ` [PATCH 0/9 v7] Uprev RPM to 5.4.9 Flanagan, Elizabeth
2012-06-12 10:11 ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.