diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2012-06-11 13:18:53 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-06-12 11:10:35 +0100 |
commit | bc4a29df84542f0ef905a2e20d8533a0ea7cb613 (patch) | |
tree | d0261f05a3ec020eb2c46dd36d22d1ee19be2a82 /meta/recipes-devtools/rpm/rpm | |
parent | b2381b63b94604fdc0e1a7591c854dc1df3ca8f4 (diff) | |
download | 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.patch | 29 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpm-scriptletexechelper.patch | 33 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpmdeps-oecore.patch | 26 |
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 0000000000..980e1b1476 --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm/rpm-lua.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Add support for cross compiling lua | ||
2 | |||
3 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
4 | |||
5 | diff -ur rpm-5.4.9.orig/configure.ac rpm-5.4.9/configure.ac | ||
6 | --- rpm-5.4.9.orig/configure.ac 2012-05-16 12:16:36.589813548 -0500 | ||
7 | +++ rpm-5.4.9/configure.ac 2012-05-16 12:26:01.070813518 -0500 | ||
8 | @@ -120,6 +120,9 @@ | ||
9 | |||
10 | AC_PATH_PROG(AS, as, as) | ||
11 | |||
12 | +CC_FOR_BUILD=${CC_FOR_BUILD-\$(CC)} | ||
13 | +AC_SUBST(CC_FOR_BUILD) | ||
14 | + | ||
15 | dnl # GCC specifics | ||
16 | AC_PROG_GCC_TRADITIONAL | ||
17 | AC_ARG_ENABLE(build-pic, | ||
18 | diff -ur rpm-5.4.9.orig/lua/Makefile.am rpm-5.4.9/lua/Makefile.am | ||
19 | --- rpm-5.4.9.orig/lua/Makefile.am 2012-04-07 19:15:25.000000000 -0500 | ||
20 | +++ rpm-5.4.9/lua/Makefile.am 2012-05-16 12:26:19.556856688 -0500 | ||
21 | @@ -40,7 +40,7 @@ | ||
22 | |||
23 | # --- bin2c doesn't need anything but a compiler | ||
24 | bin2c$(EXEEXT): bin2c.c | ||
25 | - $(CC) -o $@ $< | ||
26 | + $(CC_FOR_BUILD) -o $@ $< | ||
27 | |||
28 | liblua_la_SOURCES = | ||
29 | 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 e4db0e4211..8a9e712acf 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 | |||
12 | 12 | ||
13 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | 13 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
14 | 14 | ||
15 | diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c | 15 | Index: rpm-5.4.9/lib/psm.c |
16 | --- rpm-5.4.0.orig/lib/psm.c 2010-12-29 07:42:11.000000000 -0600 | 16 | =================================================================== |
17 | +++ rpm-5.4.0/lib/psm.c 2011-11-08 13:38:48.132791154 -0600 | 17 | --- rpm-5.4.9.orig/lib/psm.c |
18 | @@ -792,6 +792,10 @@ | 18 | +++ rpm-5.4.9/lib/psm.c |
19 | @@ -801,6 +801,10 @@ static rpmRC runScript(rpmpsm psm, Heade | ||
19 | int xx; | 20 | int xx; |
20 | int i; | 21 | int i; |
21 | 22 | ||
@@ -26,23 +27,23 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c | |||
26 | if (psm->sstates != NULL && ix >= 0 && ix < RPMSCRIPT_MAX) | 27 | if (psm->sstates != NULL && ix >= 0 && ix < RPMSCRIPT_MAX) |
27 | ssp = psm->sstates + ix; | 28 | ssp = psm->sstates + ix; |
28 | if (ssp != NULL) | 29 | if (ssp != NULL) |
29 | @@ -858,14 +862,29 @@ | 30 | @@ -867,14 +871,29 @@ assert(he->p.str != NULL); |
30 | (F_ISSET(psm, UNORDERED) ? "a" : "")); | 31 | (F_ISSET(psm, UNORDERED) ? "a" : "")); |
31 | 32 | ||
32 | if (Phe->p.argv == NULL) { | 33 | if (Phe->p.argv == NULL) { |
33 | - argv = alloca(5 * sizeof(*argv)); | 34 | - argv = (const char **) alloca(5 * sizeof(*argv)); |
34 | - argv[0] = "/bin/sh"; | 35 | - argv[0] = "/bin/sh"; |
35 | - argc = 1; | 36 | - argc = 1; |
36 | + argv = alloca(7 * sizeof(*argv)); | 37 | + argv = (const char **) alloca(7 * sizeof(*argv)); |
37 | + argc = 0; | 38 | + argc = 0; |
38 | + } else { | 39 | + } else { |
39 | + argv = alloca((Phe->c + 6) * sizeof(*argv)); | 40 | + argv = (const char **) alloca((Phe->c + 6) * sizeof(*argv)); |
40 | + argc = 0; | 41 | + argc = 0; |
41 | + } | 42 | + } |
42 | + | 43 | + |
43 | +#ifdef RPM_VENDOR_POKY | 44 | +#ifdef RPM_VENDOR_POKY |
44 | + if (scriptletWrapper && *scriptletWrapper) { | 45 | + if (scriptletWrapper && *scriptletWrapper) { |
45 | + argv[argc++] = scriptletWrapper; | 46 | + argv[argc++] = scriptletWrapper; |
46 | + argv[argc] = rpmtsRootDir(ts); | 47 | + argv[argc] = rpmtsRootDir(ts); |
47 | + if (!argv[argc] || !*argv[argc]) | 48 | + if (!argv[argc] || !*argv[argc]) |
48 | + argv[argc] = "/"; | 49 | + argv[argc] = "/"; |
@@ -51,10 +52,10 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c | |||
51 | +#endif | 52 | +#endif |
52 | + | 53 | + |
53 | + if (Phe->p.argv == NULL) { | 54 | + if (Phe->p.argv == NULL) { |
54 | + argv[argc++] = "/bin/sh"; | 55 | + argv[argc++] = "/bin/sh"; |
55 | ldconfig_done = 0; | 56 | ldconfig_done = 0; |
56 | } else { | 57 | } else { |
57 | - argv = alloca((Phe->c + 4) * sizeof(*argv)); | 58 | - argv = (const char **) alloca((Phe->c + 4) * sizeof(*argv)); |
58 | - memcpy(argv, Phe->p.argv, Phe->c * sizeof(*argv)); | 59 | - memcpy(argv, Phe->p.argv, Phe->c * sizeof(*argv)); |
59 | - argc = Phe->c; | 60 | - argc = Phe->c; |
60 | + memcpy((argv + argc), Phe->p.argv, Phe->c * sizeof(*argv)); | 61 | + 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 | |||
62 | ldconfig_done = (ldconfig_path && !strcmp(argv[0], ldconfig_path) | 63 | ldconfig_done = (ldconfig_path && !strcmp(argv[0], ldconfig_path) |
63 | ? 1 : 0); | 64 | ? 1 : 0); |
64 | } | 65 | } |
65 | @@ -916,7 +935,12 @@ | 66 | @@ -925,7 +944,12 @@ assert(he->p.str != NULL); |
66 | goto exit; | 67 | goto exit; |
67 | 68 | ||
68 | if (rpmIsDebug() && | 69 | if (rpmIsDebug() && |
@@ -76,7 +77,7 @@ diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c | |||
76 | { | 77 | { |
77 | static const char set_x[] = "set -x\n"; | 78 | static const char set_x[] = "set -x\n"; |
78 | nw = Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd); | 79 | nw = Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd); |
79 | @@ -1051,12 +1075,22 @@ | 80 | @@ -1060,12 +1084,22 @@ assert(he->p.str != NULL); |
80 | 81 | ||
81 | { const char * rootDir = rpmtsRootDir(ts); | 82 | { const char * rootDir = rpmtsRootDir(ts); |
82 | if (!rpmtsChrootDone(ts) && rootDir != NULL && | 83 | 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 | |||
99 | xx = Chdir("/"); | 100 | xx = Chdir("/"); |
100 | rpmlog(RPMLOG_DEBUG, D_("%s: %s(%s)\texecv(%s) pid %d\n"), | 101 | rpmlog(RPMLOG_DEBUG, D_("%s: %s(%s)\texecv(%s) pid %d\n"), |
101 | psm->stepName, sln, NVRA, | 102 | psm->stepName, sln, NVRA, |
102 | @@ -2961,6 +2995,13 @@ | 103 | @@ -2977,6 +3011,13 @@ assert(psm->te != NULL); |
103 | case PSM_SCRIPT: /* Run current package scriptlets. */ | 104 | case PSM_SCRIPT: /* Run current package scriptlets. */ |
104 | /* XXX running %verifyscript/%sanitycheck doesn't have psm->te */ | 105 | /* XXX running %verifyscript/%sanitycheck doesn't have psm->te */ |
105 | { rpmtxn _parent = (psm && psm->te ? psm->te->txn : NULL); | 106 | { 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 | |||
113 | xx = rpmtxnBegin(rpmtsGetRdb(ts), _parent, NULL); | 114 | xx = rpmtxnBegin(rpmtsGetRdb(ts), _parent, NULL); |
114 | rc = runInstScript(psm); | 115 | rc = runInstScript(psm); |
115 | if (rc) | 116 | if (rc) |
116 | @@ -2968,11 +3009,24 @@ | 117 | @@ -2984,11 +3025,24 @@ assert(psm->te != NULL); |
117 | else | 118 | else |
118 | xx = rpmtxnCommit(rpmtsGetRdb(ts)->db_txn); | 119 | xx = rpmtxnCommit(rpmtsGetRdb(ts)->db_txn); |
119 | rpmtsGetRdb(ts)->db_txn = NULL; | 120 | 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 | |||
138 | break; | 139 | break; |
139 | case PSM_IMMED_TRIGGERS: | 140 | case PSM_IMMED_TRIGGERS: |
140 | /* Run triggers in this package other package(s) set off. */ | 141 | /* Run triggers in this package other package(s) set off. */ |
141 | @@ -2982,7 +3036,18 @@ | 142 | @@ -2998,7 +3052,18 @@ assert(psm->te != NULL); |
142 | F_SET(psm, GOTTRIGGERS); | 143 | F_SET(psm, GOTTRIGGERS); |
143 | } | 144 | } |
144 | if (psm->triggers != NULL) | 145 | 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 1667901b63..f29866b934 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 | |||
16 | 2 files changed, 152 insertions(+), 1 deletions(-) | 16 | 2 files changed, 152 insertions(+), 1 deletions(-) |
17 | create mode 100644 tools/rpmdeps-oecore.c | 17 | create mode 100644 tools/rpmdeps-oecore.c |
18 | 18 | ||
19 | diff --git a/tools/Makefile.am b/tools/Makefile.am | 19 | Index: rpm-5.4.9/tools/Makefile.am |
20 | index f520843..2eba9bf 100644 | 20 | =================================================================== |
21 | --- a/tools/Makefile.am | 21 | --- rpm-5.4.9.orig/tools/Makefile.am |
22 | +++ b/tools/Makefile.am | 22 | +++ rpm-5.4.9/tools/Makefile.am |
23 | @@ -58,7 +58,7 @@ pkgbin_PROGRAMS = \ | 23 | @@ -58,7 +58,7 @@ pkgbin_PROGRAMS = \ |
24 | @WITH_AUGEAS_AUGTOOL@ chroot cp @WITH_CUDF_CUDFTOOL@ find mtree \ | 24 | @WITH_AUGEAS_AUGTOOL@ chroot cp @WITH_CUDF_CUDFTOOL@ find mtree \ |
25 | @WITH_SEMANAGE_SEMODULE@ wget \ | 25 | @WITH_SEMANAGE_SEMODULE@ wget \ |
26 | rpmcache rpmdigest rpmrepo rpmspecdump \ | 26 | rpmcache rpmdigest rpmrepo rpmspecdump \ |
27 | - rpmcmp rpmdeps sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ | 27 | - rpmcmp rpmdeps sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ |
28 | + rpmcmp rpmdeps rpmdeps-oecore sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ | 28 | + rpmcmp rpmdeps rpmdeps-oecore sqlite3 @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ |
29 | dist_man_MANS = rpmgrep.1 | 29 | if WITH_DB |
30 | 30 | pkgbin_PROGRAMS += dbconvert | |
31 | augtool_SOURCES = augtool.c | 31 | endif |
32 | @@ -155,6 +155,10 @@ rpmdeps_SOURCES = rpmdeps.c | 32 | @@ -168,6 +168,10 @@ rpmdeps_SOURCES = rpmdeps.c |
33 | rpmdeps_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) | 33 | rpmdeps_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) |
34 | rpmdeps_LDADD = $(RPM_LDADD_COMMON) | 34 | rpmdeps_LDADD = $(RPM_LDADD_COMMON) |
35 | 35 | ||
@@ -40,11 +40,10 @@ index f520843..2eba9bf 100644 | |||
40 | rpmdigest_SOURCES = rpmdigest.c | 40 | rpmdigest_SOURCES = rpmdigest.c |
41 | rpmdigest_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) | 41 | rpmdigest_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) |
42 | rpmdigest_LDADD = $(RPMIO_LDADD_COMMON) | 42 | rpmdigest_LDADD = $(RPMIO_LDADD_COMMON) |
43 | diff --git a/tools/rpmdeps-oecore.c b/tools/rpmdeps-oecore.c | 43 | Index: rpm-5.4.9/tools/rpmdeps-oecore.c |
44 | new file mode 100644 | 44 | =================================================================== |
45 | index 0000000..e646da9 | ||
46 | --- /dev/null | 45 | --- /dev/null |
47 | +++ b/tools/rpmdeps-oecore.c | 46 | +++ rpm-5.4.9/tools/rpmdeps-oecore.c |
48 | @@ -0,0 +1,147 @@ | 47 | @@ -0,0 +1,147 @@ |
49 | +#include "system.h" | 48 | +#include "system.h" |
50 | +const char *__progname; | 49 | +const char *__progname; |
@@ -193,6 +192,3 @@ index 0000000..e646da9 | |||
193 | + optCon = rpmcliFini(optCon); | 192 | + optCon = rpmcliFini(optCon); |
194 | + return ec; | 193 | + return ec; |
195 | +} | 194 | +} |
196 | -- | ||
197 | 1.7.4.1 | ||
198 | |||