- fix: segfault with --checksig, plug memory leak (#72455).
authorjbj <devnull@localhost>
Tue, 27 Aug 2002 20:50:21 +0000 (20:50 +0000)
committerjbj <devnull@localhost>
Tue, 27 Aug 2002 20:50:21 +0000 (20:50 +0000)
- rpm-4.1 release candidate.

CVS patchset: 5684
CVS date: 2002/08/27 20:50:21

CHANGES
lib/package.c
lib/poptALL.c
lib/query.c
lib/rpmchecksig.c
lib/rpminstall.c
lib/rpmts.c
lib/transaction.c
po/ru.po
rpmdb/header.c

diff --git a/CHANGES b/CHANGES
index 4474679..f68fb87 100644 (file)
--- a/CHANGES
+++ b/CHANGES
        - python: don't remap NOKEY/UNTRUSTED to OK.
        - beecrypt: change local absolute symbols to defines for prelinking.
        - update ru.po.
+       - fix: handle NOKEY/NOTTRUSTED returns as if OK, always return header.
+       - portability: carry libelf in src rpm, include signal.h.
+       - fix: segfault with --checksig, plug memory leak (#72455).
+       - rpm-4.1 release candidate.
 
 4.0.3 -> 4.0.4:
        - solaris: translate i86pc to i386 (#57182).
index 8166860..cf6f3fc 100644 (file)
@@ -593,6 +593,7 @@ int rpmReadPackageFile(rpmts ts, FD_t fd,
     int xx;
     int i;
 
+    if (hdrp) *hdrp = NULL;
     {  struct stat st;
 /*@-boundswrite@*/
        memset(&st, 0, sizeof(st));
@@ -829,7 +830,7 @@ int rpmReadPackageFile(rpmts ts, FD_t fd,
     }
 
 exit:
-    if (rc == RPMRC_OK && hdrp != NULL) {
+    if (rc != RPMRC_FAIL && h != NULL && hdrp != NULL) {
        /* Convert legacy headers on the fly ... */
        legacyRetrofit(h, l);
        
index 0f46337..9f84807 100644 (file)
@@ -31,6 +31,9 @@ extern int _fps_debug;
 extern int _fsm_debug;
 
 /*@unchecked@*/
+extern int _hdr_debug;
+
+/*@unchecked@*/
 extern int _psm_debug;
 
 /*@unchecked@*/
@@ -261,6 +264,8 @@ struct poptOption rpmcliAllPoptTable[] = {
        N_("debug payload file state machine"), NULL},
  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
        N_("debug protocol data stream"), NULL},
+ { "hdrdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_hdr_debug, -1,
+       NULL, NULL},
 #ifdef DYING
  { "poptdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_popt_debug, -1,
        N_("debug option/argument processing"), NULL},
index d870773..9725fa3 100644 (file)
@@ -579,6 +579,8 @@ restart:
                rpmError(RPMERR_QUERY, _("query of %s failed\n"), fileURL);
                res = 1;
                /*@switchbreak@*/ break;
+           case RPMRC_NOTTRUSTED:
+           case RPMRC_NOKEY:
            case RPMRC_OK:
                if (h == NULL) {
                    rpmError(RPMERR_QUERY,
index 01be70d..284295a 100644 (file)
@@ -681,7 +681,7 @@ int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd,
     pgpDig dig;
     pgpDigParams sigp;
     int_32 siglen;
-    Header sigh;
+    Header sigh = NULL;
     HeaderIterator hi;
     int res = 0;
     int xx;
@@ -987,6 +987,7 @@ int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd,
     }
 
 exit:
+    sigh = rpmFreeSignature(sigh);
     rpmtsCleanDig(ts);
     return res;
 }
index 7832b7a..f3d086f 100644 (file)
@@ -475,6 +475,8 @@ if (fileURL[0] == '=') {
        case RPMRC_NOTFOUND:
            goto maybe_manifest;
            /*@notreached@*/ /*@switchbreak@*/ break;
+       case RPMRC_NOTTRUSTED:
+       case RPMRC_NOKEY:
        case RPMRC_OK:
        default:
            /*@switchbreak@*/ break;
@@ -996,6 +998,8 @@ IDTX IDTXglob(rpmts ts, const char * globstr, rpmTag tag)
        default:
            goto bottom;
            /*@notreached@*/ /*@switchbreak@*/ break;
+       case RPMRC_NOTTRUSTED:
+       case RPMRC_NOKEY:
        case RPMRC_OK:
            isSource = headerIsEntry(h, RPMTAG_SOURCEPACKAGE);
            if (isSource)
index 8b5e7f1..ea18568 100644 (file)
@@ -453,6 +453,8 @@ int rpmtsSolve(rpmts ts, rpmds ds, /*@unused@*/ const void * data)
        default:
            str = _free(str);
            break;
+       case RPMRC_NOTTRUSTED:
+       case RPMRC_NOKEY:
        case RPMRC_OK:
            if (h != NULL &&
                !rpmtsAddInstallElement(ts, h, (fnpyKey)str, 1, NULL))
@@ -833,9 +835,10 @@ int rpmtsSetSig(rpmts ts,
                int_32 sigtag, int_32 sigtype, const void * sig, int_32 siglen)
 {
     if (ts != NULL) {
-       ts->sig = headerFreeData(ts->sig, -1);
+       if (ts->sig && ts->sigtype)
+           ts->sig = headerFreeData(ts->sig, ts->sigtype);
        ts->sigtag = sigtag;
-       ts->sigtype = sigtype;
+       ts->sigtype = (sig ? sigtype : 0);
 /*@-assignexpose -kepttrans@*/
        ts->sig = sig;
 /*@=assignexpose =kepttrans@*/
index 56d395d..eadd2e3 100644 (file)
@@ -1432,6 +1432,8 @@ rpmMessage(RPMMESS_DEBUG, _("computing file dispositions\n"));
                        p->fd = NULL;
                        ourrc++;
                        /*@innerbreak@*/ break;
+                   case RPMRC_NOTTRUSTED:
+                   case RPMRC_NOKEY:
                    case RPMRC_OK:
                        /*@innerbreak@*/ break;
                    }
index 1848a9e..58be74f 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,9 +1,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rpm 4.0.3\n"
-"POT-Creation-Date: 2002-08-26 12:38-0400\n"
-"PO-Revision-Date: 2002-08-23 13:03GMT\n"
-"Last-Translator: Eugene Kanter, <eugene@bcl.bz>\n"
+"POT-Creation-Date: 2002-08-27 16:38-0400\n"
+"PO-Revision-Date: 2002-08-27 13:36-0400\n"
+"Last-Translator: Eugene Kanter, <eugene@blackcatlinux.com>\n"
 "Language-Team: Black Cat Linux Team <blackcat-support@blackcatlinux.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=KOI8-R\n"
@@ -110,7 +110,7 @@ msgstr "
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
 
-#: rpmqv.c:129 lib/poptALL.c:92
+#: rpmqv.c:129 lib/poptALL.c:95
 #, c-format
 msgid "RPM version %s\n"
 msgstr "RPM ×ÅÒÓÉÑ %s\n"
@@ -751,7 +751,7 @@ msgstr "
 msgid "Could not open %s: %s\n"
 msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
 
-#: build/pack.c:629 lib/psm.c:1823
+#: build/pack.c:629 lib/psm.c:1826
 #, c-format
 msgid "Unable to write package: %s\n"
 msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÐÁËÅÔ: %s\n"
@@ -781,7 +781,7 @@ msgstr "
 msgid "Unable to write payload to %s: %s\n"
 msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÓÏÄÅÒÖÉÍÏÅ × %s: %s\n"
 
-#: build/pack.c:710 lib/psm.c:2128
+#: build/pack.c:710 lib/psm.c:2131
 #, c-format
 msgid "Wrote: %s\n"
 msgstr "úÁÐÉÓÁÎ: %s\n"
@@ -1274,17 +1274,17 @@ msgid "generate package header(s) compatible with (legacy) rpm[23] packaging"
 msgstr ""
 "ÓÏÚÄÁÔØ ÚÁÇÏÌÏ×ÏË(ËÉ) ÐÁËÅÔÁ, ÓÏ×ÍÅÓÔÉÍÙÅ Ó (ÕÓÔÁÒÅ×ÛÉÍÉ)  ÆÏÒÍÁÔÁÍÉ rpm[23]"
 
-#: build/poptBT.c:229 lib/poptALL.c:213 lib/poptI.c:265 lib/poptI.c:272
+#: build/poptBT.c:229 lib/poptALL.c:216 lib/poptI.c:265 lib/poptI.c:272
 #: lib/poptQV.c:329 lib/poptQV.c:338 lib/poptQV.c:377
 msgid "don't verify package digest(s)"
 msgstr "ÎÅ ÐÒÏ×ÅÒÑÔØ ÄÁÊÄÖÅÓÔ ÐÁËÅÔÁ(Ï×)"
 
-#: build/poptBT.c:231 lib/poptALL.c:215 lib/poptI.c:267 lib/poptI.c:274
+#: build/poptBT.c:231 lib/poptALL.c:218 lib/poptI.c:267 lib/poptI.c:274
 #: lib/poptQV.c:332 lib/poptQV.c:340 lib/poptQV.c:380
 msgid "don't verify database header(s) when retrieved"
 msgstr "ÎÅ ÐÒÏ×ÅÒÑÔØ ÚÁÇÏÌÏ×ËÉ, ÉÚ×ÌÅËÁÅÍÙÅ ÉÚ ÂÁÚÙ ÄÁÎÎÙÈ"
 
-#: build/poptBT.c:233 lib/poptALL.c:221 lib/poptI.c:269 lib/poptI.c:276
+#: build/poptBT.c:233 lib/poptALL.c:224 lib/poptI.c:269 lib/poptI.c:276
 #: lib/poptQV.c:335 lib/poptQV.c:342 lib/poptQV.c:382
 msgid "don't verify package signature(s)"
 msgstr "ÎÅ ÐÒÏ×ÅÒÑÔØ ÐÏÄÐÉÓØ(É) × ÐÁËÅÔÅ(ÁÈ)"
@@ -1445,7 +1445,7 @@ msgid "rpmtsOrder failed, %d elements remain\n"
 msgstr "ÏÛÉÂËÁ rpmtsOrder, ÏÓÔÁÌÏÓØ %d ÜÌÅÍÅÎÔÏ×\n"
 
 #: lib/formats.c:34 lib/formats.c:60 lib/formats.c:95 lib/formats.c:386
-#: rpmdb/header.c:3127 rpmdb/header.c:3150 rpmdb/header.c:3174
+#: rpmdb/header.c:3140 rpmdb/header.c:3163 rpmdb/header.c:3187
 msgid "(not a number)"
 msgstr "(ÎÅ ÞÉÓÌÏ)"
 
@@ -1569,136 +1569,136 @@ msgstr ""
 msgid "region size: BAD, ril(%d) > il(%d)\n"
 msgstr ""
 
-#: lib/package.c:481 lib/package.c:521 lib/package.c:714 lib/package.c:738
-#: lib/package.c:768 lib/rpmchecksig.c:797
+#: lib/package.c:481 lib/package.c:521 lib/package.c:715 lib/package.c:739
+#: lib/package.c:769 lib/rpmchecksig.c:797
 #, c-format
 msgid "only V3 signatures can be verified, skipping V%u signature"
 msgstr ""
 "ÔÏÌØËÏ ÐÏÄÐÉÓÉ ×ÅÒÓÉÉ 3 ÍÏÇÕÔ ÂÙÔØ ÐÒÏ×ÅÒÅÎÙ, ÐÒÏÐÕÓËÁÅÔÓÑ ÐÏÄÐÉÓØ ×ÅÒÓÉÉ %u"
 
-#: lib/package.c:616
+#: lib/package.c:617
 msgid "packaging version 1 is not supported by this version of RPM\n"
 msgstr "ÐÁËÅÔÙ ×ÅÒÓÉÉ 1 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÜÔÏÊ ×ÅÒÓÉÅÊ RPM\n"
 
-#: lib/package.c:624
+#: lib/package.c:625
 msgid ""
 "only packaging with major numbers <= 4 is supported by this version of RPM\n"
 msgstr "ÜÔÁ ×ÅÒÓÉÑ RPM ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ÐÁËÅÔÙ ×ÅÒÓÉÉ <= 4\n"
 
-#: lib/package.c:634 lib/rpmchecksig.c:228 lib/rpmchecksig.c:715
+#: lib/package.c:635 lib/rpmchecksig.c:228 lib/rpmchecksig.c:715
 #, c-format
 msgid "%s: rpmReadSignature failed\n"
 msgstr "%s: ÏÛÉÂËÁ rpmReadSignature\n"
 
-#: lib/package.c:639 lib/rpmchecksig.c:233 lib/rpmchecksig.c:721
+#: lib/package.c:640 lib/rpmchecksig.c:233 lib/rpmchecksig.c:721
 #, c-format
 msgid "%s: No signature available\n"
 msgstr "%s: ðÏÄÐÉÓØ ÎÅÄÏÓÔÕÐÎÁ\n"
 
-#: lib/package.c:680 lib/rpmchecksig.c:611
+#: lib/package.c:681 lib/rpmchecksig.c:611
 #, c-format
 msgid "%s: headerRead failed\n"
 msgstr "%s: ÏÛÉÂËÁ headerRead\n"
 
-#: lib/package.c:780 lib/rpmchecksig.c:118 lib/rpmchecksig.c:640
+#: lib/package.c:781 lib/rpmchecksig.c:118 lib/rpmchecksig.c:640
 #, c-format
 msgid "%s: Fread failed: %s\n"
 msgstr "%s: ÏÛÉÂËÁ Fread: %s\n"
 
-#: lib/poptALL.c:200
+#: lib/poptALL.c:203
 msgid "predefine MACRO with value EXPR"
 msgstr "ÐÒÅÏÐÒÅÄÅÌÉÔØ MACRO ÓÏ ÚÎÁÞÅÎÉÅÍ EXPR"
 
-#: lib/poptALL.c:201 lib/poptALL.c:204
+#: lib/poptALL.c:204 lib/poptALL.c:207
 msgid "'MACRO EXPR'"
 msgstr "'MACRO EXPR'"
 
-#: lib/poptALL.c:203
+#: lib/poptALL.c:206
 msgid "define MACRO with value EXPR"
 msgstr "ÏÐÒÅÄÅÌÉÔØ MACRO ÓÏ ÚÎÁÞÅÎÉÅÍ EXPR"
 
-#: lib/poptALL.c:206
+#: lib/poptALL.c:209
 msgid "print macro expansion of EXPR"
 msgstr "×Ù×ÅÓÔÉ ÚÎÁÞÅÎÉÅ ÍÁËÒÏÓÁ EXPR"
 
-#: lib/poptALL.c:207
+#: lib/poptALL.c:210
 msgid "'EXPR'"
 msgstr "'EXPR'"
 
-#: lib/poptALL.c:209 lib/poptALL.c:228 lib/poptALL.c:232
+#: lib/poptALL.c:212 lib/poptALL.c:231 lib/poptALL.c:235
 msgid "read <FILE:...> instead of default file(s)"
 msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ <FILE:...> ×ÍÅÓÔÏ ÆÁÊÌÁ(Ï×) ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: lib/poptALL.c:210 lib/poptALL.c:229 lib/poptALL.c:233
+#: lib/poptALL.c:213 lib/poptALL.c:232 lib/poptALL.c:236
 msgid "<FILE:...>"
 msgstr "<FILE:...>"
 
-#: lib/poptALL.c:218 lib/poptALL.c:252
+#: lib/poptALL.c:221 lib/poptALL.c:255
 msgid "disable use of libio(3) API"
 msgstr "ÚÁÐÒÅÔÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ libio(3) API"
 
-#: lib/poptALL.c:224
+#: lib/poptALL.c:227
 msgid "send stdout to CMD"
 msgstr "ÐÏÓÌÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ × CMD"
 
-#: lib/poptALL.c:225
+#: lib/poptALL.c:228
 msgid "CMD"
 msgstr "CMD"
 
-#: lib/poptALL.c:236
+#: lib/poptALL.c:239
 msgid "use ROOT as top level directory"
 msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ROOT ËÁË ËÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ"
 
-#: lib/poptALL.c:237
+#: lib/poptALL.c:240
 msgid "ROOT"
 msgstr "ROOT"
 
-#: lib/poptALL.c:240
+#: lib/poptALL.c:243
 msgid "display known query tags"
 msgstr "ÏÔÏÂÒÁÚÉÔØ ÉÚ×ÅÓÔÎÙÅ ËÌÀÞÉ ÚÁÐÒÏÓÁ"
 
-#: lib/poptALL.c:242
+#: lib/poptALL.c:245
 msgid "display final rpmrc and macro configuration"
 msgstr "ÐÏËÁÚÁÔØ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ rpmrc É ÍÁËÒÏÓÏ×"
 
-#: lib/poptALL.c:244
+#: lib/poptALL.c:247
 msgid "provide less detailed output"
 msgstr "×Ù×ÏÄÉÔØ ÍÉÎÉÍÕÍ ÓÏÏÂÝÅÎÉÊ"
 
-#: lib/poptALL.c:246
+#: lib/poptALL.c:249
 msgid "provide more detailed output"
 msgstr "×Ù×ÏÄÉÔØ ÂÏÌÅÅ ÄÅÔÁÌØÎÙÅ ÓÏÏÂÝÅÎÉÑ"
 
-#: lib/poptALL.c:248
+#: lib/poptALL.c:251
 msgid "print the version of rpm being used"
 msgstr "×Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÇÒÁÍÍÙ"
 
-#: lib/poptALL.c:261
+#: lib/poptALL.c:264
 msgid "debug payload file state machine"
 msgstr "ÏÔÌÁÄËÁ ÍÁÛÉÎÙ ÓÏÓÔÏÑÎÉÑ ÐÒÉÓÏÅÄÉÎÅÎÎÙÈ ÆÁÊÌÏ× "
 
-#: lib/poptALL.c:263
+#: lib/poptALL.c:266
 msgid "debug protocol data stream"
 msgstr "ÏÔÌÁÄËÁ ÐÒÏÔÏËÏÌÁ ÐÏÔÏËÁ ÄÁÎÎÙÈ"
 
-#: lib/poptALL.c:266
+#: lib/poptALL.c:271
 msgid "debug option/argument processing"
 msgstr "ÏÔÌÁÄËÁ ÏÂÒÁÂÏÔËÉ ÐÁÒÁÍÅÔÒÏ×/ÁÒÇÕÍÅÎÔÏ×"
 
-#: lib/poptALL.c:269
+#: lib/poptALL.c:274
 msgid "debug package state machine"
 msgstr "ÏÔÌÁÄËÁ ÍÁÛÉÎÙ ÓÏÓÔÏÑÎÉÑ ÐÁËÅÔÏ×"
 
-#: lib/poptALL.c:279
+#: lib/poptALL.c:284
 msgid "debug rpmio I/O"
 msgstr "ÏÔÌÁÄËÁ ÐÒÏÃÅÓÓÁ ××ÏÄÁ/×Ù×ÏÄÁ rpmio"
 
-#: lib/poptALL.c:287
+#: lib/poptALL.c:292
 msgid "debug URL cache handling"
 msgstr "ÏÔÌÁÄËÁ ÏÂÒÁÂÏÔËÉ URL ËÜÛ"
 
 #. @-nullpass@
-#: lib/poptALL.c:358
+#: lib/poptALL.c:363
 #, c-format
 msgid "%s: option table misconfigured (%d)\n"
 msgstr "%s: ÔÁÂÌÉÃÁ ÐÁÒÁÍÅÔÒÏ× ÎÅÐÒÁ×ÉÌØÎÏ ÎÁÓÔÒÏÅÎÁ (%d)\n"
@@ -2112,88 +2112,88 @@ msgstr "
 
 #. @=boundsread@
 #. @-modfilesys@
-#: lib/psm.c:250 rpmdb/header.c:386 rpmdb/header_internal.c:164
+#: lib/psm.c:253 rpmdb/header.c:399 rpmdb/header_internal.c:164
 #, c-format
 msgid "Data type %d not supported\n"
 msgstr "ôÉРÄÁÎÎÙÈ %d ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
 
-#: lib/psm.c:456
+#: lib/psm.c:459
 msgid "source package expected, binary found\n"
 msgstr "ÏÂÎÁÒÕÖÅΠÄ×ÏÉÞÎÙÊ ÐÁËÅÔ ×ÍÅÓÔÏ ÏÖÉÄÁÅÍÏÇÏ ÉÓÈÏÄÎÏÇÏ\n"
 
-#: lib/psm.c:575
+#: lib/psm.c:578
 msgid "source package contains no .spec file\n"
 msgstr "ÉÓÈÏÄÎÙÊ ÐÁËÅÔ ÎÅ ÓÏÄÅÒÖÉÔ ÆÁÊÌÁ ÓÐÅÃÉÆÉËÁÃÉÉ\n"
 
-#: lib/psm.c:916
+#: lib/psm.c:919
 #, c-format
 msgid "%s: waitpid(%d) rc %d status %x\n"
 msgstr "%s: waitpid(%d) rc %d status %x\n"
 
-#: lib/psm.c:995
+#: lib/psm.c:998
 #, c-format
 msgid "%s: %s(%s-%s-%s) skipping redundant \"%s\".\n"
 msgstr "%s: %s(%s-%s-%s) ÐÒÏÐÕÓËÁÅÔÓÑ ÌÉÛÎÉÊ \"%s\".\n"
 
-#: lib/psm.c:1003
+#: lib/psm.c:1006
 #, c-format
 msgid "%s: %s(%s-%s-%s) %ssynchronous scriptlet start\n"
 msgstr "%s: %s(%s-%s-%s) %sÚÁÐÕÓË ÓÉÎÈÒÏÎÎÏÇÏ ÓÃÅÎÁÒÉÑ\n"
 
-#: lib/psm.c:1165
+#: lib/psm.c:1168
 #, c-format
 msgid "%s: %s(%s-%s-%s)\texecv(%s) pid %d\n"
 msgstr "%s: %s(%s-%s-%s)\texecv(%s) pid %d\n"
 
-#: lib/psm.c:1188
+#: lib/psm.c:1191
 #, c-format
 msgid "%s(%s-%s-%s) scriptlet failed, waitpid(%d) rc %d: %s\n"
 msgstr "%s(%s-%s-%s) ÏÛÉÂËÁ ÓÃÅÎÁÒÉÑ, waitpid(%d) rc %d: %s\n"
 
-#: lib/psm.c:1194
+#: lib/psm.c:1197
 #, c-format
 msgid "%s(%s-%s-%s) scriptlet failed, exit status %d\n"
 msgstr "%s(%s-%s-%s) ÏÛÉÂËÁ ×ÙÐÏÌÎÅÎÉÑ ÓÃÅÎÁÒÉÑ, ËÏÄ ×ÏÚ×ÒÁÔÁ %d\n"
 
-#: lib/psm.c:1601
+#: lib/psm.c:1604
 #, c-format
 msgid "%s: %s has %d files, test = %d\n"
 msgstr "%s: %s ÓÏÄÅÒÖÉÔ %d ÆÁÊÌÏ×, ÒÅÚÕÌØÔÁÔ ÐÒÏ×ÅÒËÉ: %d\n"
 
-#: lib/psm.c:1726
+#: lib/psm.c:1729
 #, c-format
 msgid "%s: %s scriptlet failed (%d), skipping %s\n"
 msgstr "%s: %s ÏÛÉÂËÁ ÓÃÅÎÁÒÉÑ (%d), ÐÒÏÐÕÓËÁÅÔÓÑ %s\n"
 
-#: lib/psm.c:1835
+#: lib/psm.c:1838
 msgid "Unable to reload signature header\n"
 msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÚÁÇÒÕÚÉÔØ ÚÁÇÏÌÏ×ÏË ÐÏÄÐÉÓÉ\n"
 
-#: lib/psm.c:1881
+#: lib/psm.c:1884
 #, c-format
 msgid "user %s does not exist - using root\n"
 msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ - ÉÓÐÏÌØÚÕÅÔÓÑ root\n"
 
-#: lib/psm.c:1890
+#: lib/psm.c:1893
 #, c-format
 msgid "group %s does not exist - using root\n"
 msgstr "ÇÒÕÐÐÁ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ - ÉÓÐÏÌØÚÕÅÔÓÑ root\n"
 
-#: lib/psm.c:1938
+#: lib/psm.c:1941
 #, c-format
 msgid "unpacking of archive failed%s%s: %s\n"
 msgstr "ÒÁÓÐÁËÏ×ËÁ ÁÒÈÉ×Á ÎÅ ÕÄÁÌÁÓØ%s%s: %s\n"
 
-#: lib/psm.c:1939
+#: lib/psm.c:1942
 msgid " on file "
 msgstr " ÎÁ ÆÁÊÌÅ "
 
-#: lib/psm.c:2136
+#: lib/psm.c:2139
 #, c-format
 msgid "%s failed on file %s: %s\n"
 msgstr "%s ÏÛÉÂËÁ ÎÁ ÆÁÊÌÅ %s: %s\n"
 
-#: lib/psm.c:2139
+#: lib/psm.c:2142
 #, c-format
 msgid "%s failed: %s\n"
 msgstr "%s ÎÅ ÕÄÁÌÏÓØ: %s\n"
@@ -2246,8 +2246,8 @@ msgstr "
 msgid "can't query %s: %s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ %s: %s\n"
 
-#: lib/query.c:565 lib/query.c:606 lib/rpminstall.c:123 lib/rpminstall.c:452
-#: lib/rpminstall.c:581 lib/rpminstall.c:987 lib/rpmts.c:441
+#: lib/query.c:565 lib/query.c:608 lib/rpminstall.c:123 lib/rpminstall.c:452
+#: lib/rpminstall.c:583 lib/rpminstall.c:989 lib/rpmts.c:441
 #: tools/rpmgraph.c:127 tools/rpmgraph.c:164
 #, c-format
 msgid "open of %s failed: %s\n"
@@ -2258,80 +2258,80 @@ msgstr "
 msgid "query of %s failed\n"
 msgstr "ÏÛÉÂËÁ ÚÁÐÒÏÓÁ %s\n"
 
-#: lib/query.c:585
+#: lib/query.c:587
 msgid "old format source packages cannot be queried\n"
 msgstr "ÚÁÐÒÏÓÙ Ë ÉÓÈÏÄÎÙÍ ÐÁËÅÔÁÍ × ÓÔÁÒÏÍ ÆÏÒÍÁÔÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ\n"
 
-#: lib/query.c:616 lib/rpminstall.c:594
+#: lib/query.c:618 lib/rpminstall.c:596
 #, c-format
 msgid "%s: not an rpm package (or package manifest): %s\n"
 msgstr "%s: ÎÅ ÐÁËÅÔ (ÉÌÉ ÍÁÎÉÆÅÓÔ ÐÁËÅÔÁ) rpm : %s\n"
 
-#: lib/query.c:660
+#: lib/query.c:662
 #, c-format
 msgid "query of specfile %s failed, can't parse\n"
 msgstr "ÚÁÐÒÏÓ ÆÁÊÌÁ ÓÐÅÃÉÆÉËÁÃÉÉ %s ÎÅ ÕÄÁÌÓÑ, ÎÅ×ÏÚÍÏÖÎÏ ÒÁÚÏÂÒÁÔØ ÆÁÊÌ\n"
 
-#: lib/query.c:681
+#: lib/query.c:683
 msgid "no packages\n"
 msgstr "ÎÅÔ ÐÁËÅÔÏ×\n"
 
-#: lib/query.c:701
+#: lib/query.c:703
 #, c-format
 msgid "group %s does not contain any packages\n"
 msgstr "ÇÒÕÐÐÁ %s ÎÅ ÓÏÄÅÒÖÉÔ ÎÉËÁËÉÈ ÐÁËÅÔÏ×\n"
 
-#: lib/query.c:711
+#: lib/query.c:713
 #, c-format
 msgid "no package triggers %s\n"
 msgstr "ÎÉ ÏÄÉΠÉÚ ÐÁËÅÔÏ× ÎÅ ×Ú×ÏÄÉÔ ÔÒÉÇÇÅÒ %s\n"
 
-#: lib/query.c:725 lib/query.c:747 lib/query.c:768 lib/query.c:803
+#: lib/query.c:727 lib/query.c:749 lib/query.c:770 lib/query.c:805
 #, c-format
 msgid "malformed %s: %s\n"
 msgstr "ÏÛÉÂËÁ ÆÏÒÍÁÔÁ %s: %s.\n"
 
-#: lib/query.c:735 lib/query.c:753 lib/query.c:778 lib/query.c:808
+#: lib/query.c:737 lib/query.c:755 lib/query.c:780 lib/query.c:810
 #, c-format
 msgid "no package matches %s: %s\n"
 msgstr "ÎÉ ÏÄÉΠÐÁËÅÔ ÎÅ ÐÏÄÈÏÄÉÔ Ë %s: %s\n"
 
-#: lib/query.c:819
+#: lib/query.c:821
 #, c-format
 msgid "no package requires %s\n"
 msgstr "ÎÉ ÏÄÉΠÉÚ ÐÁËÅÔÏ× ÎÅ ÔÒÅÂÕÅÔ %s\n"
 
-#: lib/query.c:830
+#: lib/query.c:832
 #, c-format
 msgid "no package provides %s\n"
 msgstr "ÎÉ ÏÄÉΠÉÚ ÐÁËÅÔÏ× ÎÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ %s\n"
 
-#: lib/query.c:864
+#: lib/query.c:866
 #, c-format
 msgid "file %s: %s\n"
 msgstr "ÆÁÊÌ %s: %s\n"
 
-#: lib/query.c:868
+#: lib/query.c:870
 #, c-format
 msgid "file %s is not owned by any package\n"
 msgstr "ÆÁÊÌ %s ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÎÉ ÏÄÎÏÍÕ ÉÚ ÐÁËÅÔÏ×\n"
 
-#: lib/query.c:895
+#: lib/query.c:897
 #, c-format
 msgid "invalid package number: %s\n"
 msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÐÁËÅÔÁ: %s\n"
 
-#: lib/query.c:898
+#: lib/query.c:900
 #, c-format
 msgid "package record number: %u\n"
 msgstr "ÎÏÍÅÒ ÚÁÐÉÓÉ ÐÁËÅÔÁ: %u\n"
 
-#: lib/query.c:903
+#: lib/query.c:905
 #, c-format
 msgid "record %u could not be read\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÚÁÐÉÓØ %u\n"
 
-#: lib/query.c:914 lib/rpminstall.c:763
+#: lib/query.c:916 lib/rpminstall.c:765
 #, c-format
 msgid "package %s is not installed\n"
 msgstr "ÐÁËÅÔ %s ÎÅ ÕÓÔÁÎÏ×ÌÅÎ\n"
@@ -2546,65 +2546,65 @@ msgstr " ... 
 msgid "skipping %s - transfer failed - %s\n"
 msgstr "%s ÐÒÏÐÕÓËÁÅÔÓÑ - ÏÛÉÂËÁ ÐÅÒÅÄÁÞÉ - %s\n"
 
-#: lib/rpminstall.c:471 lib/rpminstall.c:844 tools/rpmgraph.c:147
+#: lib/rpminstall.c:471 lib/rpminstall.c:846 tools/rpmgraph.c:147
 #, c-format
 msgid "%s cannot be installed\n"
 msgstr "%s ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎ\n"
 
-#: lib/rpminstall.c:511
+#: lib/rpminstall.c:513
 #, c-format
 msgid "package %s is not relocateable\n"
 msgstr "ÐÁËÅÔ %s - ÎÅ ÐÅÒÅÍÅÝÁÅÍÙÊ\n"
 
-#: lib/rpminstall.c:561
+#: lib/rpminstall.c:563
 #, c-format
 msgid "error reading from file %s\n"
 msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ ÉÚ ÆÁÊÌÁ %s\n"
 
-#: lib/rpminstall.c:567
+#: lib/rpminstall.c:569
 #, c-format
 msgid "file %s requires a newer version of RPM\n"
 msgstr "ÄÌÑ ÆÁÊÌÁ %s ÎÅÏÂÈÏÄÉÍÁ ÂÏÌÅÅ ÎÏ×ÁÑ ×ÅÒÓÉÑ RPM\n"
 
-#: lib/rpminstall.c:609
+#: lib/rpminstall.c:611
 #, c-format
 msgid "found %d source and %d binary packages\n"
 msgstr "ÎÁÊÄÅÎÏ %d ÉÓÈÏÄÎÙÈ É %d ÂÉÎÁÒÎÙÈ ÐÁËÅÔÏ×\n"
 
-#: lib/rpminstall.c:623 lib/rpminstall.c:791 lib/rpminstall.c:1201
+#: lib/rpminstall.c:625 lib/rpminstall.c:793 lib/rpminstall.c:1205
 #: tools/rpmgraph.c:202
 msgid "Failed dependencies:\n"
 msgstr "îÅÕÄÏ×ÌÅÔ×ÏÒÅÎÎÙÅ ÚÁ×ÉÓÉÍÏÓÔÉ:\n"
 
-#: lib/rpminstall.c:630 tools/rpmgraph.c:208
+#: lib/rpminstall.c:632 tools/rpmgraph.c:208
 msgid "    Suggested resolutions:\n"
 msgstr "    ðÒÅÄÌÁÇÁÅÍÏÅ ÒÁÚÒÅÛÅÎÉÅ:\n"
 
-#: lib/rpminstall.c:660
+#: lib/rpminstall.c:662
 msgid "installing binary packages\n"
 msgstr "ÕÓÔÁÎÁ×ÌÉ×ÁÀ ÂÉÎÁÒÎÙÅ ÐÁËÅÔÙ\n"
 
-#: lib/rpminstall.c:684
+#: lib/rpminstall.c:686
 #, c-format
 msgid "cannot open file %s: %s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ %s: %s\n"
 
-#: lib/rpminstall.c:766
+#: lib/rpminstall.c:768
 #, c-format
 msgid "\"%s\" specifies multiple packages\n"
 msgstr "\"%s\" ÚÁÄÁÅÔ ÎÅÓËÏÌØËÏ ÐÁËÅÔÏ×\n"
 
-#: lib/rpminstall.c:828
+#: lib/rpminstall.c:830
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
 
-#: lib/rpminstall.c:834
+#: lib/rpminstall.c:836
 #, c-format
 msgid "Installing %s\n"
 msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ %s\n"
 
-#: lib/rpminstall.c:1195
+#: lib/rpminstall.c:1199
 #, c-format
 msgid "Rollback packages (+%d/-%d) to %-24.24s (0x%08x):\n"
 msgstr "ïÔËÁÔ ÐÁËÅÔÏ× (+%d/-%d) ÎÁ %-24.24s (0x%08x):\n"
@@ -2826,18 +2826,18 @@ msgstr "
 msgid "cannot open Solve database in %s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÂÁÚÕ ÄÁÎÎÙÈ ÒÁÚÒÅÛÅÎÉÑ ÚÁ×ÉÓÉÍÏÓÔÅÊ × %s\n"
 
-#: lib/rpmts.c:460
+#: lib/rpmts.c:462
 #, c-format
 msgid "Adding: %s\n"
 msgstr "äÏÂÁ×ÌÑÅÔÓÑ: %s\n"
 
-#: lib/rpmts.c:472
+#: lib/rpmts.c:474
 #, c-format
 msgid "Suggesting: %s\n"
 msgstr "ðÒÅÄÌÁÇÁÅÔÓÑ: %s\n"
 
 #. Get available space on mounted file systems.
-#: lib/rpmts.c:903
+#: lib/rpmts.c:909
 msgid "getting list of mounted filesystems\n"
 msgstr "ÓÔÒÏÉÔÓÑ ÓÐÉÓÏË ÓÍÏÎÔÉÒÏ×ÁÎÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ\n"
 
@@ -3014,7 +3014,7 @@ msgstr "
 #: lib/transaction.c:1104
 #, c-format
 msgid "computing %d file fingerprints\n"
-msgstr ""
+msgstr "ÐÏÄÓÞÉÔÙ×ÁÅÔÓÑ ÏÔÐÅÞÁÔÏË(ËÉ) %d ÆÁÊÌÁ(Ï×)\n"
 
 #. ===============================================
 #. * Compute file disposition for each package in transaction set.
@@ -3058,55 +3058,55 @@ msgstr "
 msgid "opening  db environment %s/%s %s\n"
 msgstr "ÏÔËÒÙ×ÁÅÔÓÑ ÏËÒÕÖÅÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ %s/%s %s\n"
 
-#: rpmdb/db3.c:719
+#: rpmdb/db3.c:678
 #, c-format
 msgid "closed   db index       %s/%s\n"
 msgstr "ÚÁËÒÙÔ ÉÎÄÅËÓ ÂÁÚÙ ÄÁÎÎÙÈ %s/%s\n"
 
-#: rpmdb/db3.c:786
+#: rpmdb/db3.c:745
 #, c-format
 msgid "verified db index       %s/%s\n"
 msgstr "ÐÒÏ×ÅÒÅΠÉÎÄÅËÓ ÂÁÚÙ ÄÁÎÎÙÈ %s/%s\n"
 
-#: rpmdb/db3.c:1016
+#: rpmdb/db3.c:972
 #, c-format
 msgid "opening  db index       %s/%s %s mode=0x%x\n"
 msgstr "ÏÔËÒÙ×ÁÅÔÓÑ ÉÎÄÅËÓ ÂÁÚÙ ÄÁÎÎÙÈ %s/%s %s mode=0x%x\n"
 
-#: rpmdb/db3.c:1249
+#: rpmdb/db3.c:1188
 #, c-format
 msgid "cannot get %s lock on %s/%s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÂÌÏËÉÒÏ×ËÕ %s ÎÁ %s/%s\n"
 
-#: rpmdb/db3.c:1251
+#: rpmdb/db3.c:1190
 msgid "exclusive"
 msgstr "ÉÓËÌÀÞÉÔÅÌØÎÙÊ"
 
-#: rpmdb/db3.c:1251
+#: rpmdb/db3.c:1190
 msgid "shared"
 msgstr "ÒÁÚÄÅÌÑÅÍÙÊ"
 
-#: rpmdb/db3.c:1255
+#: rpmdb/db3.c:1194
 #, c-format
 msgid "locked   db index       %s/%s\n"
 msgstr "ÚÁÂÌÏËÉÒÏ×ÁΠÉÎÄÅËÓ ÂÁÚÙ ÄÁÎÎÙÈ %s/%s\n"
 
-#: rpmdb/dbconfig.c:329
+#: rpmdb/dbconfig.c:327
 #, c-format
 msgid "unrecognized db option: \"%s\" ignored.\n"
 msgstr "ÎÅÏÐÏÚÎÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÂÁÚÙ ÄÁÎÎÙÈ: \"%s\" ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ\n"
 
-#: rpmdb/dbconfig.c:369
+#: rpmdb/dbconfig.c:367
 #, c-format
 msgid "%s has invalid numeric value, skipped\n"
 msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ×ÏÅ ÚÎÁÞÅÎÉÅ %s, ÐÒÏÐÕÝÅÎÏ\n"
 
-#: rpmdb/dbconfig.c:378
+#: rpmdb/dbconfig.c:376
 #, c-format
 msgid "%s has too large or too small long value, skipped\n"
 msgstr "%s ÉÍÅÅÔ ÓÌÉÛËÏÍ ÍÁÌÕÀ ÉÌÉ ÓÌÉÛËÏÍ ÂÏÌØÛÕÀ ×ÅÌÉÞÉÎÕ long, ÐÒÏÐÕÝÅÎÏ\n"
 
-#: rpmdb/dbconfig.c:387
+#: rpmdb/dbconfig.c:385
 #, c-format
 msgid "%s has too large or too small integer value, skipped\n"
 msgstr ""
@@ -3114,77 +3114,77 @@ msgstr ""
 
 #. This should not be allowed
 #. @-modfilesys@
-#: rpmdb/header.c:345
+#: rpmdb/header.c:358
 msgid "dataLength() RPM_STRING_TYPE count must be 1.\n"
 msgstr "dataLength() ÄÏÐÕÓÔÉÍ ÔÏÌØËÏ ÏÄÉΠÜÌÅÍÅÎÔ ÔÉÐÁ RPM_STRING_TYPE\n"
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2297
+#: rpmdb/header.c:2310
 msgid "missing { after %"
 msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ \"{\" ÐÏÓÌÅ \"%\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2327
+#: rpmdb/header.c:2340
 msgid "missing } after %{"
 msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ \"}\" ÐÏÓÌÅ \"%{\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2341
+#: rpmdb/header.c:2354
 msgid "empty tag format"
 msgstr "ÐÕÓÔÏÊ ÆÏÒÍÁÔ ÔÜÇÁ"
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2355
+#: rpmdb/header.c:2368
 msgid "empty tag name"
 msgstr "ÐÕÓÔÏÅ ÉÍÑ ÔÜÇÁ"
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2372
+#: rpmdb/header.c:2385
 msgid "unknown tag"
 msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÜÇ"
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2399
+#: rpmdb/header.c:2412
 msgid "] expected at end of array"
 msgstr "× ËÏÎÃÅ ÍÁÓÓÉ×Á ÏÖÉÄÁÌÁÓØ \"]\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2417
+#: rpmdb/header.c:2430
 msgid "unexpected ]"
 msgstr "ÎÅÏÖÉÄÁÎÎÁÑ \"]\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2421
+#: rpmdb/header.c:2434
 msgid "unexpected }"
 msgstr "ÎÅÏÖÉÄÁÎÎÁÑ \"}\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2490
+#: rpmdb/header.c:2503
 msgid "? expected in expression"
 msgstr "× ×ÙÒÁÖÅÎÉÉ ÏÖÉÄÁÌÏÓØ \"?\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2499
+#: rpmdb/header.c:2512
 msgid "{ expected after ? in expression"
 msgstr "× ×ÙÒÁÖÅÎÉÉ ÐÏÓÌÅ \"?\" ÏÖÉÄÁÌÏÓØ \"{\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2513 rpmdb/header.c:2560
+#: rpmdb/header.c:2526 rpmdb/header.c:2573
 msgid "} expected in expression"
 msgstr "× ×ÙÒÁÖÅÎÉÉ ÏÖÉÄÁÌÏÓØ \"}\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2523
+#: rpmdb/header.c:2536
 msgid ": expected following ? subexpression"
 msgstr "× ×ÙÒÁÖÅÎÉÉ ÐÏÓÌÅ \"?\" ÏÖÉÄÁÌÏÓØ \":\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2543
+#: rpmdb/header.c:2556
 msgid "{ expected after : in expression"
 msgstr "× ×ÙÒÁÖÅÎÉÉ ÐÏÓÌÅ \":\" ÏÖÉÄÁÌÏÓØ \"{\""
 
 #. @-observertrans -readonlytrans@
-#: rpmdb/header.c:2570
+#: rpmdb/header.c:2583
 msgid "| expected at end of expression"
 msgstr "× ËÏÎÃÅ ×ÙÒÁÖÅÎÉÑ ÏÖÉÄÁÌÓÑ \"|\""
 
@@ -3597,7 +3597,7 @@ msgstr "
 
 #: tools/rpmcache.c:518
 msgid "don't update cache database, only print package paths"
-msgstr ""
+msgstr "ÎÅ ÏÂÎÏ×ÌÑÔØ ËÜÛ ÂÁÚÙ ÄÁÎÎÙÈ. ÔÏÌØËÏ ×Ù×ÅÓÔÉ ÐÕÔÉ ÐÁËÅÔÁ."
 
 #: tools/rpmcache.c:522
 msgid "follow command line symlinks"
@@ -3613,7 +3613,7 @@ msgstr "
 
 #: tools/rpmcache.c:531
 msgid "don't get stat info"
-msgstr ""
+msgstr "ÎÅ ÚÁÐÒÁÛÉ×ÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÆÁÊÌÁÈ"
 
 #: tools/rpmcache.c:534
 msgid "physical walk"
@@ -3625,11 +3625,11 @@ msgstr ""
 
 #: tools/rpmcache.c:540
 msgid "don't cross devices"
-msgstr ""
+msgstr "ÎÅ ÐÅÒÅÓÅËÁÔØ ÇÒÁÎÉÃÙ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ"
 
 #: tools/rpmcache.c:543
 msgid "return whiteout information"
-msgstr ""
+msgstr "ÎÅ ×ÏÚ×ÒÁÝÁÔØ ÉÎÆÏÒÍÁÃÉÀ"
 
 #: tools/rpmcache.c:546 tools/rpmgraph.c:282
 msgid "Common options for all rpm modes and executables:"
@@ -3638,7 +3638,7 @@ msgstr "
 #: tools/rpmcache.c:578
 #, c-format
 msgid "%s: %%{_cache_dbpath} macro is mis-configured.\n"
-msgstr ""
+msgstr "%s: ÍÁËÒÏÓ %%{_cache_dbpath} ÎÅÐÒÁ×ÉÌØÎÏ ÏÐÒÅÄÅÌ£Î.\n"
 
 #: tools/rpmcache.c:618
 #, c-format
@@ -3652,61 +3652,68 @@ msgstr "%s: 
 
 #: ../rpmpopt:34 ../rpmpopt:290 ../rpmpopt:363
 msgid "list install/erase scriptlets from package(s)"
-msgstr ""
+msgstr "ÐÏËÁÚÁÔØ ÓÃÅÎÁÒÉÉ ÕÓÔÁÎÏ×ËÉ/ÕÄÁÌÅÎÉÑ"
 
 #: ../rpmpopt:38
 msgid "set permissions of files in a package"
-msgstr ""
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÐÒÁ×Á ÎÁ ×ÓÅ ÆÁÊÌÙ ÐÁËÅÔÁ"
 
 #: ../rpmpopt:43
 msgid "set user/group ownership of files in a package"
-msgstr ""
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ×ÌÁÄÅÌØÃÁ/ÇÒÕÐÐÕ ÄÌÑ ×ÓÅÈ ÆÁÊÌÏ× ÐÁËÅÔÁ"
 
 #: ../rpmpopt:47 ../rpmpopt:294 ../rpmpopt:367
+#, fuzzy
 msgid "list capabilities this package conflicts with"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ÓÐÉÓÏË ×ÏÚÍÏÖÎÏÓÔÅÊ, Ó ËÏÔÏÒÙÍÉ ËÏÎÆÌÉËÔÕÅÔ ÜÔÏÔ ÐÁËÅÔ"
 
 #: ../rpmpopt:50 ../rpmpopt:297 ../rpmpopt:370
+#, fuzzy
 msgid "list other packages removed by installing this package"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ÓÐÉÓÏË ÐÁËÅÔÏ× ÕÄÁÌÅÎÎÙÈ × ÒÅÚÕÌØÔÁÔÅ ÕÓÔÁÎ×ËÉ ÜÔÏÇÏ ÐÁËÅÔÁ"
 
 #: ../rpmpopt:53 ../rpmpopt:300 ../rpmpopt:373
+#, fuzzy
 msgid "list capabilities that this package provides"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ×ÏÚÍÏÖÎÏÓÔÉ, ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÅ ÐÁËÅÔÏÍ"
 
 #: ../rpmpopt:57 ../rpmpopt:304 ../rpmpopt:377
 msgid "list capabilities required by package(s)"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ×ÏÚÍÏÖÎÏÓÔÉ ËÏÔÏÒÙÅ ÔÒÅÂÕÅÔ ÜÔÏÔ ÐÁËÅÔ(Ù)"
 
 #: ../rpmpopt:71 ../rpmpopt:318 ../rpmpopt:390
 msgid "list descriptive information from package(s)"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ÏÐÉÓÁÎÉÅ ÐÁËÅÔÁ(Ï×)"
 
 #: ../rpmpopt:74 ../rpmpopt:321 ../rpmpopt:393
 msgid "list change logs for this package"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ÖÕÒÎÁÌ ÉÚÍÅÎÅÎÉÊ ÐÁËÅÔÁ"
 
 #: ../rpmpopt:80 ../rpmpopt:327 ../rpmpopt:399
 msgid "list trigger scriptlets from package(s)"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ÓÃÅÎÁÒÉÉ ÔÒÉÇÇÅÒÏ× ÐÁËÅÔÁ(Ï×)"
 
 #: ../rpmpopt:84 ../rpmpopt:331 ../rpmpopt:403
 msgid "list package(s) by install time, most recent first"
 msgstr ""
+"×Ù×ÅÓÔÉ ÐÁËÅÔ(Ù), ÓÏÒÔÉÒÏ×ÁÔØ ÐÏ ×ÒÅÍÅÎÉ ÕÓÔÁÎÏ×ËÉ, ÎÁÞÉÎÁÔØ Ó "
+"ÕÓÔÁÎÏ×ÌÅÎÎÏÇÏ ÐÏÓÌÅÄÎÉÍ"
 
 #: ../rpmpopt:87 ../rpmpopt:334 ../rpmpopt:406
 msgid "list all files from each package"
-msgstr ""
+msgstr "×Ù×ÅÓÔÉ ×ÓÅ ÆÁÊÌÙ ËÁÖÄÏÇÏ ÐÁËÅÔÁ"
 
 #: ../rpmpopt:90 ../rpmpopt:93
 msgid ""
 "find package name that contains a provided capability (needs rpmdb-redhat "
 "package installed)"
 msgstr ""
+"ÎÁÊÔÉ ÐÁËÅÔ, ÐÒÅÄÏÓÔÁ×ÌÑÀÝÉÊ ÄÁÎÎÕÀ ×ÏÚÍÏÖÎÏÓÔØ (ÐÁËÅÔ rpmdb-redhat ÄÏÌÖÅΠ"
+"ÂÙÔØ ÕÓÔÁÎÏ×ÌÅΠÄÌÑ ÜÔÏÊ ÆÕÎËÃÉÉ)"
 
 #: ../rpmpopt:103
 msgid "set buildroot <policy> (e.g. compress man pages)"
-msgstr ""
+msgstr "ÕÓÔÁÎÏ×ÉÔØ ÐÒÁ×ÉÌÏ ÄÌÑ buildroot (ÎÁÐÒÉÍÅÒ: compress-man-pages)"
 
 #: ../rpmpopt:104
 msgid "<policy>"
@@ -3714,7 +3721,7 @@ msgstr "<
 
 #: ../rpmpopt:179 ../rpmpopt:194 ../rpmpopt:209
 msgid "enable configure <option> for build"
-msgstr ""
+msgstr "ÒÁÚÒÅÛÉÔØ configure ÐÁÒÁÍÅÔÒ <ÐÁÒÁÍÅÔÒ> ÄÌÑ ÓÂÏÒËÉ"
 
 #: ../rpmpopt:180 ../rpmpopt:183 ../rpmpopt:195 ../rpmpopt:198 ../rpmpopt:210
 #: ../rpmpopt:213
@@ -3723,16 +3730,16 @@ msgstr "<
 
 #: ../rpmpopt:182 ../rpmpopt:197 ../rpmpopt:212
 msgid "disable configure <option> for build"
-msgstr ""
+msgstr "ÚÁÐÒÅÔÉÔØ configure ÐÁÒÁÍÅÔÒ <ÐÁÒÁÍÅÔÒ> ÄÌÑ ÓÂÏÒËÉ"
 
 #: ../rpmpopt:186 ../rpmpopt:201 ../rpmpopt:216 ../rpmpopt:224 ../rpmpopt:232
 #: ../rpmpopt:240 ../rpmpopt:248 ../rpmpopt:256 ../rpmpopt:264 ../rpmpopt:337
 #: ../rpmpopt:409 ../rpmpopt:417
 msgid "use database in DIRECTORY"
-msgstr ""
+msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ÂÁÚÕ ÄÁÎÎÙÈ × ëáôáìïçå"
 
 #: ../rpmpopt:187 ../rpmpopt:202 ../rpmpopt:217 ../rpmpopt:225 ../rpmpopt:233
 #: ../rpmpopt:241 ../rpmpopt:249 ../rpmpopt:257 ../rpmpopt:265 ../rpmpopt:338
 #: ../rpmpopt:410 ../rpmpopt:418
 msgid "DIRECTORY"
-msgstr ""
+msgstr "ëáôáìïç"
index c2ad935..663c6f4 100644 (file)
@@ -16,6 +16,9 @@
 
 #include "debug.h"
 
+/*@unchecked@*/
+int _hdr_debug = 1;
+
 /*@-redecl@*/  /* FIX: avoid rpmlib.h, need for debugging. */
 /*@observer@*/ const char *const tagName(int tag)      /*@*/;
 /*@=redecl@*/
@@ -98,13 +101,19 @@ static
 Header headerLink(Header h)
        /*@modifies h @*/
 {
-    if (h != NULL)
-       h->nrefs++;
 /*@-nullret@*/
+    if (h == NULL) return NULL;
+/*@=nullret@*/
+
+    h->nrefs++;
+/*@-modfilesys@*/
+if (_hdr_debug)
+fprintf(stderr, "--> h  %p ++ %d at %s:%u\n", h, h->nrefs, __FILE__, __LINE__);
+/*@=modfilesys@*/
+
     /*@-refcounttrans @*/
     return h;
     /*@=refcounttrans @*/
-/*@=nullret@*/
 }
 
 /** \ingroup header
@@ -116,8 +125,12 @@ static /*@null@*/
 Header headerUnlink(/*@killref@*/ /*@null@*/ Header h)
        /*@modifies h @*/
 {
-    if (h)
-       h->nrefs--;
+    if (h == NULL) return NULL;
+/*@-modfilesys@*/
+if (_hdr_debug)
+fprintf(stderr, "--> h  %p -- %d at %s:%u\n", h, h->nrefs, __FILE__, __LINE__);
+/*@=modfilesys@*/
+    h->nrefs--;
     return NULL;
 }