parent
7307a5ee39
commit
5510dc282d
157
rpm-4.12.0-whatrecommends.patch
Normal file
157
rpm-4.12.0-whatrecommends.patch
Normal file
@ -0,0 +1,157 @@
|
||||
diff --git a/doc/rpm.8 b/doc/rpm.8
|
||||
index e583009..283e8ac 100644
|
||||
--- a/doc/rpm.8
|
||||
+++ b/doc/rpm.8
|
||||
@@ -58,6 +58,8 @@ rpm \- RPM Package Manager
|
||||
[\fB--hdrid \fISHA1\fB\fR] [\fB--pkgid \fIMD5\fB\fR] [\fB--tid \fITID\fB\fR]
|
||||
[\fB--querybynumber \fIHDRNUM\fB\fR] [\fB--triggeredby \fIPACKAGE_NAME\fB\fR]
|
||||
[\fB--whatprovides \fICAPABILITY\fB\fR] [\fB--whatrequires \fICAPABILITY\fB\fR]
|
||||
+ [\fB--whatrecommends \fICAPABILITY\fB\fR] [\fB--whatsuggests \fICAPABILITY\fB\fR]
|
||||
+ [\fB--whatsupplements \fICAPABILITY\fB\fR] [\fB--whatenhances \fICAPABILITY\fB\fR]
|
||||
|
||||
.SS "query-options"
|
||||
.PP
|
||||
@@ -588,6 +590,18 @@ Query all packages that provide the \fICAPABILITY\fR capability.
|
||||
.TP
|
||||
\fB--whatrequires \fICAPABILITY\fB\fR
|
||||
Query all packages that require \fICAPABILITY\fR for proper functioning.
|
||||
+.TP
|
||||
+\fB--whatrecommends \fICAPABILITY\fB\fR
|
||||
+Query all packages that recommend \fICAPABILITY\fR.
|
||||
+.TP
|
||||
+\fB--whatsuggests \fICAPABILITY\fB\fR
|
||||
+Query all packages that suggest \fICAPABILITY\fR.
|
||||
+.TP
|
||||
+\fB--whatsupplements \fICAPABILITY\fB\fR
|
||||
+Query all packages that supplement \fICAPABILITY\fR.
|
||||
+.TP
|
||||
+\fB--whatenhances \fICAPABILITY\fB\fR
|
||||
+Query all packages that enhance \fICAPABILITY\fR.
|
||||
.SS "PACKAGE QUERY OPTIONS:"
|
||||
.PP
|
||||
.TP
|
||||
diff --git a/lib/poptQV.c b/lib/poptQV.c
|
||||
index 3db17b0..80edce7 100644
|
||||
--- a/lib/poptQV.c
|
||||
+++ b/lib/poptQV.c
|
||||
@@ -21,6 +21,10 @@ struct rpmQVKArguments_s rpmQVKArgs;
|
||||
#define POPT_QUERYBYPKGID -1007
|
||||
#define POPT_QUERYBYHDRID -1008
|
||||
#define POPT_QUERYBYTID -1010
|
||||
+#define POPT_WHATRECOMMENDS -1011
|
||||
+#define POPT_WHATSUGGESTS -1012
|
||||
+#define POPT_WHATSUPPLEMENTS -1013
|
||||
+#define POPT_WHATENHANCES -1014
|
||||
|
||||
/* ========== Query/Verify/Signature source args */
|
||||
static void rpmQVSourceArgCallback( poptContext con,
|
||||
@@ -45,6 +49,10 @@ static void rpmQVSourceArgCallback( poptContext con,
|
||||
case 'p': qva->qva_source |= RPMQV_RPM; break;
|
||||
case POPT_WHATPROVIDES: qva->qva_source |= RPMQV_WHATPROVIDES; break;
|
||||
case POPT_WHATREQUIRES: qva->qva_source |= RPMQV_WHATREQUIRES; break;
|
||||
+ case POPT_WHATRECOMMENDS: qva->qva_source |= RPMQV_WHATRECOMMENDS; break;
|
||||
+ case POPT_WHATSUGGESTS: qva->qva_source |= RPMQV_WHATSUGGESTS; break;
|
||||
+ case POPT_WHATSUPPLEMENTS: qva->qva_source |= RPMQV_WHATSUPPLEMENTS; break;
|
||||
+ case POPT_WHATENHANCES: qva->qva_source |= RPMQV_WHATENHANCES; break;
|
||||
case POPT_TRIGGEREDBY: qva->qva_source |= RPMQV_TRIGGEREDBY; break;
|
||||
case POPT_QUERYBYPKGID: qva->qva_source |= RPMQV_PKGID; break;
|
||||
case POPT_QUERYBYHDRID: qva->qva_source |= RPMQV_HDRID; break;
|
||||
@@ -93,6 +101,14 @@ struct poptOption rpmQVSourcePoptTable[] = {
|
||||
N_("query/verify the package(s) which require a dependency"), "CAPABILITY" },
|
||||
{ "whatprovides", '\0', 0, 0, POPT_WHATPROVIDES,
|
||||
N_("query/verify the package(s) which provide a dependency"), "CAPABILITY" },
|
||||
+ { "whatrecommends", '\0', 0, 0, POPT_WHATRECOMMENDS,
|
||||
+ N_("query/verify the package(s) which recommends a dependency"), "CAPABILITY" },
|
||||
+ { "whatsuggests", '\0', 0, 0, POPT_WHATSUGGESTS,
|
||||
+ N_("query/verify the package(s) which suggests a dependency"), "CAPABILITY" },
|
||||
+ { "whatsupplements", '\0', 0, 0, POPT_WHATSUPPLEMENTS,
|
||||
+ N_("query/verify the package(s) which supplements a dependency"), "CAPABILITY" },
|
||||
+ { "whatenhances", '\0', 0, 0, POPT_WHATENHANCES,
|
||||
+ N_("query/verify the package(s) which enhances a dependency"), "CAPABILITY" },
|
||||
|
||||
{ "noglob", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN, &giFlags, RPMGI_NOGLOB,
|
||||
N_("do not glob arguments"), NULL},
|
||||
diff --git a/lib/query.c b/lib/query.c
|
||||
index 896ebe3..b15b99b 100644
|
||||
--- a/lib/query.c
|
||||
+++ b/lib/query.c
|
||||
@@ -384,6 +384,34 @@ static rpmdbMatchIterator initQueryIterator(QVA_t qva, rpmts ts, const char * ar
|
||||
}
|
||||
break;
|
||||
|
||||
+ case RPMQV_WHATRECOMMENDS:
|
||||
+ mi = rpmtsInitIterator(ts, RPMDBI_RECOMMENDNAME, arg, 0);
|
||||
+ if (mi == NULL) {
|
||||
+ rpmlog(RPMLOG_NOTICE, _("no package recommends %s\n"), arg);
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case RPMQV_WHATSUGGESTS:
|
||||
+ mi = rpmtsInitIterator(ts, RPMDBI_SUGGESTNAME, arg, 0);
|
||||
+ if (mi == NULL) {
|
||||
+ rpmlog(RPMLOG_NOTICE, _("no package suggests %s\n"), arg);
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case RPMQV_WHATSUPPLEMENTS:
|
||||
+ mi = rpmtsInitIterator(ts, RPMDBI_SUPPLEMENTNAME, arg, 0);
|
||||
+ if (mi == NULL) {
|
||||
+ rpmlog(RPMLOG_NOTICE, _("no package supplements %s\n"), arg);
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case RPMQV_WHATENHANCES:
|
||||
+ mi = rpmtsInitIterator(ts, RPMDBI_ENHANCENAME, arg, 0);
|
||||
+ if (mi == NULL) {
|
||||
+ rpmlog(RPMLOG_NOTICE, _("no package enhances %s\n"), arg);
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
case RPMQV_WHATPROVIDES:
|
||||
if (arg[0] != '/' && arg[0] != '.') {
|
||||
mi = rpmtsInitIterator(ts, RPMDBI_PROVIDENAME, arg, 0);
|
||||
diff --git a/lib/rpmcli.h b/lib/rpmcli.h
|
||||
index 48e8250..4adb3d1 100644
|
||||
--- a/lib/rpmcli.h
|
||||
+++ b/lib/rpmcli.h
|
||||
@@ -91,6 +91,10 @@ enum rpmQVSources_e {
|
||||
RPMQV_HDRID, /*!< ... from header id (immutable header SHA1). */
|
||||
RPMQV_TID, /*!< ... from install transaction id (time stamp). */
|
||||
RPMQV_SPECSRPM, /*!< ... from spec file source (query only). */
|
||||
+ RPMQV_WHATRECOMMENDS, /*!< ... from recommends db search. */
|
||||
+ RPMQV_WHATSUGGESTS, /*!< ... from suggests db search. */
|
||||
+ RPMQV_WHATSUPPLEMENTS, /*!< ... from supplements db search. */
|
||||
+ RPMQV_WHATENHANCES, /*!< ... from enhances db search. */
|
||||
};
|
||||
|
||||
typedef rpmFlags rpmQVSources;
|
||||
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
|
||||
index b6d3247..baa1974 100644
|
||||
--- a/lib/rpmdb.c
|
||||
+++ b/lib/rpmdb.c
|
||||
@@ -493,6 +493,10 @@ static rpmdb newRpmdb(const char * root, const char * home,
|
||||
RPMDBI_INSTALLTID,
|
||||
RPMDBI_SIGMD5,
|
||||
RPMDBI_SHA1HEADER,
|
||||
+ RPMDBI_RECOMMENDNAME,
|
||||
+ RPMDBI_SUGGESTNAME,
|
||||
+ RPMDBI_SUPPLEMENTNAME,
|
||||
+ RPMDBI_ENHANCENAME,
|
||||
};
|
||||
|
||||
if (!(db_home && db_home[0] != '%')) {
|
||||
diff --git a/lib/rpmtag.h b/lib/rpmtag.h
|
||||
index 12a2a50..1dc1c2b 100644
|
||||
--- a/lib/rpmtag.h
|
||||
+++ b/lib/rpmtag.h
|
||||
@@ -353,6 +353,10 @@ typedef enum rpmDbiTag_e {
|
||||
RPMDBI_SIGMD5 = RPMTAG_SIGMD5,
|
||||
RPMDBI_SHA1HEADER = RPMTAG_SHA1HEADER,
|
||||
RPMDBI_INSTFILENAMES = RPMTAG_INSTFILENAMES,
|
||||
+ RPMDBI_RECOMMENDNAME = RPMTAG_RECOMMENDNAME,
|
||||
+ RPMDBI_SUGGESTNAME = RPMTAG_SUGGESTNAME,
|
||||
+ RPMDBI_SUPPLEMENTNAME = RPMTAG_SUPPLEMENTNAME,
|
||||
+ RPMDBI_ENHANCENAME = RPMTAG_ENHANCENAME,
|
||||
} rpmDbiTag;
|
||||
|
||||
/** \ingroup signature
|
6
rpm.spec
6
rpm.spec
@ -27,7 +27,7 @@
|
||||
Summary: The RPM package management system
|
||||
Name: rpm
|
||||
Version: %{rpmver}
|
||||
Release: %{?snapver:0.%{snapver}.}14%{?dist}
|
||||
Release: %{?snapver:0.%{snapver}.}15%{?dist}
|
||||
Group: System Environment/Base
|
||||
Url: http://www.rpm.org/
|
||||
Source0: http://rpm.org/releases/rpm-4.12.x/%{name}-%{srcver}.tar.bz2
|
||||
@ -65,6 +65,7 @@ Patch104: rpm-4.12.0-exclude-doc.patch
|
||||
Patch105: rpm-4.12.0-eu-strip-g-option.patch
|
||||
# Fix golang debuginfo packages
|
||||
Patch106: rpm-4.12.0-golang-debuginfo.patch
|
||||
Patch107: rpm-4.12.0-whatrecommends.patch
|
||||
|
||||
# These are not yet upstream
|
||||
Patch302: rpm-4.7.1-geode-i686.patch
|
||||
@ -549,6 +550,9 @@ exit 0
|
||||
%doc doc/librpm/html/*
|
||||
|
||||
%changelog
|
||||
* Fri Jun 12 2015 Florian Festi <ffesti@rpm.org> - 4.12.0.1-15
|
||||
- Add --whatrecommends and friends (#1231247)
|
||||
|
||||
* Wed Apr 15 2015 Florian Festi <ffesti@rpm.org> - 4.12.0.1-14
|
||||
- Fix references to sources in golang debuginfo packages (#1184221)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user