Eliminate useless --fileid query selector
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 22 Oct 2010 05:58:06 +0000 (08:58 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 22 Oct 2010 05:58:06 +0000 (08:58 +0300)
- Finding out which package provides a file with a given digest
  is just .. useless functionality. Being next to useless is one
  thing, but we pay a high price for this particular uselessness:
  the index needed for this is one of the biggest and most expensive
  indexes we have.

doc/ja/rpm.8
doc/pl/rpm.8
doc/rpm.8
doc/ru/rpm.8
lib/poptQV.c
lib/query.c
lib/rpmcli.h

index f8fdc8f..5b5f35e 100644 (file)
@@ -88,7 +88,6 @@ rpm \- RPM パッケージマネージャ
 .RB [ \-g , \-\-group   " " "\fIGROUP" ]
 .RB [ \-p , \-\-package " " "\fIPACKAGE_FILE" ]
 .br
-.RB [ \-\-fileid        " " "\fIMD5" ]
 .RB [ \-\-hdrid         " " "\fISHA1" ]
 .RB [ \-\-pkgid         " " "\fIMD5" ]
 .RB [ \-\-tid           " " "\fITID" ]
@@ -606,12 +605,6 @@ strftime(3)の "%a %b %d %Y" 書式を使う。
 .I FILE
 を所有するパッケージを検索する。
 .TP
-.BI "\-\-fileid " MD5
-与えられたファイル識別子、
-すなわち
-.I MD5
-ダイジェストを持つファイルを含むパッケージを検索する。
-.TP
 .BR \-g ", " \-\-group " \fIGROUP"
 グループが
 .I GROUP
index ee51ece..77b1d9b 100644 (file)
@@ -46,7 +46,7 @@ rpm \- Menedżer pakietów RPM
 
  [\fB\fINAZWA_PAKIETU\fB\fR] [\fB-a,--all\fR] [\fB-f,--file \fIPLIK\fB\fR]
  [\fB-g,--group \fIGRUPA\fB\fR] {\fB-p,--package \fIPLIK_PAKIETU\fB\fR]
- [\fB--fileid \fIMD5\fB\fR] [\fB--hdrid \fISHA1\fB\fR] [\fB--pkgid \fIMD5\fB\fR] [\fB--tid \fITID\fB\fR]
+ [\fB--hdrid \fISHA1\fB\fR] [\fB--pkgid \fIMD5\fB\fR] [\fB--tid \fITID\fB\fR]
  [\fB--querybynumber \fINUMER_NAGŁÓWKA\fB\fR] [\fB--triggeredby \fINAZWA_PAKIETU\fB\fR]
  [\fB--whatprovides \fIWŁASNOŚĆ\fB\fR] [\fB--whatrequires \fIWŁASNOŚĆ\fB\fR]
 
@@ -452,10 +452,6 @@ Odpytuje wszystkie zainstalowane pakiety.
 \fB-f\fR, \fB--file \fIPLIK\fB\fR
 Odpytuje pakiet będący właścicielem \fIPLIKU\fR.
 .TP
-\fB--fileid \fIMD5\fB\fR
-Odpytuje pakiet zawierający plik o podanym identyfikatorze, będącym
-skrótem \fIMD5\fR zawartości pliku.
-.TP
 \fB-g\fR, \fB--group \fIGRUPA\fB\fR
 Odpytuje pakiety o grupie \fIGRUPA\fR.
 .TP
index 7467124..499e892 100644 (file)
--- a/doc/rpm.8
+++ b/doc/rpm.8
@@ -69,7 +69,7 @@ rpm \- RPM Package Manager
 
  [\fB\fIPACKAGE_NAME\fB\fR] [\fB-a,--all\fR] [\fB-f,--file \fIFILE\fB\fR]
  [\fB-g,--group \fIGROUP\fB\fR] {\fB-p,--package \fIPACKAGE_FILE\fB\fR]
- [\fB--fileid \fIMD5\fB\fR] [\fB--hdrid \fISHA1\fB\fR] [\fB--pkgid \fIMD5\fB\fR] [\fB--tid \fITID\fB\fR]
+ [\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]
 
@@ -526,10 +526,6 @@ Query all installed packages.
 \fB-f, --file \fIFILE\fB\fR
 Query package owning \fIFILE\fR.
 .TP
-\fB--fileid \fIMD5\fB\fR
-Query package that contains a given file identifier, i.e. the
-\fIMD5\fR digest of the file contents.
-.TP
 \fB-g, --group \fIGROUP\fB\fR
 Query packages with the group of \fIGROUP\fR.
 .TP
index 20d95f1..8ed5262 100644 (file)
@@ -69,7 +69,7 @@ rpm \- Менеджер пакетов RPM
 
  [\fB\fIPACKAGE_NAME\fB\fR] [\fB-a,--all\fR] [\fB-f,--file \fIFILE\fB\fR]
  [\fB-g,--group \fIGROUP\fB\fR] {\fB-p,--package \fIPACKAGE_FILE\fB\fR]
- [\fB--fileid \fIMD5\fB\fR] [\fB--hdrid \fISHA1\fB\fR] [\fB--pkgid \fIMD5\fB\fR] [\fB--tid \fITID\fB\fR]
+ [\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]
 
@@ -487,10 +487,6 @@ rpm \- Менеджер пакетов RPM
 \fB-f, --file \fIFILE\fB\fR
 Выполняет запрос к пакету, владельцу файла \fIFILE\fR.
 .TP
-\fB--fileid \fIMD5\fB\fR
-Выполняет запрос к пакету, который содержит указанный идентификатор файла, 
-т.е. \fIMD5\fR дайджест содержимого файла.
-.TP
 \fB-g, --group \fIGROUP\fB\fR
 Выполняет запрос к пакету с группой \fIGROUP\fR.
 .TP
index dbed453..6a66017 100644 (file)
@@ -20,7 +20,6 @@ struct rpmQVKArguments_s rpmQVKArgs;
 #define POPT_DUMP              -1005
 #define POPT_QUERYBYPKGID      -1007
 #define POPT_QUERYBYHDRID      -1008
-#define POPT_QUERYBYFILEID     -1009
 #define POPT_QUERYBYTID                -1010
 
 /* ========== Query/Verify/Signature source args */
@@ -53,8 +52,6 @@ static void rpmQVSourceArgCallback( poptContext con,
                                qva->qva_sourceCount++; break;
     case POPT_QUERYBYHDRID: qva->qva_source |= RPMQV_HDRID;
                                qva->qva_sourceCount++; break;
-    case POPT_QUERYBYFILEID: qva->qva_source |= RPMQV_FILEID;
-                               qva->qva_sourceCount++; break;
     case POPT_QUERYBYTID: qva->qva_source |= RPMQV_TID;
                                qva->qva_sourceCount++; break;
 
@@ -87,8 +84,6 @@ struct poptOption rpmQVSourcePoptTable[] = {
        N_("query/verify package(s) with package identifier"), "MD5" },
  { "hdrid", '\0', 0, 0, POPT_QUERYBYHDRID,
        N_("query/verify package(s) with header identifier"), "SHA1" },
- { "fileid", '\0', 0, 0, POPT_QUERYBYFILEID,
-       N_("query/verify package(s) with file identifier"), "MD5" },
 
  { "query", 'q', POPT_ARGFLAG_DOC_HIDDEN, NULL, 'q',
        N_("rpm query mode"), NULL },
index d4d712d..07fe20c 100644 (file)
@@ -364,32 +364,6 @@ static rpmdbMatchIterator initQueryIterator(QVA_t qva, rpmts ts, const char * ar
        }
        break;
 
-    case RPMQV_FILEID:
-    {  unsigned char *digest, *t;
-       size_t diglen;
-
-       for (i = 0, s = arg; *s && isxdigit(*s); s++, i++)
-           {};
-       /* XXX dunno the algorithm yet, just check we're in the ballpark */
-       if (i % 32 != 0 || i < 32 || i > 512) {
-           rpmlog(RPMLOG_ERR, _("malformed %s: %s\n"), "fileid", arg);
-           goto exit;
-       }
-
-       diglen = i / 2;
-       digest = t = xcalloc(diglen, sizeof(*digest));
-        for (i = 0, s = arg; i < diglen; i++, t++, s += 2)
-            *t = (rnibble(s[0]) << 4) | rnibble(s[1]);
-
-       mi = rpmtsInitIterator(ts, RPMTAG_FILEDIGESTS, digest, diglen);
-       if (mi == NULL) {
-           rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
-                       "fileid", arg);
-       }
-
-       free(digest);
-    }  break;
-
     case RPMQV_TID:
     {  char * end = NULL;
        rpm_tid_t iid = strtoul(arg, &end, 0);
index fed7a37..15a4c4c 100644 (file)
@@ -89,7 +89,6 @@ enum rpmQVSources_e {
     RPMQV_SPECFILE = RPMQV_SPECRPMS, /*!< ... backwards compatibility */
     RPMQV_PKGID,       /*!< ... from package id (header+payload MD5). */
     RPMQV_HDRID,       /*!< ... from header id (immutable header SHA1). */
-    RPMQV_FILEID,      /*!< ... from file id (file MD5). */
     RPMQV_TID,         /*!< ... from install transaction id (time stamp). */
     RPMQV_SPECSRPM,    /*!< ... from spec file source (query only). */
 };