diff options
author | Joshua Lock <joshua.g.lock@intel.com> | 2016-03-11 14:07:29 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-20 22:57:58 +0000 |
commit | a6e7a86f1635be9a688c56c25e9d215ea4d2cc84 (patch) | |
tree | 148f5a4ebc23414c72263196cb9ee48a26f56847 | |
parent | f59263a2d1a4918e8dd12fcf968a826b3e8fa018 (diff) | |
download | openembedded-core-a6e7a86f1635be9a688c56c25e9d215ea4d2cc84.tar.gz openembedded-core-a6e7a86f1635be9a688c56c25e9d215ea4d2cc84.tar.bz2 openembedded-core-a6e7a86f1635be9a688c56c25e9d215ea4d2cc84.zip |
rpm: remove RPM 4
RPM4 support is buggy and incomplete. As we don't have the
resources or interest to maintain it this patch removes it.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
10 files changed, 0 insertions, 875 deletions
diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/add_RPMSENSE_MISSINGOK_to_rpmmodule.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/add_RPMSENSE_MISSINGOK_to_rpmmodule.patch deleted file mode 100644 index b877870411..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/add_RPMSENSE_MISSINGOK_to_rpmmodule.patch +++ /dev/null @@ -1,20 +0,0 @@ -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - -diff --git a/python/rpmmodule.c b/python/rpmmodule.c -index a4fe217..728c66c 100644 ---- a/python/rpmmodule.c -+++ b/python/rpmmodule.c -@@ -396,6 +396,10 @@ static int initModule(PyObject *m) - REGISTER_ENUM(RPMSENSE_STRONG); - REGISTER_ENUM(RPMSENSE_CONFIG); - -+#if defined(RPM_VENDOR_OE) -+ REGISTER_ENUM(RPMSENSE_MISSINGOK); -+#endif -+ - REGISTER_ENUM(RPMTRANS_FLAG_TEST); - REGISTER_ENUM(RPMTRANS_FLAG_BUILD_PROBS); - REGISTER_ENUM(RPMTRANS_FLAG_NOSCRIPTS); diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/disable_shortcircuited.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/disable_shortcircuited.patch deleted file mode 100644 index 7a646de373..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/disable_shortcircuited.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Pending - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - - -Index: rpm-4.11.2/build/pack.c -=================================================================== ---- rpm-4.11.2.orig/build/pack.c -+++ rpm-4.11.2/build/pack.c -@@ -571,9 +571,9 @@ rpmRC packageBinaries(rpmSpec spec, cons - headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16); - } - -- if (cheating) { -- (void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1"); -- } -+// if (cheating) { -+// (void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1"); -+// } - - { char *binFormat = rpmGetPath("%{_rpmfilename}", NULL); - char *binRpm, *binDir; diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/fix_libdir.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/fix_libdir.patch deleted file mode 100644 index be0626c8b3..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/fix_libdir.patch +++ /dev/null @@ -1,19 +0,0 @@ -Upstream-Status: Inappropriate [OE-Core specific] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - - -diff --git a/installplatform b/installplatform -index 8c3eba0..fa15e91 100755 ---- a/installplatform -+++ b/installplatform -@@ -112,7 +112,7 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do - [ -z "$CANONARCH" ] && continue - - if [ "$OS" = "linux" ] && [ "$CANONCOLOR" = 3 ]; then -- LIB=${LIB}64 -+ LIB=${LIB} - fi - - PPD="${DESTDIR}/${platformdir}/${ARCH}-${OS}" diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/pythondeps.sh b/meta/recipes-devtools/rpm/rpm-4.11.2/pythondeps.sh deleted file mode 100755 index 083b174f17..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/pythondeps.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -[ $# -ge 1 ] || { - cat > /dev/null - exit 0 -} - -case $1 in --R|--requires) - shift - grep "/usr/\(lib[^/]*\|share\)/python[^/]*/" >/dev/null && echo "python" - exit 0 - ;; -esac - -exit 0 diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/remove-db3-from-configure.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/remove-db3-from-configure.patch deleted file mode 100644 index 2640e54b5b..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/remove-db3-from-configure.patch +++ /dev/null @@ -1,26 +0,0 @@ - -Disable configuring the db3 directory since we will be using the -external DB provided as part of OE-Core already, no need to have -duplicate database code. - -Upstream-Status: Inappropriate [OE-Core Specific] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: rpm-4.11.2/configure.ac -=================================================================== ---- rpm-4.11.2.orig/configure.ac -+++ rpm-4.11.2/configure.ac -@@ -825,9 +825,9 @@ AC_SUBST(RPMCONFIGDIR) - - AC_SUBST(OBJDUMP) - --if test "$with_external_db" = no; then -- AC_CONFIG_SUBDIRS(db3) --fi -+#if test "$with_external_db" = no; then -+# AC_CONFIG_SUBDIRS(db3) -+#fi - - AM_CONDITIONAL([WITH_INTERNAL_DB],[test "$with_external_db" = no]) - AM_CONDITIONAL([DOXYGEN],[test "$DOXYGEN" != no]) diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/remove-dir-check.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/remove-dir-check.patch deleted file mode 100644 index f1ecab7b0e..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/remove-dir-check.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Pending - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - - -Index: rpm-4.11.2/build/files.c -=================================================================== ---- rpm-4.11.2.orig/build/files.c -+++ rpm-4.11.2/build/files.c -@@ -1321,12 +1321,6 @@ static rpmRC addFile(FileList fl, const - } - } - -- /* Error out when a non-directory is specified as one in spec */ -- if (fl->cur.isDir && (statp == &statbuf) && !S_ISDIR(statp->st_mode)) { -- rpmlog(RPMLOG_ERR, _("Not a directory: %s\n"), diskPath); -- goto exit; -- } -- - /* Don't recurse into explicit %dir, don't double-recurse from fts */ - if ((fl->cur.isDir != 1) && (statp == &statbuf) && S_ISDIR(statp->st_mode)) { - return recurseDir(fl, diskPath); diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/rpm-scriptetexechelp.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/rpm-scriptetexechelp.patch deleted file mode 100644 index 9333dea441..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/rpm-scriptetexechelp.patch +++ /dev/null @@ -1,194 +0,0 @@ -Upstream-Status: Inappropriate [OE-Core] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - - -Index: rpm-4.11.2/lib/psm.c -=================================================================== ---- rpm-4.11.2.orig/lib/psm.c -+++ rpm-4.11.2/lib/psm.c -@@ -421,7 +421,8 @@ static rpmRC runScript(rpmpsm psm, ARGV_ - - rpmswEnter(rpmtsOp(psm->ts, RPMTS_OP_SCRIPTLETS), 0); - rc = rpmScriptRun(script, arg1, arg2, sfd, -- prefixes, warn_only, selinux); -+ prefixes, warn_only, selinux, rpmtsRootDir(psm->ts) ); -+ - rpmswExit(rpmtsOp(psm->ts, RPMTS_OP_SCRIPTLETS), 0); - - /* Map warn-only errors to "notfound" for script stop callback */ -@@ -958,15 +959,49 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg - case PSM_DESTROY: - break; - case PSM_SCRIPT: /* Run current package scriptlets. */ -+#ifdef RPM_VENDOR_OE -+ { -+ const char * scriptletWrapper = rpmExpand("%{?_cross_scriptlet_wrapper}", NULL); -+ if (scriptletWrapper && *scriptletWrapper) -+ (void) rpmChrootOut(); -+#endif -+ - rc = runInstScript(psm); -+#ifdef RPM_VENDOR_OE -+ if (scriptletWrapper && *scriptletWrapper) -+ (void) rpmChrootIn(); -+ } -+#endif - break; - case PSM_TRIGGERS: - /* Run triggers in other package(s) this package sets off. */ -+#ifdef RPM_VENDOR_OE -+ { -+ const char * scriptletWrapper = rpmExpand("%{?_cross_scriptlet_wrapper}", NULL); -+ if (scriptletWrapper && *scriptletWrapper) -+ (void) rpmChrootOut(); -+#endif - rc = runTriggers(psm); -+#ifdef RPM_VENDOR_OE -+ if (scriptletWrapper && *scriptletWrapper) -+ (void) rpmChrootIn(); -+ } -+#endif - break; - case PSM_IMMED_TRIGGERS: - /* Run triggers in this package other package(s) set off. */ -+#ifdef RPM_VENDOR_OE -+ { -+ const char * scriptletWrapper = rpmExpand("%{?_cross_scriptlet_wrapper}", NULL); -+ if (scriptletWrapper && *scriptletWrapper) -+ (void) rpmChrootOut(); -+#endif - rc = runImmedTriggers(psm); -+#ifdef RPM_VENDOR_OE -+ if (scriptletWrapper && *scriptletWrapper) -+ (void) rpmChrootIn(); -+ } -+#endif - break; - - case PSM_RPMDB_ADD: { -Index: rpm-4.11.2/lib/rpmscript.c -=================================================================== ---- rpm-4.11.2.orig/lib/rpmscript.c -+++ rpm-4.11.2/lib/rpmscript.c -@@ -92,7 +92,7 @@ static rpmRC runLuaScript(int selinux, A - static const char * const SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin"; - - static void doScriptExec(int selinux, ARGV_const_t argv, ARGV_const_t prefixes, -- FD_t scriptFd, FD_t out) -+ FD_t scriptFd, FD_t out, char * rootDir ) - { - int pipes[2]; - int flag; -@@ -158,13 +158,12 @@ static void doScriptExec(int selinux, AR - setenv("RPM_INSTALL_PREFIX", *pf, 1); - } - } -- -- if (chdir("/") == 0) { -+ if (chdir(rootDir) == 0) { - /* XXX Don't mtrace into children. */ - unsetenv("MALLOC_CHECK_"); - - /* Permit libselinux to do the scriptlet exec. */ -- if (selinux == 1) { -+ if (selinux == 1) { - xx = rpm_execcon(0, argv[0], argv, environ); - } - -@@ -175,12 +174,12 @@ static void doScriptExec(int selinux, AR - _exit(127); /* exit 127 for compatibility with bash(1) */ - } - --static char * writeScript(const char *cmd, const char *script) -+static char * writeScript(const char *cmd, const char *script, char * rootDir) - { - char *fn = NULL; - size_t slen = strlen(script); - int ok = 0; -- FD_t fd = rpmMkTempFile("/", &fn); -+ FD_t fd = rpmMkTempFile(rootDir, &fn); - - if (Ferror(fd)) - goto exit; -@@ -204,7 +203,7 @@ exit: - */ - static rpmRC runExtScript(int selinux, ARGV_const_t prefixes, - const char *sname, rpmlogLvl lvl, FD_t scriptFd, -- ARGV_t * argvp, const char *script, int arg1, int arg2) -+ ARGV_t * argvp, const char *script, int arg1, int arg2,char * rootDir) - { - FD_t out = NULL; - char * fn = NULL; -@@ -215,7 +214,7 @@ static rpmRC runExtScript(int selinux, A - rpmlog(RPMLOG_DEBUG, "%s: scriptlet start\n", sname); - - if (script) { -- fn = writeScript(*argvp[0], script); -+ fn = writeScript(*argvp[0], script, rootDir); - if (fn == NULL) { - rpmlog(RPMLOG_ERR, - _("Couldn't create temporary file for %s: %s\n"), -@@ -258,7 +257,7 @@ static rpmRC runExtScript(int selinux, A - } else if (pid == 0) {/* Child */ - rpmlog(RPMLOG_DEBUG, "%s: execv(%s) pid %d\n", - sname, *argvp[0], (unsigned)getpid()); -- doScriptExec(selinux, *argvp, prefixes, scriptFd, out); -+ doScriptExec(selinux, *argvp, prefixes, scriptFd, out, rootDir); - } - - do { -@@ -297,13 +296,27 @@ exit: - } - - rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, -- ARGV_const_t prefixes, int warn_only, int selinux) -+ ARGV_const_t prefixes, int warn_only, int selinux, char * rootDir) - { - ARGV_t args = NULL; - rpmlogLvl lvl = warn_only ? RPMLOG_WARNING : RPMLOG_ERR; - rpmRC rc; -- -- if (script == NULL) return RPMRC_OK; -+#ifdef RPM_VENDOR_OE -+ const char * scriptletWrapper = rpmExpand("%{?_cross_scriptlet_wrapper}", NULL); -+#endif -+ -+ if (script == NULL) return RPMRC_OK; -+#ifdef RPM_VENDOR_OE -+ if (scriptletWrapper && *scriptletWrapper) { -+ argvAdd(&args, scriptletWrapper); -+ -+ if ( rootDir ) { -+ argvAdd(&args, rootDir); -+ } else { -+ argvAdd(&args, "/"); -+ } -+ } -+#endif - - /* construct a new argv as we can't modify the one from header */ - if (script->args) { -@@ -315,7 +328,7 @@ rpmRC rpmScriptRun(rpmScript script, int - if (rstreq(args[0], "<lua>")) { - rc = runLuaScript(selinux, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2); - } else { -- rc = runExtScript(selinux, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2); -+ rc = runExtScript(selinux, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, rootDir); - } - argvFree(args); - -Index: rpm-4.11.2/lib/rpmscript.h -=================================================================== ---- rpm-4.11.2.orig/lib/rpmscript.h -+++ rpm-4.11.2/lib/rpmscript.h -@@ -29,7 +29,7 @@ rpmScript rpmScriptFree(rpmScript script - - RPM_GNUC_INTERNAL - rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, -- ARGV_const_t prefixes, int warn_only, int selinux); -+ ARGV_const_t prefixes, int warn_only, int selinux, char * rootDir); - - RPM_GNUC_INTERNAL - rpmTagVal rpmScriptTag(rpmScript script); diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/support-suggests-tag.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/support-suggests-tag.patch deleted file mode 100644 index 3da608573a..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/support-suggests-tag.patch +++ /dev/null @@ -1,384 +0,0 @@ - -Upstream-Status: Pending - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - -diff --git a/build/pack.c b/build/pack.c -index b6b2bea..5c3d8df 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -273,8 +273,10 @@ static rpmTagVal depevrtags[] = { - RPMTAG_CONFLICTVERSION, - RPMTAG_ORDERVERSION, - RPMTAG_TRIGGERVERSION, -- RPMTAG_SUGGESTSVERSION, -- RPMTAG_ENHANCESVERSION, -+ RPMTAG_SUGGESTVERSION, -+ RPMTAG_ENHANCEVERSION, -+ RPMTAG_RECOMMENDVERSION, -+ RPMTAG_SUPPLEMENTVERSION, - 0 - }; - -diff --git a/build/parsePreamble.c b/build/parsePreamble.c -index 5772bef..cbbbee3 100644 ---- a/build/parsePreamble.c -+++ b/build/parsePreamble.c -@@ -821,6 +821,10 @@ static rpmRC handlePreambleTag(rpmSpec spec, Package pkg, rpmTagVal tag, - } - /* fallthrough */ - case RPMTAG_PREREQ: -+ case RPMTAG_RECOMMENDFLAGS: -+ case RPMTAG_SUGGESTFLAGS: -+ case RPMTAG_SUPPLEMENTFLAGS: -+ case RPMTAG_ENHANCEFLAGS: - case RPMTAG_CONFLICTFLAGS: - case RPMTAG_OBSOLETEFLAGS: - case RPMTAG_PROVIDEFLAGS: -@@ -922,6 +926,10 @@ static struct PreambleRec_s const preambleList[] = { - {RPMTAG_ICON, 0, 0, LEN_AND_STR("icon")}, - {RPMTAG_PROVIDEFLAGS, 0, 0, LEN_AND_STR("provides")}, - {RPMTAG_REQUIREFLAGS, 2, 0, LEN_AND_STR("requires")}, -+ {RPMTAG_RECOMMENDFLAGS, 0, 0, LEN_AND_STR("recommends")}, -+ {RPMTAG_SUGGESTFLAGS, 0, 0, LEN_AND_STR("suggests")}, -+ {RPMTAG_SUPPLEMENTFLAGS, 0, 0, LEN_AND_STR("supplements")}, -+ {RPMTAG_ENHANCEFLAGS, 0, 0, LEN_AND_STR("enhances")}, - {RPMTAG_PREREQ, 2, 1, LEN_AND_STR("prereq")}, - {RPMTAG_CONFLICTFLAGS, 0, 0, LEN_AND_STR("conflicts")}, - {RPMTAG_OBSOLETEFLAGS, 0, 0, LEN_AND_STR("obsoletes")}, -diff --git a/build/parseReqs.c b/build/parseReqs.c -index ba080a1..1427111 100644 ---- a/build/parseReqs.c -+++ b/build/parseReqs.c -@@ -61,6 +61,18 @@ rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char *field, rpmTagVal tagN, - nametag = RPMTAG_REQUIRENAME; - tagflags |= RPMSENSE_ANY; - break; -+ case RPMTAG_RECOMMENDFLAGS: -+ nametag = RPMTAG_RECOMMENDNAME; -+ break; -+ case RPMTAG_SUGGESTFLAGS: -+ nametag = RPMTAG_SUGGESTNAME; -+ break; -+ case RPMTAG_SUPPLEMENTFLAGS: -+ nametag = RPMTAG_SUPPLEMENTNAME; -+ break; -+ case RPMTAG_ENHANCEFLAGS: -+ nametag = RPMTAG_ENHANCENAME; -+ break; - case RPMTAG_PROVIDEFLAGS: - nametag = RPMTAG_PROVIDENAME; - break; -diff --git a/build/reqprov.c b/build/reqprov.c -index a368f42..c270af6 100644 ---- a/build/reqprov.c -+++ b/build/reqprov.c -@@ -81,6 +81,30 @@ int addReqProv(Package pkg, rpmTagVal tagN, - extra = Flags & RPMSENSE_TRIGGER; - dsp = &pkg->triggers; - break; -+ case RPMTAG_RECOMMENDNAME: -+ versiontag = RPMTAG_RECOMMENDVERSION; -+ flagtag = RPMTAG_RECOMMENDFLAGS; -+ extra = Flags & _ALL_REQUIRES_MASK; -+ dsp = &pkg->recommends; -+ break; -+ case RPMTAG_SUGGESTNAME: -+ versiontag = RPMTAG_SUGGESTVERSION; -+ flagtag = RPMTAG_SUGGESTFLAGS; -+ extra = Flags & _ALL_REQUIRES_MASK; -+ dsp = &pkg->suggests; -+ break; -+ case RPMTAG_SUPPLEMENTNAME: -+ versiontag = RPMTAG_SUPPLEMENTVERSION; -+ flagtag = RPMTAG_SUPPLEMENTFLAGS; -+ extra = Flags & _ALL_REQUIRES_MASK; -+ dsp = &pkg->supplements; -+ break; -+ case RPMTAG_ENHANCENAME: -+ versiontag = RPMTAG_ENHANCEVERSION; -+ flagtag = RPMTAG_ENHANCEFLAGS; -+ extra = Flags & _ALL_REQUIRES_MASK; -+ dsp = &pkg->enhances; -+ break; - case RPMTAG_REQUIRENAME: - default: - tagN = RPMTAG_REQUIRENAME; -diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h -index a9e4c7c..0a1977f 100644 ---- a/build/rpmbuild_internal.h -+++ b/build/rpmbuild_internal.h -@@ -93,6 +93,10 @@ struct Package_s { - rpmds ds; /*!< Requires: N = EVR */ - rpmds requires; - rpmds provides; -+ rpmds recommends; -+ rpmds suggests; -+ rpmds supplements; -+ rpmds enhances; - rpmds conflicts; - rpmds obsoletes; - rpmds triggers; -diff --git a/build/spec.c b/build/spec.c -index 703ec78..7ae2120 100644 ---- a/build/spec.c -+++ b/build/spec.c -@@ -139,6 +139,11 @@ static Package freePackage(Package pkg) - pkg->ds = rpmdsFree(pkg->ds); - pkg->requires = rpmdsFree(pkg->requires); - pkg->provides = rpmdsFree(pkg->provides); -+ pkg->recommends = rpmdsFree(pkg->recommends); -+ pkg->suggests = rpmdsFree(pkg->suggests); -+ pkg->supplements = rpmdsFree(pkg->supplements); -+ pkg->enhances = rpmdsFree(pkg->enhances); -+ - pkg->conflicts = rpmdsFree(pkg->conflicts); - pkg->obsoletes = rpmdsFree(pkg->obsoletes); - pkg->triggers = rpmdsFree(pkg->triggers); -diff --git a/lib/rpmds.c b/lib/rpmds.c -index 7a51167..1e5dda0 100644 ---- a/lib/rpmds.c -+++ b/lib/rpmds.c -@@ -52,6 +52,22 @@ static int dsType(rpmTagVal tag, - t = "Requires"; - evr = RPMTAG_REQUIREVERSION; - f = RPMTAG_REQUIREFLAGS; -+ } else if (tag == RPMTAG_SUPPLEMENTNAME) { -+ t = "Supplements"; -+ evr = RPMTAG_SUPPLEMENTVERSION; -+ f = RPMTAG_SUPPLEMENTFLAGS; -+ } else if (tag == RPMTAG_ENHANCENAME) { -+ t = "Enhances"; -+ evr = RPMTAG_ENHANCEVERSION; -+ f = RPMTAG_ENHANCEFLAGS; -+ } else if (tag == RPMTAG_RECOMMENDNAME) { -+ t = "Recommends"; -+ evr = RPMTAG_RECOMMENDVERSION; -+ f = RPMTAG_RECOMMENDFLAGS; -+ } else if (tag == RPMTAG_SUGGESTNAME) { -+ t = "Suggests"; -+ evr = RPMTAG_SUGGESTVERSION; -+ f = RPMTAG_SUGGESTFLAGS; - } else if (tag == RPMTAG_CONFLICTNAME) { - t = "Conflicts"; - evr = RPMTAG_CONFLICTVERSION; -diff --git a/lib/rpmtag.h b/lib/rpmtag.h -index 64b03f1..b943229 100644 ---- a/lib/rpmtag.h -+++ b/lib/rpmtag.h -@@ -217,14 +217,14 @@ typedef enum rpmTag_e { - RPMTAG_PRETRANSPROG = 1153, /* s[] */ - RPMTAG_POSTTRANSPROG = 1154, /* s[] */ - RPMTAG_DISTTAG = 1155, /* s */ -- RPMTAG_SUGGESTSNAME = 1156, /* s[] extension (unimplemented) */ --#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] (unimplemented) */ -- RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension (unimplemented) */ -- RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension (unimplemented) */ -- RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder (unimplemented) */ --#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] (unimplemented) */ -- RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder (unimplemented) */ -- RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder (unimplemented) */ -+ RPMTAG_OLDSUGGESTSNAME = 1156, /* s[] (unimplemented) */ -+#define RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] (unimplemented) */ -+ RPMTAG_OLDSUGGESTSVERSION = 1157, /* s[] (unimplemented) */ -+ RPMTAG_OLDSUGGESTSFLAGS = 1158, /* i[] (unimplemented) */ -+ RPMTAG_OLDENHANCESNAME = 1159, /* s[] (unimplemented) */ -+#define RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] (unimplemented) */ -+ RPMTAG_OLDENHANCESVERSION = 1160, /* s[] (unimplemented) */ -+ RPMTAG_OLDENHANCESFLAGS = 1161, /* i[] (unimplemented) */ - RPMTAG_PRIORITY = 1162, /* i[] extension placeholder (unimplemented) */ - RPMTAG_CVSID = 1163, /* s (unimplemented) */ - #define RPMTAG_SVNID RPMTAG_CVSID /* s (unimplemented) */ -@@ -261,6 +261,7 @@ typedef enum rpmTag_e { - RPMTAG_BUILDOBSOLETES = 1194, /* internal (unimplemented) */ - RPMTAG_DBINSTANCE = 1195, /* i extension */ - RPMTAG_NVRA = 1196, /* s extension */ -+ - /* tags 1997-4999 reserved */ - RPMTAG_FILENAMES = 5000, /* s[] extension */ - RPMTAG_FILEPROVIDE = 5001, /* s[] extension */ -@@ -307,6 +308,26 @@ typedef enum rpmTag_e { - RPMTAG_OBSOLETENEVRS = 5043, /* s[] extension */ - RPMTAG_CONFLICTNEVRS = 5044, /* s[] extension */ - RPMTAG_FILENLINKS = 5045, /* i[] extension */ -+ RPMTAG_RECOMMENDNAME = 5046, /* s[] */ -+#define RPMTAG_RECOMMENDS RPMTAG_RECOMMENDNAME /* s[] */ -+ RPMTAG_RECOMMENDVERSION = 5047, /* s[] */ -+ RPMTAG_RECOMMENDFLAGS = 5048, /* i[] */ -+ RPMTAG_SUGGESTNAME = 5049, /* s[] */ -+#define RPMTAG_SUGGESTS RPMTAG_SUGGESTNAME /* s[] */ -+ RPMTAG_SUGGESTVERSION = 5050, /* s[] extension */ -+ RPMTAG_SUGGESTFLAGS = 5051, /* i[] extension */ -+ RPMTAG_SUPPLEMENTNAME = 5052, /* s[] */ -+#define RPMTAG_SUPPLEMENTS RPMTAG_SUPPLEMENTNAME /* s[] */ -+ RPMTAG_SUPPLEMENTVERSION = 5053, /* s[] */ -+ RPMTAG_SUPPLEMENTFLAGS = 5054, /* i[] */ -+ RPMTAG_ENHANCENAME = 5055, /* s[] */ -+#define RPMTAG_ENHANCES RPMTAG_ENHANCENAME /* s[] */ -+ RPMTAG_ENHANCEVERSION = 5056, /* s[] */ -+ RPMTAG_ENHANCEFLAGS = 5057, /* i[] */ -+ RPMTAG_RECOMMENDNEVRS = 5058, /* s[] extension */ -+ RPMTAG_SUGGESTNEVRS = 5059, /* s[] extension */ -+ RPMTAG_SUPPLEMENTNEVRS = 5060, /* s[] extension */ -+ RPMTAG_ENHANCENEVRS = 5061, /* s[] extension */ - - RPMTAG_FIRSTFREE_TAG /*!< internal */ - } rpmTag; -diff --git a/lib/tagexts.c b/lib/tagexts.c -index 29b2bae..e940310 100644 ---- a/lib/tagexts.c -+++ b/lib/tagexts.c -@@ -761,6 +761,26 @@ static int requirenevrsTag(Header h, rpmtd td, headerGetFlags hgflags) - return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME); - } - -+static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags) -+{ -+ return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME); -+} -+ -+static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags) -+{ -+ return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME); -+} -+ -+static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags) -+{ -+ return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME); -+} -+ -+static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags) -+{ -+ return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME); -+} -+ - static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags) - { - return depnevrsTag(h, td, hgflags, RPMTAG_PROVIDENAME); -@@ -823,6 +843,10 @@ static const struct headerTagFunc_s rpmHeaderTagExtensions[] = { - { RPMTAG_EPOCHNUM, epochnumTag }, - { RPMTAG_INSTFILENAMES, instfilenamesTag }, - { RPMTAG_REQUIRENEVRS, requirenevrsTag }, -+ { RPMTAG_RECOMMENDNEVRS, recommendnevrsTag}, -+ { RPMTAG_SUGGESTNEVRS, suggestnevrsTag}, -+ { RPMTAG_SUPPLEMENTNEVRS, supplementnevrsTag}, -+ { RPMTAG_ENHANCENEVRS, enhancenevrsTag}, - { RPMTAG_PROVIDENEVRS, providenevrsTag }, - { RPMTAG_OBSOLETENEVRS, obsoletenevrsTag }, - { RPMTAG_CONFLICTNEVRS, conflictnevrsTag }, -diff --git a/rpmpopt.in b/rpmpopt.in -index 805599e..036ab4e 100644 ---- a/rpmpopt.in -+++ b/rpmpopt.in -@@ -67,6 +67,19 @@ rpm alias --requires --qf \ - --POPTdesc=$"list capabilities required by package(s)" - rpm alias -R --requires - -+rpm alias --recommends --qf \ -+ "[%|VERBOSE?{%{RECOMMENDFLAGS:deptype}: }:{}|%{RECOMMENDNEVRS}\n]" \ -+ --POPTdesc=$"list capabilities recommended by package(s)" -+rpm alias --suggests --qf \ -+ "[%|VERBOSE?{%{SUGGESTFLAGS:deptype}: }:{}|%{SUGGESTNEVRS}\n]" \ -+ --POPTdesc=$"list capabilities suggested by package(s)" -+rpm alias --supplements --qf \ -+ "[%|VERBOSE?{%{SUPPLEMENTFLAGS:deptype}: }:{}|%{SUPPLEMENTNEVRS}\n]" \ -+ --POPTdesc=$"list capabilities supplemented by package(s)" -+rpm alias --enhances --qf \ -+ "[%|VERBOSE?{%{ENHANCEFLAGS:deptype}: }:{}|%{ENHANCENEVRS}\n]" \ -+ --POPTdesc=$"list capabilities enhanced by package(s)" -+ - rpm alias --info --qf '\ - Name : %{NAME}\n\ - %|EPOCH?{Epoch : %{EPOCH}\n}|\ -diff --git a/tests/data/SPECS/deptest.spec b/tests/data/SPECS/deptest.spec -index cb4cbbd..7c47f6d 100644 ---- a/tests/data/SPECS/deptest.spec -+++ b/tests/data/SPECS/deptest.spec -@@ -10,6 +10,10 @@ BuildArch: noarch - %{?provs:Provides: %{provs}} - %{?cfls:Conflicts: %{cfls}} - %{?obs:Obsoletes: %{obs}} -+%{?recs:Recommends: %{recs}} -+%{?sugs:Suggests: %{sugs}} -+%{?sups:Supplements: %{sups}} -+%{?ens:Enhances: %{ens}} - - %description - %{summary} -diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at -index 6230903..c4c954c 100644 ---- a/tests/rpmbuild.at -+++ b/tests/rpmbuild.at -@@ -185,3 +185,25 @@ lrwxrwxrwx /opt/globtest/linkgood - ], - []) - AT_CLEANUP -+ -+# ------------------------------ -+# Check if weak and reverse requires can be built -+AT_SETUP([Weak and reverse requires]) -+AT_KEYWORDS([build]) -+AT_CHECK([ -+ -+runroot rpmbuild -bb --quiet \ -+ --define "pkg weakdeps" \ -+ --define "recs foo > 1.2.3" \ -+ --define "sugs bar >= 0.1.2" \ -+ --define "sups baz" \ -+ --define "ens zap = 3" \ -+ /data/SPECS/deptest.spec -+ -+runroot rpm -qp --qf "[%{supplementname}\n]" /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm -+], -+[0], -+[baz -+], -+[ignore]) -+AT_CLEANUP -diff --git a/tests/rpmgeneral.at b/tests/rpmgeneral.at -index 13131e2..80cca63 100644 ---- a/tests/rpmgeneral.at -+++ b/tests/rpmgeneral.at -@@ -79,6 +79,11 @@ DISTTAG - DISTURL - DSAHEADER - E -+ENHANCEFLAGS -+ENHANCENAME -+ENHANCENEVRS -+ENHANCES -+ENHANCEVERSION - EPOCH - EPOCHNUM - EVR -@@ -199,6 +204,11 @@ PROVIDES - PROVIDEVERSION - PUBKEYS - R -+RECOMMENDFLAGS -+RECOMMENDNAME -+RECOMMENDNEVRS -+RECOMMENDS -+RECOMMENDVERSION - RECONTEXTS - RELEASE - REMOVETID -@@ -219,7 +229,17 @@ SOURCE - SOURCEPACKAGE - SOURCEPKGID - SOURCERPM -+SUGGESTFLAGS -+SUGGESTNAME -+SUGGESTNEVRS -+SUGGESTS -+SUGGESTVERSION - SUMMARY -+SUPPLEMENTFLAGS -+SUPPLEMENTNAME -+SUPPLEMENTNEVRS -+SUPPLEMENTS -+SUPPLEMENTVERSION - TRIGGERCONDS - TRIGGERFLAGS - TRIGGERINDEX diff --git a/meta/recipes-devtools/rpm/rpm-4.11.2/use-pkgconfig-for-python.patch b/meta/recipes-devtools/rpm/rpm-4.11.2/use-pkgconfig-for-python.patch deleted file mode 100644 index 8d84cf8a11..0000000000 --- a/meta/recipes-devtools/rpm/rpm-4.11.2/use-pkgconfig-for-python.patch +++ /dev/null @@ -1,38 +0,0 @@ - -Use pkgconfig to get the correct include paths - -Upstream-Status: Pending - -Signed-off-by: Saul Wold <sgw@linux.intel.com> -Signed-off-by: Ronan Le Martret <ronan.lemartret@open.eurogiciel.org> - -diff --git a/configure.ac b/configure.ac -index e97f727..8179f44 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -540,10 +540,10 @@ esac], - - AS_IF([test "$enable_python" = yes],[ - AM_PATH_PYTHON([2.6],[ -- WITH_PYTHON_INCLUDE=`${PYTHON} -c 'from distutils.sysconfig import *; import sys; sys.stdout.write(get_python_inc())'` -+ WITH_PYTHON_INCLUDE=$(${PKG_CONFIG} --cflags-only-I python) - WITH_PYTHON_SUBPACKAGE=1 - save_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="$CPPFLAGS -I$WITH_PYTHON_INCLUDE" -+ CPPFLAGS="$CPPFLAGS $WITH_PYTHON_INCLUDE" - AC_CHECK_HEADER([Python.h],[], - [AC_MSG_ERROR([missing Python.h]) - ]) -diff --git a/python/Makefile.am b/python/Makefile.am -index fff51ae..f37cb9d 100644 ---- a/python/Makefile.am -+++ b/python/Makefile.am -@@ -4,7 +4,7 @@ EXTRA_DIST = rpm/__init__.py rpm/transaction.py - - AM_CPPFLAGS = -I$(top_builddir)/include/ - AM_CPPFLAGS += -I$(top_srcdir)/python --AM_CPPFLAGS += -I@WITH_PYTHON_INCLUDE@ -+AM_CPPFLAGS += @WITH_PYTHON_INCLUDE@ - - pkgpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la _rpmsmodule.la - pkgpyexec_DATA = rpm/__init__.py rpm/transaction.py diff --git a/meta/recipes-devtools/rpm/rpm_4.11.2.bb b/meta/recipes-devtools/rpm/rpm_4.11.2.bb deleted file mode 100644 index 3683971cd5..0000000000 --- a/meta/recipes-devtools/rpm/rpm_4.11.2.bb +++ /dev/null @@ -1,132 +0,0 @@ -SUMMARY = "The RPM package management system" -DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \ -package management system capable of installing, uninstalling, \ -verifying, querying, and updating software packages. Each software \ -package consists of an archive of files along with information about \ -the package like its version, a description, etc." - -SUMMARY_${PN}-dev = "Development files for manipulating RPM packages" -DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \ -development files will simplify the process of writing programs that \ -manipulate RPM packages and databases. These files are intended to \ -simplify the process of creating graphical package managers or any \ -other tools that need an intimate knowledge of RPM packages in order \ -to function." - -SUMMARY_python-rpm = "Python bindings for apps which will manupulate RPM packages" -DESCRIPTION_python-rpm = "The rpm-python package contains a module that permits applications \ -written in the Python programming language to use the interface \ -supplied by the RPM Package Manager libraries." - -HOMEPAGE = "http://www.rpm.org" -LICENSE = "GPL-2.0+" -LIC_FILES_CHKSUM ??= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" - -DEPENDS = "db libxml2 xz findutils file popt nss bzip2 elfutils attr zlib acl gzip python" -DEPENDS_append_class-native = " file-replacement-native" - -SRC_URI += "http://rpm.org/releases/rpm-4.11.x/${BP}.tar.bz2 \ - file://use-pkgconfig-for-python.patch \ - file://remove-db3-from-configure.patch \ - file://add_RPMSENSE_MISSINGOK_to_rpmmodule.patch \ - file://support-suggests-tag.patch \ - file://remove-dir-check.patch \ - file://disable_shortcircuited.patch \ - file://fix_libdir.patch \ - file://rpm-scriptetexechelp.patch \ - file://pythondeps.sh \ - file://rpm-CVE-2014-8118.patch \ - file://rpm-CVE-2013-6435.patch \ - " - -SRC_URI[md5sum] = "876ac9948a88367054f8ddb5c0e87173" -SRC_URI[sha256sum] = "403f8de632b33846ce5746f429c21a60f40dff9dcb56f1b4118f37a0652a48d4" - -PR = "r1" - -inherit autotools -inherit pythonnative -inherit pkgconfig -inherit gettext - -EXTRA_OECONF += "--host=${HOST_SYS} \ - --program-prefix= \ - --prefix=${prefix} \ - --exec-prefix=${prefix} \ - --bindir=${prefix}/bin \ - --sbindir=${prefix}/sbin \ - --sysconfdir=${sysconfdir} \ - --datadir=${prefix}/share \ - --includedir=${prefix}/include \ - --libdir=${prefix}/lib \ - --libexecdir=${prefix}/libexec \ - --localstatedir=${localstatedir} \ - --sharedstatedir=${prefix}/com \ - --mandir=${mandir} \ - --infodir=${infodir} \ - --disable-dependency-tracking \ - --with-acl \ - --without-lua \ - --without-cap \ - --enable-shared \ - --enable-python \ - --with-external-db \ - " - -CPPFLAGS_append = " `pkg-config --cflags nss`" -LDFLAGS_append = " -Wl,-Bsymbolic-functions -ffunction-sections" -CCFLAGS_append = " -fPIC " -CXXFLAGS_append = " -fPIC " -CFLAGS_append = " -fPIC -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE " - -do_configure_prepend() { - rm -rf sqlite - rm -f m4/libtool.m4 - rm -f m4/lt*.m4 - rm -rf db3/configure* -} - -do_install_append() { - mv ${D}/${base_bindir}/rpm ${D}/${bindir}/ - rmdir ${D}/${base_bindir} - rm -f ${D}${prefix}/lib/*.la - rm -f ${D}${prefix}/lib/rpm-plugins/*.la - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/*.{a,la} - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/rpm/*.{a,la} - rm -fr ${D}/var - install -d ${D}${prefix}/lib/rpm/bin - ln -s ../debugedit ${D}${prefix}/lib/rpm/bin/debugedit - ln -s ../rpmdeps ${D}${prefix}/lib/rpm/bin/rpmdeps-oecore - install -m 0755 ${WORKDIR}/pythondeps.sh ${D}/${libdir}/rpm/pythondeps.sh -} - -pkg_postinst_${PN}() { - [ "x\$D" = "x" ] && ldconfig - test -f ${localstatedir}/lib/rpm/Packages || rpm --initdb - rm -f ${localstatedir}/lib/rpm/Filemd5s \ - ${localstatedir}/lib/rpm/Filedigests \ - ${localstatedir}/lib/rpm/Requireversion \ - ${localstatedir}/lib/rpm/Provideversion - -} - -pkg_postrm_${PN}() { - [ "x\$D" = "x" ] && ldconfig - -} - -PACKAGES += "python-${PN}" -PROVIDES += "python-rpm" - -FILES_${PN} += "${libdir}/rpm \ - ${libdir}/rpm-plugins/exec.so \ - " -RDEPENDS_${PN} = "base-files run-postinsts" -RDEPENDS_${PN}_class-native = "" - -FILES_${PN}-dev += "${libdir}/python2.7/site-packages/rpm/*.la" - -FILES_python-${PN} = "${libdir}/python2.7/site-packages/rpm/*" -RDEPENDS_python-${PN} = "${PN} python" - -BBCLASSEXTEND = "native" |