aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/rpm-4.11.2/support-suggests-tag.patch
diff options
context:
space:
mode:
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.patch384
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