summaryrefslogtreecommitdiffstats
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
parentb2381b63b94604fdc0e1a7591c854dc1df3ca8f4 (diff)
downloadpoky-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>
-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
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.9.bb (renamed from meta/recipes-devtools/rpm/rpm_5.4.8.bb)122
-rw-r--r--meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch28
-rw-r--r--meta/recipes-extended/libzypp/libzypp_git.bb3
6 files changed, 141 insertions, 100 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 @@
1Add support for cross compiling lua
2
3Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
4
5diff -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,
18diff -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
13Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 13Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
14 14
15diff -ur rpm-5.4.0.orig/lib/psm.c rpm-5.4.0/lib/psm.c 15Index: 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
19diff --git a/tools/Makefile.am b/tools/Makefile.am 19Index: rpm-5.4.9/tools/Makefile.am
20index 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)
43diff --git a/tools/rpmdeps-oecore.c b/tools/rpmdeps-oecore.c 43Index: rpm-5.4.9/tools/rpmdeps-oecore.c
44new file mode 100644 44===================================================================
45index 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--
1971.7.4.1
198
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.8.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index ac86ff3cd4..6eba802d8a 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/"
42LICENSE = "LGPLv2.1" 42LICENSE = "LGPLv2.1"
43LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" 43LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
44 44
45DEPENDS = "beecrypt bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}" 45DEPENDS = "libpcre attr acl popt file"
46extrarpmdeps = "python perl file" 46PR = "r40"
47extrarpmdeps_virtclass-native = "python-native file-native"
48PR = "r39"
49 47
50# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed 48# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed
51# in order to extract the distribution SRPM into a format we can extract... 49# in order to extract the distribution SRPM into a format we can extract...
52SRC_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 \ 50SRC_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 \
53 file://rpm-log-auto-rm.patch \ 51 file://rpm-log-auto-rm.patch \
54 file://rpm-db-reduce.patch \ 52 file://rpm-db-reduce.patch \
55 file://perfile_rpmdeps.sh \ 53 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
70 file://rpm-respect-arch.patch \ 68 file://rpm-respect-arch.patch \
71 file://rpm-no-perl-urpm.patch \ 69 file://rpm-no-perl-urpm.patch \
72 file://rpm-macros.patch \ 70 file://rpm-macros.patch \
71 file://rpm-lua.patch \
73 " 72 "
74 73
75SRC_URI[md5sum] = "424b60bf2e0a624a218440d943861644" 74SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
76SRC_URI[sha256sum] = "56eb5033d4de98c217475fb34d466d551f8912959389e7854a806e2bd9e13380" 75SRC_URI[sha256sum] = "bac7cc5bd9d0e8262fdc0099349924608da8f680f5cb243751f696552239dde8"
77 76
78inherit autotools gettext 77inherit autotools gettext
79 78
@@ -83,63 +82,74 @@ acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
83rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros" 82rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros"
84rpm_macros_virtclass-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros" 83rpm_macros_virtclass-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
85 84
86# Configure values taken from rpm.spec 85# sqlite lua tcl augeas nss gcrypt neon xz xar keyutils perl selinux
87WITH_BZIP2 = "--with-bzip2"
88 86
89WITH_XZ = "--with-xz=none" 87# Note: perl and sqlite w/o db specified does not currently work.
88# tcl, augeas, nss, gcrypt, xar and keyutils support is untested.
89PACKAGECONFIG_virtclass-native ??= "db bzip2 zlib beecrypt openssl libelf python"
90PACKAGECONFIG ??= "db bzip2 zlib beecrypt openssl libelf python"
90 91
91WITH_Z = "--with-zlib $WITH_BZIP2 $WITH_XZ" 92PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2,"
93PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz,"
94PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
95PACKAGECONFIG[xar] = "--with-xar,--without-xar,xar,"
92 96
93WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \ 97WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \
94 --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \ 98 --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
95 --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \ 99 --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \
96 --without-pythonembed \ 100 --without-pythonembed"
97 " 101PACKAGECONFIG[python] = "${WITH_PYTHON},--without-python,python,"
98 102
99# Perl modules are not built, but they could be enabled fairly easily 103# Perl modules are not built, but they could be enabled fairly easily
100# the perl module creation and installation would need to be patched. 104# the perl module creation and installation would need to be patched.
101# (currently has host perl contamination issues) 105# (currently has host perl contamination issues)
102#WITH_PERL = " --with-perl --without-perlembed" 106WITH_PERL = "--with-perl --without-perlembed --without-perl-urpm"
103WITH_PERL = " --without-perl --without-perl-urpm" 107WITHOUT_PERL = "--without-perl --without-perl-urpm"
108PACKAGECONFIG[perl] = "${WITH_PERL},${WITHOUT_PERL},perl,"
104 109
105WITH_PERL_virtclass-native = " --without-perl --without-perl-urpm" 110# The --with-dbsql will only tell RPM to check for support, db
111# may or may not be built w/ the dbsql support.
112WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated"
113PACKAGECONFIG[db] = "${WITH_DB},--without-db,db,"
106 114
107WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated --without-sqlite" 115PACKAGECONFIG[sqlite] = "--with-sqlite,--without-sqlite,sqlite3,"
108 116
109WITH_CRYPTO = "--with-beecrypt --with-openssl --without-nss --without-gcrypt" 117PACKAGECONFIG[beecrypt] = "--with-beecrypt,--without-beecrypt,beecrypt,"
118PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
119PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss,"
120PACKAGECONFIG[gcrypt] = "--with-gcrypt,--without-gcrypt,gcrypt,"
121PACKAGECONFIG[keyutils] = "--with-keyutils,--without-keyutils,keyutils,"
122PACKAGECONFIG[libelf] = "--with-libelf,--without-libelf,elfutils,"
110 123
111WITH_KEYUTILS = "--without-keyutils" 124WITH_SELINUX = "--with-selinux --with-sepol --with-semanage"
112WITH_LIBELF = "--with-libelf" 125WITHOUT_SELINUX = "--without-selinux --without-sepol --without-semanage"
113WITH_SELINUX = "--without-selinux --without-sepol --without-semanage" 126PACKAGECONFIG[selinux] = "${WITH_SELINUX},${WITHOUT_SELINUX},selinux,"
114#WITH_NEON = "--with-neon=internal --without-libproxy --with-expat --without-gssapi"
115WITH_NEON = "--without-neon --without-libproxy --without-expat --without-gssapi"
116 127
117EXTRA_OECONF = "--verbose \ 128WITH_NEON = "--with-neon --with-libproxy --with-expat --without-gssapi"
129WITHOUT_NEON = "--without-neon --without-libproxy --without-expat --without-gssapi"
130PACKAGECONFIG[neon] = "${WITH_NEON},${WITHOUT_NEON},neon,"
131
132PACKAGECONFIG[lua] = "--with-lua,--without-lua,"
133PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl,"
134
135PACAKGECONFIG[augeas] = "--with-augeas,--without-augeas,augeas,"
136
137EXTRA_OECONF += "--verbose \
118 --sysconfdir=/etc \ 138 --sysconfdir=/etc \
119 ${WITH_DB} \
120 ${WITH_Z} \
121 --with-file \ 139 --with-file \
122 --with-path-magic=%{_usrlibrpm}/../../share/misc/magic.mgc \ 140 --with-path-magic=%{_usrlibrpm}/../../share/misc/magic.mgc \
123 --without-lua \
124 --without-tcl \
125 --with-syck=internal \ 141 --with-syck=internal \
126 --without-readline \ 142 --without-readline \
127 --without-augeas \
128 ${WITH_CRYPTO} \
129 --without-libtasn1 \ 143 --without-libtasn1 \
130 --without-pakchois \ 144 --without-pakchois \
131 --without-gnutls \ 145 --without-gnutls \
132 ${WITH_NEON} \
133 --with-pcre \ 146 --with-pcre \
134 --enable-utf8 \ 147 --enable-utf8 \
135 --without-uuid \ 148 --without-uuid \
136 --with-attr \ 149 --with-attr \
137 --with-acl \ 150 --with-acl \
138 --without-xar \
139 --with-popt=external \ 151 --with-popt=external \
140 ${WITH_KEYUTILS} \
141 --with-pthreads \ 152 --with-pthreads \
142 ${WITH_LIBELF} \
143 --without-cudf \ 153 --without-cudf \
144 --without-ficl \ 154 --without-ficl \
145 --without-aterm \ 155 --without-aterm \
@@ -148,14 +158,11 @@ EXTRA_OECONF = "--verbose \
148 --without-rc \ 158 --without-rc \
149 --without-js \ 159 --without-js \
150 --without-gpsee \ 160 --without-gpsee \
151 ${WITH_PYTHON} \
152 ${WITH_PERL} \
153 --without-ruby \ 161 --without-ruby \
154 --without-squirrel \ 162 --without-squirrel \
155 --with-build-extlibdep \ 163 --with-build-extlibdep \
156 --with-build-maxextlibdep \ 164 --with-build-maxextlibdep \
157 --without-valgrind \ 165 --without-valgrind \
158 --without-xz \
159 --disable-openmp \ 166 --disable-openmp \
160 --enable-build-pic \ 167 --enable-build-pic \
161 --enable-build-versionscript \ 168 --enable-build-versionscript \
@@ -167,7 +174,7 @@ EXTRA_OECONF = "--verbose \
167 --with-bugreport=http://bugzilla.yoctoproject.org \ 174 --with-bugreport=http://bugzilla.yoctoproject.org \
168 --program-prefix=" 175 --program-prefix="
169 176
170CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY" 177CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE"
171 178
172PACKAGES = "${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" 179PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-dbg python-rpm-staticdev python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale"
173 180
@@ -175,7 +182,7 @@ SOLIBS = "5.4.so"
175 182
176# Based on %files section in the rpm.spec 183# Based on %files section in the rpm.spec
177 184
178FILES_${PN} = "${bindir}/rpm \ 185FILES_${PN} = "${bindir}/rpm \
179 ${bindir}/rpmconstant \ 186 ${bindir}/rpmconstant \
180 ${libdir}/rpm/rpm.* \ 187 ${libdir}/rpm/rpm.* \
181 ${libdir}/rpm/tgpg \ 188 ${libdir}/rpm/tgpg \
@@ -193,15 +200,10 @@ FILES_${PN} = "${bindir}/rpm \
193 ${libdir}/rpm/bin/rpmspecdump \ 200 ${libdir}/rpm/bin/rpmspecdump \
194 ${libdir}/rpm/bin/wget \ 201 ${libdir}/rpm/bin/wget \
195 /var/lib/rpm \ 202 /var/lib/rpm \
203 /var/cache/rpm \
204 /var/volatile/cache/rpm \
196 " 205 "
197 206
198# ${libdir}/rpm/magic
199# ${libdir}/rpm/magic.mgc
200# ${libdir}/rpm/magic.mime
201# ${libdir}/rpm/magic.mime.mgc
202# ${libdir}/rpm/bin/db_*
203# ${libdir}/rpm/bin/grep
204
205FILES_${PN}-dbg += "${libdir}/rpm/.debug \ 207FILES_${PN}-dbg += "${libdir}/rpm/.debug \
206 ${libdir}/rpm/bin/.debug \ 208 ${libdir}/rpm/bin/.debug \
207 " 209 "
@@ -220,12 +222,6 @@ FILES_${PN}-libs = "${libdir}/librpm-*.so \
220 ${libdir}/librpmbuild-*.so \ 222 ${libdir}/librpmbuild-*.so \
221 " 223 "
222 224
223###%{_rpmhome}/lib/libxar.so.*
224###%{_rpmhome}/lib/libjs.so.*
225###%{_rpmhome}/lib/librpmjsm.so.*
226###%{_rpmhome}/lib/rpmjsm.so
227
228
229FILES_${PN}-build = "${prefix}/src/rpm \ 225FILES_${PN}-build = "${prefix}/src/rpm \
230 ${bindir}/rpmbuild \ 226 ${bindir}/rpmbuild \
231 ${libdir}/rpm/brp-* \ 227 ${libdir}/rpm/brp-* \
@@ -271,8 +267,6 @@ FILES_${PN}-build = "${prefix}/src/rpm \
271 ${libdir}/rpm/bin/rpmlua \ 267 ${libdir}/rpm/bin/rpmlua \
272 ${libdir}/rpm/bin/rpmluac \ 268 ${libdir}/rpm/bin/rpmluac \
273 ${libdir}/rpm/bin/sqlite3 \ 269 ${libdir}/rpm/bin/sqlite3 \
274 ${libdir}/rpm/lib/liblua.a \
275 ${libdir}/rpm/lib/liblua.la \
276 ${libdir}/rpm/macros.d/cmake \ 270 ${libdir}/rpm/macros.d/cmake \
277 ${libdir}/rpm/macros.d/java \ 271 ${libdir}/rpm/macros.d/java \
278 ${libdir}/rpm/macros.d/libtool \ 272 ${libdir}/rpm/macros.d/libtool \
@@ -293,9 +287,6 @@ FILES_${PN}-build = "${prefix}/src/rpm \
293 " 287 "
294RDEPENDS_${PN}-build = "file" 288RDEPENDS_${PN}-build = "file"
295 289
296#%rpmattr %{_rpmhome}/gem_helper.rb
297#%rpmattr %{_rpmhome}/symclash.*
298
299FILES_python-rpm-dbg = "${libdir}/python*/rpm/.debug/_*" 290FILES_python-rpm-dbg = "${libdir}/python*/rpm/.debug/_*"
300FILES_python-rpm-staticdev = "${libdir}/python*/rpm/*.a" 291FILES_python-rpm-staticdev = "${libdir}/python*/rpm/*.a"
301FILES_python-rpm = "${libdir}/python*/rpm" 292FILES_python-rpm = "${libdir}/python*/rpm"
@@ -319,6 +310,7 @@ FILES_${PN}-dev = "${includedir}/rpm \
319 ${libdir}/librpmmisc.so \ 310 ${libdir}/librpmmisc.so \
320 ${libdir}/librpmbuild.la \ 311 ${libdir}/librpmbuild.la \
321 ${libdir}/librpmbuild.so \ 312 ${libdir}/librpmbuild.so \
313 ${libdir}/rpm/lib/liblua.la \
322 ${libdir}/pkgconfig/rpm.pc \ 314 ${libdir}/pkgconfig/rpm.pc \
323 " 315 "
324 316
@@ -329,18 +321,9 @@ FILES_${PN}-staticdev = " \
329 ${libdir}/librpmio.a \ 321 ${libdir}/librpmio.a \
330 ${libdir}/librpmmisc.a \ 322 ${libdir}/librpmmisc.a \
331 ${libdir}/librpmbuild.a \ 323 ${libdir}/librpmbuild.a \
324 ${libdir}/rpm/lib/liblua.a \
332 " 325 "
333 326
334###%{_rpmhome}/lib/libxar.a
335###%{_rpmhome}/lib/libxar.la
336###%{_rpmhome}/lib/libxar.so
337###%{_rpmhome}/lib/libjs.a
338###%{_rpmhome}/lib/libjs.la
339###%{_rpmhome}/lib/libjs.so
340###%{_rpmhome}/lib/librpmjsm.a
341###%{_rpmhome}/lib/librpmjsm.la
342###%{_rpmhome}/lib/librpmjsm.so
343
344do_configure() { 327do_configure() {
345 # Disable tests! 328 # Disable tests!
346 echo "all:" > tests/Makefile.am 329 echo "all:" > tests/Makefile.am
@@ -348,6 +331,7 @@ do_configure() {
348 ./autogen.sh 331 ./autogen.sh
349 332
350 export varprefix=${localstatedir} 333 export varprefix=${localstatedir}
334 export CC_FOR_BUILD="${BUILD_CC}"
351 oe_runconf 335 oe_runconf
352} 336}
353 337
@@ -424,6 +408,8 @@ do_install_append() {
424 rm -f ${D}/${libdir}/rpm/bin/dbconvert 408 rm -f ${D}/${libdir}/rpm/bin/dbconvert
425 rm -f ${D}/${libdir}/rpm/bin/pom2spec 409 rm -f ${D}/${libdir}/rpm/bin/pom2spec
426 410
411 rm -rf ${D}/var/lib/wdj ${D}/var/cache/wdj
412 rm -f ${D}/usr/lib/rpm/bin/api-sanity-checker.pl
427} 413}
428 414
429do_install_append_virtclass-native() { 415do_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 0000000000..8268a2d51d
--- /dev/null
+++ b/meta/recipes-extended/libzypp/libzypp/libzypp-rpm549.patch
@@ -0,0 +1,28 @@
1commit 6c47ad415246cc3a3edac2e1637106d330574c85
2Author: Mark Hatle <mark.hatle@windriver.com>
3Date: Fri May 11 19:05:09 2012 -0500
4
5 RpmHeader.cc: RPM 5.4.9 integration
6
7 _RPMVSF_xxx - NODIGEST, NOSIGNATURES, NOHEADER, and NOPAYLOAD
8 are now obsolete and no longer supported.
9
10 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
11
12diff --git a/zypp/target/rpm/RpmHeader.cc b/zypp/target/rpm/RpmHeader.cc
13index 1224ecd..c96dae6 100644
14--- a/zypp/target/rpm/RpmHeader.cc
15+++ b/zypp/target/rpm/RpmHeader.cc
16@@ -230,10 +230,12 @@ RpmHeader::constPtr RpmHeader::readPackage( const Pathname & path_r,
17 librpmDb::globalInit();
18 rpmts ts = ::rpmtsCreate();
19 unsigned vsflag = RPMVSF_DEFAULT;
20+#if !defined(_RPM_5)
21 if ( verification_r & NODIGEST )
22 vsflag |= _RPMVSF_NODIGESTS;
23 if ( verification_r & NOSIGNATURE )
24 vsflag |= _RPMVSF_NOSIGNATURES;
25+#endif
26 ::rpmtsSetVSFlags( ts, rpmVSFlags(vsflag) );
27
28 Header nh = 0;
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index 3c3a9f09ec..c5761d5784 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"
11S = "${WORKDIR}/git" 11S = "${WORKDIR}/git"
12SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433" 12SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
13PV = "0.0-git${SRCPV}" 13PV = "0.0-git${SRCPV}"
14PR = "r20" 14PR = "r21"
15 15
16SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ 16SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
17 file://no-doc.patch \ 17 file://no-doc.patch \
@@ -23,6 +23,7 @@ SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
23 file://fix_for_compile_wth_gcc-4.6.0.patch \ 23 file://fix_for_compile_wth_gcc-4.6.0.patch \
24 file://hardcode-lib-fix.patch \ 24 file://hardcode-lib-fix.patch \
25 file://close.patch \ 25 file://close.patch \
26 file://libzypp-rpm549.patch \
26 " 27 "
27 28
28SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch" 29SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"