summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2010-03-19 16:54:00 +0200
committerPanu Matilainen <pmatilai@redhat.com>2010-03-19 16:54:00 +0200
commit367c0d7014b769a5c12f83b525dddb0a7c76beef (patch)
tree63a0863c27fb205b398bee62c7483ceabbc21912
parentd87d831cdfd3a8b389dfc71d5b671c5e7dcf74d9 (diff)
downloadrpm-367c0d7014b769a5c12f83b525dddb0a7c76beef.tar.gz
rpm-367c0d7014b769a5c12f83b525dddb0a7c76beef.tar.bz2
rpm-367c0d7014b769a5c12f83b525dddb0a7c76beef.zip
Eliminate hysterical --hdlist query option and everything implementing it
- This hidden gem used "system hdlist", ie "/usr/share/comps/%{_arch}/hdlist as the source for queries. Such "system hdlist" hasn't existed anywhere since RHL 9/FC 1 times...
-rw-r--r--lib/poptQV.c6
-rw-r--r--lib/query.c4
-rw-r--r--lib/rpmcli.h1
-rw-r--r--lib/rpmgi.c35
-rw-r--r--lib/rpmtag.h3
-rw-r--r--lib/tagname.c6
-rw-r--r--rpmqv.c6
7 files changed, 4 insertions, 57 deletions
diff --git a/lib/poptQV.c b/lib/poptQV.c
index 42d913c73..a3d4b4dd1 100644
--- a/lib/poptQV.c
+++ b/lib/poptQV.c
@@ -23,7 +23,6 @@ struct rpmQVKArguments_s rpmQVKArgs;
#define POPT_QUERYBYHDRID -1008
#define POPT_QUERYBYFILEID -1009
#define POPT_QUERYBYTID -1010
-#define POPT_HDLIST -1011
/* ========== Query/Verify/Signature source args */
static void rpmQVSourceArgCallback( poptContext con,
@@ -64,8 +63,6 @@ static void rpmQVSourceArgCallback( poptContext con,
qva->qva_sourceCount++; break;
case POPT_QUERYBYTID: qva->qva_source |= RPMQV_TID;
qva->qva_sourceCount++; break;
- case POPT_HDLIST: qva->qva_source |= RPMQV_HDLIST;
- qva->qva_sourceCount++; break;
/* XXX SPECFILE is not verify sources */
case POPT_SPECFILE:
@@ -97,9 +94,6 @@ struct poptOption rpmQVSourcePoptTable[] = {
{ "package", 'p', 0, 0, 'p',
N_("query/verify a package file"), NULL },
- { "hdlist", 'H', POPT_ARGFLAG_DOC_HIDDEN, 0, POPT_HDLIST,
- N_("query/verify package(s) from system HDLIST"), "HDLIST" },
-
{ "pkgid", '\0', 0, 0, POPT_QUERYBYPKGID,
N_("query/verify package(s) with package identifier"), "MD5" },
{ "hdrid", '\0', 0, 0, POPT_QUERYBYHDRID,
diff --git a/lib/query.c b/lib/query.c
index 7622a4364..d1b96363d 100644
--- a/lib/query.c
+++ b/lib/query.c
@@ -315,7 +315,6 @@ int rpmQueryVerify(QVA_t qva, rpmts ts, const char * arg)
switch (qva->qva_source) {
case RPMQV_RPM:
case RPMQV_ALL:
- case RPMQV_HDLIST:
res = rpmgiShowMatches(qva, ts);
break;
@@ -553,9 +552,6 @@ int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv)
case RPMQV_RPM:
ec = rpmcliArgIterHelper(ts, qva, RPMDBI_ARGLIST, argv, giFlags);
break;
- case RPMQV_HDLIST:
- ec = rpmcliArgIterHelper(ts, qva, RPMDBI_HDLIST, argv, giFlags);
- break;
default:
qva->qva_gi = rpmgiNew(ts, RPMDBI_ARGLIST, NULL, 0);
rpmgiSetArgs(qva->qva_gi, argv,
diff --git a/lib/rpmcli.h b/lib/rpmcli.h
index 5a6b7052f..bc0524e24 100644
--- a/lib/rpmcli.h
+++ b/lib/rpmcli.h
@@ -95,7 +95,6 @@ typedef enum rpmQVSources_e {
RPMQV_HDRID, /*!< ... from header id (immutable header SHA1). */
RPMQV_FILEID, /*!< ... from file id (file MD5). */
RPMQV_TID, /*!< ... from install transaction id (time stamp). */
- RPMQV_HDLIST, /*!< ... from system hdlist. */
} rpmQVSources;
/** \ingroup rpmcli
diff --git a/lib/rpmgi.c b/lib/rpmgi.c
index 1628f4099..d7134d6c7 100644
--- a/lib/rpmgi.c
+++ b/lib/rpmgi.c
@@ -42,8 +42,6 @@ struct rpmgi_s {
rpmdbMatchIterator mi;
- FD_t fd;
-
ARGV_t argv;
int argc;
};
@@ -187,9 +185,7 @@ static rpmRC rpmgiGlobArgv(rpmgi gi, ARGV_const_t argv)
int xx;
/* XXX Expand globs only if requested or for gi specific tags */
- if ((gi->flags & RPMGI_NOGLOB)
- || !(gi->tag == RPMDBI_HDLIST || gi->tag == RPMDBI_ARGLIST))
- {
+ if ((gi->flags & RPMGI_NOGLOB) || !(gi->tag == RPMDBI_ARGLIST)) {
if (argv != NULL) {
while (argv[ac] != NULL)
ac++;
@@ -278,10 +274,6 @@ rpmgi rpmgiFree(rpmgi gi)
gi->argv = argvFree(gi->argv);
- if (gi->fd != NULL) {
- (void) Fclose(gi->fd);
- gi->fd = NULL;
- }
gi->tsi = rpmtsiFree(gi->tsi);
gi->mi = rpmdbFreeIterator(gi->mi);
gi->ts = rpmtsFree(gi->ts);
@@ -312,7 +304,6 @@ rpmgi rpmgiNew(rpmts ts, rpmTag tag, const void * keyp, size_t keylen)
gi->tsi = NULL;
gi->mi = NULL;
- gi->fd = NULL;
gi->argv = argvNew();
gi->argc = 0;
@@ -323,7 +314,6 @@ rpmRC rpmgiNext(rpmgi gi)
{
char hnum[32];
rpmRC rpmrc = RPMRC_NOTFOUND;
- int xx;
if (gi == NULL)
return rpmrc;
@@ -382,29 +372,6 @@ rpmRC rpmgiNext(rpmgi gi)
goto enditer;
}
} break;
- case RPMDBI_HDLIST:
- if (!gi->active) {
- const char * path = "/usr/share/comps/%{_arch}/hdlist";
- gi->fd = rpmgiOpen(path, "r.ufdio");
- gi->active = 1;
- }
- if (gi->fd != NULL) {
- Header h = headerRead(gi->fd, HEADER_MAGIC_YES);
- if (h != NULL) {
- if (!(gi->flags & RPMGI_NOHEADER))
- gi->h = headerLink(h);
- sprintf(hnum, "%u", (unsigned)gi->i);
- gi->hdrPath = rpmExpand("hdlist h# ", hnum, NULL);
- rpmrc = RPMRC_OK;
- h = headerFree(h);
- }
- }
- if (rpmrc != RPMRC_OK) {
- if (gi->fd != NULL) (void) Fclose(gi->fd);
- gi->fd = NULL;
- goto enditer;
- }
- break;
case RPMDBI_ARGLIST:
/* XXX gi->active initialize? */
if (_rpmgi_debug < 0)
diff --git a/lib/rpmtag.h b/lib/rpmtag.h
index 2adf40bfe..32b249599 100644
--- a/lib/rpmtag.h
+++ b/lib/rpmtag.h
@@ -16,8 +16,7 @@ extern "C" {
#define RPMDBI_ADDED 3 /* Added package headers. */
#define RPMDBI_REMOVED 4 /* Removed package headers. */
#define RPMDBI_AVAILABLE 5 /* Available package headers. */
-#define RPMDBI_HDLIST 6 /* (rpmgi) Header list. */
-#define RPMDBI_ARGLIST 7 /* (rpmgi) Argument list. */
+#define RPMDBI_ARGLIST 6 /* (rpmgi) Argument list. */
/**
* Header private tags.
diff --git a/lib/tagname.c b/lib/tagname.c
index 5f2c6fbb4..593098938 100644
--- a/lib/tagname.c
+++ b/lib/tagname.c
@@ -141,9 +141,6 @@ static const char * _tagName(rpmTag tag)
case RPMDBI_AVAILABLE:
name = "Available";
break;
- case RPMDBI_HDLIST:
- name = "Hdlist";
- break;
case RPMDBI_ARGLIST:
name = "Arglist";
break;
@@ -202,7 +199,6 @@ static rpmTagType _tagType(rpmTag tag)
case RPMDBI_ADDED:
case RPMDBI_REMOVED:
case RPMDBI_AVAILABLE:
- case RPMDBI_HDLIST:
case RPMDBI_ARGLIST:
break;
default:
@@ -250,8 +246,6 @@ static rpmTag _tagValue(const char * tagstr)
return RPMDBI_REMOVED;
if (!rstrcasecmp(tagstr, "Available"))
return RPMDBI_AVAILABLE;
- if (!rstrcasecmp(tagstr, "Hdlist"))
- return RPMDBI_HDLIST;
if (!rstrcasecmp(tagstr, "Arglist"))
return RPMDBI_ARGLIST;
diff --git a/rpmqv.c b/rpmqv.c
index 457881e51..be2707c92 100644
--- a/rpmqv.c
+++ b/rpmqv.c
@@ -751,8 +751,7 @@ int main(int argc, char *argv[])
#ifdef IAM_RPMQV
case MODE_QUERY:
- if (!poptPeekArg(optCon)
- && !(qva->qva_source == RPMQV_ALL || qva->qva_source == RPMQV_HDLIST))
+ if (!poptPeekArg(optCon) && !(qva->qva_source == RPMQV_ALL))
argerror(_("no arguments given for query"));
qva->qva_specQuery = rpmspecQuery;
@@ -766,8 +765,7 @@ int main(int argc, char *argv[])
verifyFlags &= ~qva->qva_flags;
qva->qva_flags = (rpmQueryFlags) verifyFlags;
- if (!poptPeekArg(optCon)
- && !(qva->qva_source == RPMQV_ALL || qva->qva_source == RPMQV_HDLIST))
+ if (!poptPeekArg(optCon) && !(qva->qva_source == RPMQV_ALL))
argerror(_("no arguments given for verify"));
ec = rpmcliVerify(ts, qva, (ARGV_const_t) poptGetArgs(optCon));
} break;