summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/rpm
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-06-11 13:18:53 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-12 11:10:35 +0100
commitbc4a29df84542f0ef905a2e20d8533a0ea7cb613 (patch)
treed0261f05a3ec020eb2c46dd36d22d1ee19be2a82 /meta/recipes-devtools/rpm/rpm
parentb2381b63b94604fdc0e1a7591c854dc1df3ca8f4 (diff)
downloadast2050-yocto-poky-bc4a29df84542f0ef905a2e20d8533a0ea7cb613.zip
ast2050-yocto-poky-bc4a29df84542f0ef905a2e20d8533a0ea7cb613.tar.gz
rpm: Upgrade RPM to 5.4.9
Beside upreving RPM, add necessary integration patches 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. (From OE-Core rev: bf94103d4c532ffdfdcdcc6d27c9f65f7824f8f8) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm')
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-lua.patch29
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch33
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch26
3 files changed, 57 insertions, 31 deletions
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
-
OpenPOWER on IntegriCloud