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. (From OE-Core rev: a6e7a86f1635be9a688c56c25e9d215ea4d2cc84) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
a7dd04d15b
commit
1e9de52ca0
|
@ -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);
|
|
@ -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;
|
|
@ -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}"
|
|
@ -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
|
|
@ -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])
|
|
@ -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);
|
|
@ -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);
|
|
@ -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
|
|
@ -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
|
|
@ -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"
|
Loading…
Reference in New Issue