- cherry-pick new weakdeps tags from upstream
OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=318
This commit is contained in:
593
newweakdeps.diff
Normal file
593
newweakdeps.diff
Normal file
@@ -0,0 +1,593 @@
|
||||
--- ./build/files.c.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/files.c 2014-02-20 14:47:48.107802710 +0000
|
||||
@@ -1642,6 +1642,7 @@ static rpmRC readFilesManifest(rpmSpec s
|
||||
char *fn, buf[BUFSIZ];
|
||||
FILE *fd = NULL;
|
||||
rpmRC rc = RPMRC_FAIL;
|
||||
+ unsigned int nlines = 0;
|
||||
|
||||
if (*path == '/') {
|
||||
fn = rpmGetPath(path, NULL);
|
||||
@@ -1657,14 +1658,19 @@ static rpmRC readFilesManifest(rpmSpec s
|
||||
}
|
||||
|
||||
while (fgets(buf, sizeof(buf), fd)) {
|
||||
- handleComments(buf);
|
||||
+ if (handleComments(buf))
|
||||
+ continue;
|
||||
if (expandMacros(spec, spec->macros, buf, sizeof(buf))) {
|
||||
rpmlog(RPMLOG_ERR, _("line: %s\n"), buf);
|
||||
goto exit;
|
||||
}
|
||||
argvAdd(&(pkg->fileList), buf);
|
||||
+ nlines++;
|
||||
}
|
||||
|
||||
+ if (nlines == 0)
|
||||
+ rpmlog(RPMLOG_WARNING, _("Empty %%files file %s\n"), fn);
|
||||
+
|
||||
if (ferror(fd))
|
||||
rpmlog(RPMLOG_ERR, _("Error reading %%files file %s: %m\n"), fn);
|
||||
else
|
||||
--- ./build/pack.c.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/pack.c 2014-02-20 14:47:48.107802710 +0000
|
||||
@@ -228,8 +228,10 @@ static rpmTagVal depevrtags[] = {
|
||||
RPMTAG_CONFLICTVERSION,
|
||||
RPMTAG_ORDERVERSION,
|
||||
RPMTAG_TRIGGERVERSION,
|
||||
- RPMTAG_SUGGESTSVERSION,
|
||||
- RPMTAG_ENHANCESVERSION,
|
||||
+ RPMTAG_SUGGESTVERSION,
|
||||
+ RPMTAG_ENHANCEVERSION,
|
||||
+ RPMTAG_RECOMMENDVERSION,
|
||||
+ RPMTAG_SUPPLEMENTVERSION,
|
||||
0
|
||||
};
|
||||
|
||||
--- ./build/parsePreamble.c.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/parsePreamble.c 2014-02-20 14:47:48.108802710 +0000
|
||||
@@ -785,6 +785,10 @@ static rpmRC handlePreambleTag(rpmSpec s
|
||||
}
|
||||
/* 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:
|
||||
@@ -886,6 +890,10 @@ static struct PreambleRec_s const preamb
|
||||
{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")},
|
||||
--- ./build/parseReqs.c.orig 2014-02-05 13:06:21.000000000 +0000
|
||||
+++ ./build/parseReqs.c 2014-02-20 14:47:48.108802710 +0000
|
||||
@@ -61,6 +61,18 @@ rpmRC parseRCPOT(rpmSpec spec, Package p
|
||||
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;
|
||||
--- ./build/parseSpec.c.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/parseSpec.c 2014-02-20 14:47:48.108802710 +0000
|
||||
@@ -102,11 +102,14 @@ static int matchTok(const char *token, c
|
||||
return rc;
|
||||
}
|
||||
|
||||
-void handleComments(char *s)
|
||||
+int handleComments(char *s)
|
||||
{
|
||||
SKIPSPACE(s);
|
||||
- if (*s == '#')
|
||||
+ if (*s == '#') {
|
||||
*s = '\0';
|
||||
+ return 1;
|
||||
+ }
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
/* Push a file to spec's file stack, return the newly pushed entry */
|
||||
--- ./build/reqprov.c.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/reqprov.c 2014-02-20 14:47:48.108802710 +0000
|
||||
@@ -81,6 +81,30 @@ int addReqProv(Package pkg, rpmTagVal ta
|
||||
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;
|
||||
--- ./build/rpmbuild_internal.h.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/rpmbuild_internal.h 2014-02-20 14:47:48.109802710 +0000
|
||||
@@ -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;
|
||||
--- ./build/rpmbuild_misc.h.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/rpmbuild_misc.h 2014-02-20 14:47:48.109802710 +0000
|
||||
@@ -12,9 +12,10 @@ extern "C" {
|
||||
/** \ingroup rpmbuild
|
||||
* Truncate comment lines.
|
||||
* @param s skip white space, truncate line at '#'
|
||||
+ * @return 1 on comment lines, 0 otherwise
|
||||
*/
|
||||
RPM_GNUC_INTERNAL
|
||||
-void handleComments(char * s);
|
||||
+int handleComments(char * s);
|
||||
|
||||
/** \ingroup rpmstring
|
||||
*/
|
||||
--- ./build/spec.c.orig 2014-02-05 13:04:01.000000000 +0000
|
||||
+++ ./build/spec.c 2014-02-20 14:47:48.109802710 +0000
|
||||
@@ -137,6 +137,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);
|
||||
--- ./lib/rpmds.c.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./lib/rpmds.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -54,6 +54,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;
|
||||
--- ./lib/rpmtag.h.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./lib/rpmtag.h 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -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;
|
||||
--- ./lib/tagexts.c.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./lib/tagexts.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -761,6 +761,26 @@ static int requirenevrsTag(Header h, rpm
|
||||
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 rpmH
|
||||
{ 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 },
|
||||
--- ./python/Makefile.am.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./python/Makefile.am 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -6,16 +6,16 @@ AM_CPPFLAGS = -I$(top_builddir)/include/
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/python
|
||||
AM_CPPFLAGS += -I@WITH_PYTHON_INCLUDE@
|
||||
|
||||
-pkgpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la _rpmsmodule.la
|
||||
+pkgpyexec_LTLIBRARIES = _rpm.la _rpmb.la _rpms.la
|
||||
pkgpyexec_DATA = rpm/__init__.py rpm/transaction.py
|
||||
|
||||
-_rpmmodule_la_LDFLAGS = -module -avoid-version -shared
|
||||
-_rpmmodule_la_LIBADD = \
|
||||
+_rpm_la_LDFLAGS = -module -avoid-version -shared
|
||||
+_rpm_la_LIBADD = \
|
||||
$(top_builddir)/lib/librpm.la \
|
||||
$(top_builddir)/rpmio/librpmio.la \
|
||||
@WITH_PYTHON_LIB@
|
||||
|
||||
-_rpmmodule_la_SOURCES = rpmmodule.c rpmsystem-py.h \
|
||||
+_rpm_la_SOURCES = rpmmodule.c rpmsystem-py.h \
|
||||
header-py.c header-py.h \
|
||||
rpmds-py.c rpmds-py.h \
|
||||
rpmfd-py.c rpmfd-py.h \
|
||||
@@ -30,22 +30,22 @@ _rpmmodule_la_SOURCES = rpmmodule.c rpms
|
||||
rpmte-py.c rpmte-py.h \
|
||||
rpmts-py.c rpmts-py.h
|
||||
|
||||
-_rpmbmodule_la_LDFLAGS = -module -avoid-version -shared
|
||||
-_rpmbmodule_la_LIBADD = \
|
||||
+_rpmb_la_LDFLAGS = -module -avoid-version -shared
|
||||
+_rpmb_la_LIBADD = \
|
||||
$(top_builddir)/build/librpmbuild.la \
|
||||
$(top_builddir)/lib/librpm.la \
|
||||
$(top_builddir)/rpmio/librpmio.la \
|
||||
@WITH_PYTHON_LIB@
|
||||
|
||||
-_rpmbmodule_la_SOURCES = rpmbmodule.c rpmsystem-py.h \
|
||||
+_rpmb_la_SOURCES = rpmbmodule.c rpmsystem-py.h \
|
||||
spec-py.c spec-py.h
|
||||
|
||||
-_rpmsmodule_la_LDFLAGS = -module -avoid-version -shared
|
||||
-_rpmsmodule_la_LIBADD = \
|
||||
+_rpms_la_LDFLAGS = -module -avoid-version -shared
|
||||
+_rpms_la_LIBADD = \
|
||||
$(top_builddir)/sign/librpmsign.la \
|
||||
$(top_builddir)/lib/librpm.la \
|
||||
$(top_builddir)/rpmio/librpmio.la \
|
||||
@WITH_PYTHON_LIB@
|
||||
|
||||
-_rpmsmodule_la_SOURCES = rpmsmodule.c rpmsystem-py.h
|
||||
+_rpms_la_SOURCES = rpmsmodule.c rpmsystem-py.h
|
||||
|
||||
--- ./python/rpmbmodule.c.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./python/rpmbmodule.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -66,8 +66,8 @@ static struct PyModuleDef moduledef = {
|
||||
NULL /* m_free */
|
||||
};
|
||||
|
||||
-PyObject * PyInit__rpm(void); /* XXX eliminate gcc warning */
|
||||
-PyObject * PyInit__rpm(void)
|
||||
+PyObject * PyInit__rpmb(void); /* XXX eliminate gcc warning */
|
||||
+PyObject * PyInit__rpmb(void)
|
||||
{
|
||||
PyObject *m;
|
||||
|
||||
--- ./python/rpmii-py.c.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./python/rpmii-py.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -88,7 +88,9 @@ static PyNumberMethods rpmii_as_number =
|
||||
0, /* nb_add */
|
||||
0, /* nb_subtract */
|
||||
0, /* nb_multiply */
|
||||
+#if PY_MAJOR_VERSION < 3
|
||||
0, /* nb_divide */
|
||||
+#endif
|
||||
0, /* nb_remainder */
|
||||
0, /* nb_divmod */
|
||||
0, /* nb_power */
|
||||
--- ./python/rpmmi-py.c.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./python/rpmmi-py.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -149,7 +149,9 @@ static PyNumberMethods rpmmi_as_number =
|
||||
0, /* nb_add */
|
||||
0, /* nb_subtract */
|
||||
0, /* nb_multiply */
|
||||
+#if PY_MAJOR_VERSION < 3
|
||||
0, /* nb_divide */
|
||||
+#endif
|
||||
0, /* nb_remainder */
|
||||
0, /* nb_divmod */
|
||||
0, /* nb_power */
|
||||
--- ./python/rpmsmodule.c.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./python/rpmsmodule.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -59,15 +59,15 @@ static struct PyModuleDef moduledef = {
|
||||
"_rpms", /* m_name */
|
||||
rpms__doc__, /* m_doc */
|
||||
0, /* m_size */
|
||||
- NULL, /* m_methods */
|
||||
+ modMethods, /* m_methods */
|
||||
NULL, /* m_reload */
|
||||
NULL, /* m_traverse */
|
||||
NULL, /* m_clear */
|
||||
NULL /* m_free */
|
||||
};
|
||||
|
||||
-PyObject * PyInit__rpm(void); /* XXX eliminate gcc warning */
|
||||
-PyObject * PyInit__rpm(void)
|
||||
+PyObject * PyInit__rpms(void); /* XXX eliminate gcc warning */
|
||||
+PyObject * PyInit__rpms(void)
|
||||
{
|
||||
PyObject *m;
|
||||
|
||||
--- ./python/rpmsystem-py.h.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./python/rpmsystem-py.h 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -48,6 +48,7 @@ typedef Py_ssize_t (*lenfunc)(PyObject *
|
||||
#define PyInt_FromLong PyLong_FromLong
|
||||
#define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
|
||||
#define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
|
||||
+#define PyInt_AsSsize_t PyLong_AsSsize_t
|
||||
#endif
|
||||
|
||||
#endif /* H_SYSTEM_PYTHON */
|
||||
--- ./rpmio/digest.c.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./rpmio/digest.c 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
-#define DIGESTS_MAX 11
|
||||
+#define DIGESTS_MAX 12
|
||||
struct rpmDigestBundle_s {
|
||||
int index_min; /*!< Smallest index of active digest */
|
||||
int index_max; /*!< Largest index of active digest */
|
||||
--- ./rpmpopt.in.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./rpmpopt.in 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -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}|\
|
||||
--- ./tests/data/SPECS/deptest.spec.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./tests/data/SPECS/deptest.spec 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -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}
|
||||
--- ./tests/rpmbuild.at.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./tests/rpmbuild.at 2014-02-20 14:47:48.110802710 +0000
|
||||
@@ -185,3 +185,31 @@ 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 --recommends /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
||||
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
||||
+runroot rpm -qp --supplements /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
||||
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
||||
+],
|
||||
+[0],
|
||||
+[foo > 1.2.3
|
||||
+bar >= 0.1.2
|
||||
+baz
|
||||
+zap = 3
|
||||
+],
|
||||
+[ignore])
|
||||
+AT_CLEANUP
|
||||
--- ./tests/rpmdb.at.orig 2014-02-05 13:04:02.000000000 +0000
|
||||
+++ ./tests/rpmdb.at 2014-02-20 14:47:48.111802710 +0000
|
||||
@@ -103,7 +103,7 @@ AT_CLEANUP
|
||||
|
||||
# ------------------------------
|
||||
# reinstall a noarch package (with no files)
|
||||
-AT_SETUP([rpm -U --replacepkgs])
|
||||
+AT_SETUP([rpm -U --replacepkgs 1])
|
||||
AT_KEYWORDS([rpmdb install])
|
||||
|
||||
AT_CHECK([
|
||||
@@ -124,6 +124,28 @@ runroot rpm -i "${tpkg}" &&
|
||||
AT_CLEANUP
|
||||
|
||||
# ------------------------------
|
||||
+# reinstall a package with different file policies
|
||||
+AT_SETUP([rpm -U --replacepkgs 2])
|
||||
+AT_KEYWORDS([rpmdb install])
|
||||
+
|
||||
+AT_CHECK([
|
||||
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
|
||||
+RPMDB_CLEAR
|
||||
+RPMDB_INIT
|
||||
+
|
||||
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
|
||||
+
|
||||
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
|
||||
+ runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs "${tpkg}" &&
|
||||
+ runroot rpm -e hello
|
||||
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
|
||||
+],
|
||||
+[1],
|
||||
+[],
|
||||
+[])
|
||||
+
|
||||
+AT_CLEANUP
|
||||
+# ------------------------------
|
||||
# install a package into a local rpmdb
|
||||
# * Shall only work with relocation
|
||||
# * Use --ignorearch because we don't know the arch
|
||||
--- ./tests/rpmgeneral.at.orig 2012-11-07 12:55:24.000000000 +0000
|
||||
+++ ./tests/rpmgeneral.at 2014-02-20 14:47:48.111802710 +0000
|
||||
@@ -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
|
Reference in New Issue
Block a user