diff options
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm-4.11.2/support-suggests-tag.patch')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm-4.11.2/support-suggests-tag.patch | 384 |
1 files changed, 0 insertions, 384 deletions
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 |