fix: non-GNU globs burp on repeated '/' in patterns.
authorjbj <devnull@localhost>
Mon, 4 Oct 1999 17:29:58 +0000 (17:29 +0000)
committerjbj <devnull@localhost>
Mon, 4 Oct 1999 17:29:58 +0000 (17:29 +0000)
CVS patchset: 3365
CVS date: 1999/10/04 17:29:58

15 files changed:
CHANGES
build/files.c
build/rpmspec.h
po/cs.po
po/de.po
po/fi.po
po/fr.po
po/pl.po
po/pt_BR.po
po/rpm.pot
po/ru.po
po/sk.po
po/sr.po
po/sv.po
po/tr.po

diff --git a/CHANGES b/CHANGES
index 3955a1b..5f9598a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -66,6 +66,7 @@
        - create binary rpm directory (e.g. .../%{_target_cpu}) on the fly.
        - updated pl/rpm.8 (PLD team).
        - new find req/prov scripts for non-linux platforms (Tim Mooney).
+       - fix: non-GNU globs burp on repeated '/' in patterns.
 
 3.0.1 -> 3.0.2
        - eliminate armv4 entries from rpmrc (Andrew E. Mileski).
index 2119373..050c8f1 100644 (file)
@@ -47,8 +47,6 @@ typedef struct {
     mode_t     ar_dmode;
 } AttrRec;
 
-static AttrRec empty_ar = { NULL, NULL, NULL, NULL, 0, 0 };
-
 struct FileList {
     const char *buildRoot;
     const char *prefix;
@@ -68,7 +66,7 @@ struct FileList {
     AttrRec def_ar;
     int defVerifyFlags;
     int nLangs;
-    const char **currentLangs;
+    /*@only@*/ const char **currentLangs;
 
     /* Hard coded limit of MAXDOCDIR docdirs.         */
     /* If you break it you are doing something wrong. */
@@ -80,7 +78,18 @@ struct FileList {
     int fileListRecsUsed;
 };
 
-static void freeAttrRec(AttrRec *ar) {
+static void nullAttrRec(/*@out@*/AttrRec *ar)
+{
+    ar->ar_fmodestr = NULL;
+    ar->ar_dmodestr = NULL;
+    ar->ar_user = NULL;
+    ar->ar_group = NULL;
+    ar->ar_fmode = 0;
+    ar->ar_dmode = 0;
+}
+
+static void freeAttrRec(AttrRec *ar)
+{
     FREE(ar->ar_fmodestr);
     FREE(ar->ar_dmodestr);
     FREE(ar->ar_user);
@@ -88,19 +97,17 @@ static void freeAttrRec(AttrRec *ar) {
     /* XXX doesn't free ar (yet) */
 }
 
-static void dupAttrRec(AttrRec *oar, AttrRec *nar) {
+static void dupAttrRec(AttrRec *oar, /*@out@*/ AttrRec *nar)
+{
     if (oar == nar)    /* XXX pathological paranoia */
        return;
     freeAttrRec(nar);
-    *nar = *oar;               /* structure assignment */
-    if (nar->ar_fmodestr)
-       nar->ar_fmodestr = xstrdup(nar->ar_fmodestr);
-    if (nar->ar_dmodestr)
-       nar->ar_dmodestr = xstrdup(nar->ar_dmodestr);
-    if (nar->ar_user)
-       nar->ar_user = xstrdup(nar->ar_user);
-    if (nar->ar_group)
-       nar->ar_group = xstrdup(nar->ar_group);
+    nar->ar_fmodestr = (oar->ar_fmodestr ? xstrdup(oar->ar_fmodestr) : NULL);
+    nar->ar_dmodestr = (oar->ar_dmodestr ? xstrdup(oar->ar_dmodestr) : NULL);
+    nar->ar_user = (oar->ar_user ? xstrdup(oar->ar_user) : NULL);
+    nar->ar_group = (oar->ar_group ? xstrdup(oar->ar_group) : NULL);
+    nar->ar_fmode = oar->ar_fmode;
+    nar->ar_dmode = oar->ar_dmode;
 }
 
 #if 0
@@ -146,11 +153,6 @@ static int myGlobPatternP (const char *pattern)
     return (0);
 }
 
-static int glob_error(const char *foo, int bar)
-{
-    return 1;
-}
-
 /* strtokWithQuotes() modified from glibc strtok() */
 /* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
@@ -375,7 +377,7 @@ static int parseForAttr(char *buf, struct FileList *fl)
     while (p <= pe)
        *p++ = ' ';
 
-    *ar = empty_ar;    /* structure assignment */
+    nullAttrRec(ar);
 
     p = q; SKIPWHITE(p);
     if (*p) {
@@ -577,7 +579,7 @@ static int parseForLang(char *buf, struct FileList *fl)
     return 0;
 }
 
-static int parseForRegexLang(const char *fileName, char **lang)
+static int parseForRegexLang(const char *fileName, /*@out@*/char **lang)
 {
     static int initialized = 0;
     static int hasRegex = 0;
@@ -631,7 +633,7 @@ VFA_t virtualFileAttributes[] = {
        { NULL, 0 }
 };
 
-static int parseForSimple(Spec spec, Package pkg, char *buf,
+static int parseForSimple(/*@unused@*/Spec spec, Package pkg, char *buf,
                          struct FileList *fl, const char **fileName)
 {
     char *s, *t;
@@ -908,10 +910,9 @@ static void freeFileList(FileListRec *fileList, int count)
     FREE(fileList);
 }
 
-static int addFile(struct FileList *fl, const char *name, struct stat *statp)
+static int addFile(struct FileList *fl, const char *diskName, struct stat *statp)
 {
-    char fileName[BUFSIZ];
-    char diskName[BUFSIZ];
+    const char *fileName = diskName;
     struct stat statbuf;
     mode_t fileMode;
     uid_t fileUid;
@@ -919,25 +920,21 @@ static int addFile(struct FileList *fl, const char *name, struct stat *statp)
     char *fileUname, *fileGname;
     char *lang;
     
-    strcpy(fileName, cleanFileName(name));
-
-    if (fl->inFtw) {
-       /* Any buildRoot is already prepended */
-       strcpy(diskName, fileName);
-       if (fl->buildRoot) {
-           strcpy(fileName, diskName + strlen(fl->buildRoot));
-           /* Special case for "/" */
-           if (*fileName == '\0') {
-               fileName[0] = '/';
-               fileName[1] = '\0';
+    /* Path may have prepended buildroot, so locate the original filename. */
+    {  const char *s;
+       char c;
+
+       if ((s = fl->buildRoot) != NULL) {
+           c = '\0';
+           while (*s) {
+               if (c == '/')
+                   while(*s && *s == '/') s++;
+               if (*s) {
+                   fileName++;
+                   c = *s++;
+               }
            }
        }
-    } else {
-       if (fl->buildRoot) {
-           sprintf(diskName, "%s%s", fl->buildRoot, fileName);
-       } else {
-           strcpy(diskName, fileName);
-       }
     }
 
     /* If we are using a prefix, validate the file */
@@ -957,7 +954,7 @@ static int addFile(struct FileList *fl, const char *name, struct stat *statp)
        }
     }
 
-    if (! statp) {
+    if (statp == NULL) {
        statp = &statbuf;
        if (lstat(diskName, statp)) {
            rpmError(RPMERR_BADSPEC, _("File not found: %s"), diskName);
@@ -1017,7 +1014,7 @@ static int addFile(struct FileList *fl, const char *name, struct stat *statp)
     }
 #endif
     
-    rpmMessage(RPMMESS_DEBUG, _("File %4d: 0%o %s.%s\t %s\n"), fl->fileCount,
+    rpmMessage(RPMMESS_DEBUG, _("File %4d: %07o %s.%s\t %s\n"), fl->fileCount,
        fileMode, fileUname, fileGname, fileName);
 
     /* Add to the file list */
@@ -1073,44 +1070,78 @@ static int addFile(struct FileList *fl, const char *name, struct stat *statp)
     return 0;
 }
 
-static int processBinaryFile(Package pkg, struct FileList *fl, const char *fileName)
+static int glob_error(/*@unused@*/const char *foo, /*@unused@*/int bar)
+{
+    return 1;
+}
+
+static int processBinaryFile(/*@unused@*/Package pkg, struct FileList *fl,
+       const char *fileName)
 {
-    char fullname[BUFSIZ];
-    glob_t glob_result;
-    int x, offset, rc = 0;
+    int doGlob = myGlobPatternP(fileName);
+    const char *fn;
+    int rc = 0;
     
-    /* check that file starts with leading "/" */
+    /* Check that file starts with leading "/" */
     if (*fileName != '/') {
        rpmError(RPMERR_BADSPEC, _("File needs leading \"/\": %s"), fileName);
-       fl->processingFailed = 1;
-       return 1;
+       rc = 1;
+       goto exit;
     }
     
-    if (myGlobPatternP(fileName)) {
-       if (fl->buildRoot) {
-           sprintf(fullname, "%s%s", fl->buildRoot, fileName);
-           offset = strlen(fl->buildRoot);
-       } else {
-           strcpy(fullname, fileName);
-           offset = 0;
+    /* Copy file name or glob pattern removing multiple "/" chars. */
+    {  const char *s;
+       char c, *t = alloca((fl->buildRoot ? strlen(fl->buildRoot) : 0) +
+                       strlen(fileName) + 1);
+
+       fn = t;
+       *t = c = '\0';
+
+       /* With a buildroot, prepend the buildroot now. */
+       if ((s = fl->buildRoot) != NULL) {
+           while (*s) {
+               if (c == '/')
+                   while(*s && *s == '/') s++;
+               if (*s)
+                   *t++ = c = *s++;
+           }
+           while (t > fn && t[-1] == '/') t--;
+           *t = '\0';
        }
+       if ((s = fileName) != NULL) {
+           while (*s) {
+               if (c == '/')
+                   while(*s && *s == '/') s++;
+               if (*s)
+                   *t++ = c = *s++;
+           }
+           while (t > fn && t[-1] == '/') t--;
+           *t = '\0';
+       }
+    }
+
+    if (doGlob) {
+       glob_t glob_result;
+       int i;
        
-       if (glob(fullname, 0, glob_error, &glob_result) ||
+       glob_result.gl_pathc = 0;
+       glob_result.gl_pathv = NULL;
+       if (glob(fn, 0, glob_error, &glob_result) ||
            (glob_result.gl_pathc < 1)) {
-           rpmError(RPMERR_BADSPEC, _("File not found: %s"), fullname);
-           fl->processingFailed = 1;
-           globfree(&glob_result);
-           return 1;
+           rpmError(RPMERR_BADSPEC, _("File not found by glob: %s"), fn);
+           rc = 1;
        }
        
-       for (x = 0; x < glob_result.gl_pathc; x++) {
-           rc = addFile(fl, &(glob_result.gl_pathv[x][offset]), NULL);
-       }
+       for (i = 0; rc == 0 && i < glob_result.gl_pathc; i++)
+           rc = addFile(fl, &(glob_result.gl_pathv[i][0]), NULL);
        globfree(&glob_result);
     } else {
-       rc = addFile(fl, fileName, NULL);
+       rc = addFile(fl, fn, NULL);
     }
 
+exit:
+    if (rc)
+       fl->processingFailed = 1;
     return rc;
 }
 
@@ -1122,16 +1153,17 @@ static int processPackageFiles(Spec spec, Package pkg,
     const char *fileName;
     char buf[BUFSIZ];
     FILE *f;
-    AttrRec specialDocAttrRec = empty_ar;      /* structure assignment */
+    AttrRec specialDocAttrRec;
     char *specialDoc = NULL;
     
+    nullAttrRec(&specialDocAttrRec);
     pkg->cpioList = NULL;
     pkg->cpioCount = 0;
 
     if (pkg->fileFile) {
        const char *ffn;
 
-       /* XXX FIXME: add %{_buildsubdir} and use rpmGetPath() */
+       /* XXX FIXME: add %{_buildsubdir} */
        ffn = rpmGetPath("%{_builddir}/",
            (spec->buildSubdir ? spec->buildSubdir : "") ,
            "/", pkg->fileFile, NULL);
@@ -1171,15 +1203,20 @@ static int processPackageFiles(Spec spec, Package pkg,
     fl.processingFailed = 0;
 
     fl.passedSpecialDoc = 0;
+    fl.isSpecialDoc = 0;
+
+    fl.isDir = 0;
+    fl.inFtw = 0;
+    fl.currentFlags = 0;
+    fl.currentVerifyFlags = 0;
     
-    fl.cur_ar = empty_ar;      /* structure assignment */
-    fl.def_ar = empty_ar;      /* structure assignment */
+    nullAttrRec(&fl.cur_ar);
+    nullAttrRec(&fl.def_ar);
 
+    fl.defVerifyFlags = RPMVERIFY_ALL;
     fl.nLangs = 0;
     fl.currentLangs = NULL;
 
-    fl.defVerifyFlags = RPMVERIFY_ALL;
-
     fl.docDirCount = 0;
     fl.docDirs[fl.docDirCount++] = xstrdup("/usr/doc");
     fl.docDirs[fl.docDirCount++] = xstrdup("/usr/man");
@@ -1207,8 +1244,8 @@ static int processPackageFiles(Spec spec, Package pkg,
        /* Reset for a new line in %files */
        fl.isDir = 0;
        fl.inFtw = 0;
-       fl.currentVerifyFlags = fl.defVerifyFlags;
        fl.currentFlags = 0;
+       fl.currentVerifyFlags = fl.defVerifyFlags;
        fl.isSpecialDoc = 0;
 
        /* XXX should reset to %deflang value */
@@ -1501,7 +1538,9 @@ static StringBuf getOutputFrom(char *dir, char *argv[],
 
     oldhandler = signal(SIGPIPE, SIG_IGN);
 
+    toProg[0] = toProg[1] = 0;
     pipe(toProg);
+    fromProg[0] = fromProg[1] = 0;
     pipe(fromProg);
     
     if (!(progPID = fork())) {
@@ -1653,6 +1692,7 @@ static int generateDepends(Spec spec, Package pkg,
     StringBuf readBuf;
     DepMsg_t *dm;
     char *myargv[4];
+    int failnonzero = 0;
     int rc = 0;
 
     if (cpioCount <= 0)
@@ -1670,7 +1710,7 @@ static int generateDepends(Spec spec, Package pkg,
     }
 
     for (dm = depMsgs; dm->msg != NULL; dm++) {
-       int i, tag, failnonzero;
+       int i, tag;
 
        tag = (dm->ftag > 0) ? dm->ftag : dm->ntag;
 
@@ -1687,14 +1727,16 @@ static int generateDepends(Spec spec, Package pkg,
            break;
        default:
            continue;
-           break;
+           /*@notreached@*/ break;
        }
 
        /* Get the script name to run */
        myargv[0] = rpmExpand(dm->argv[0], NULL);
 
-       if (!(myargv[0] && *myargv[0] != '%'))
+       if (!(myargv[0] && *myargv[0] != '%')) {
+           free(myargv[0]);
            continue;
+       }
 
        rpmMessage(RPMMESS_NORMAL, _("Finding  %s: (using %s)...\n"),
                dm->msg, myargv[0]);
@@ -1829,21 +1871,20 @@ static void printDeps(Header h)
 int processBinaryFiles(Spec spec, int installSpecialDoc, int test)
 {
     Package pkg;
-    int res, rc;
-    char *name;
+    int res = 0;
     
-    res = 0;
     for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-       if (pkg->fileList == NULL) {
+       const char *n, *v, *r;
+       int rc;
+
+       if (pkg->fileList == NULL)
            continue;
-       }
 
-       headerGetEntry(pkg->header, RPMTAG_NAME, NULL, (void **)&name, NULL);
-       rpmMessage(RPMMESS_NORMAL, _("Processing files: %s\n"), name);
+       headerNVR(pkg->header, &n, &v, &r);
+       rpmMessage(RPMMESS_NORMAL, _("Processing files: %s-%s-%s\n"), n, v, r);
                   
-       if ((rc = processPackageFiles(spec, pkg, installSpecialDoc, test))) {
+       if ((rc = processPackageFiles(spec, pkg, installSpecialDoc, test)))
            res = rc;
-       }
 
        generateDepends(spec, pkg, pkg->cpioList, pkg->cpioCount);
        printDeps(pkg->header);
index a9b32ea..379aead 100644 (file)
@@ -124,7 +124,7 @@ struct SpecStruct {
 };
 
 struct PackageStruct {
-    /*@only@*/ Header header;
+    /*@refcounted@*/ Header header;
 
     int cpioCount;
     /*@only@*/ struct cpioFileMapping *cpioList;
index 92c6002..40d9e57 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "PO-Revision-Date: 1998-10-10 10:10+0200\n"
 "Last-Translator: Pavel Makovec <pavelm@terminal.cz>\n"
 "Language-Team: Czech <pavelm@terminal.cz>\n"
@@ -1518,35 +1518,35 @@ msgstr ""
 
 #: build/files.c:1522
 #, fuzzy, c-format
-msgid "Couldn't exec %s"
+msgid "Couldn't exec %s: %s"
 msgstr "Nelze spustit pgp"
 
-#: build/files.c:1526
+#: build/files.c:1527
 #, fuzzy, c-format
-msgid "Couldn't fork %s"
+msgid "Couldn't fork %s: %s"
 msgstr "Nelze naèíst cílpodpisu"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "chyba pgp"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "%s nelze vytvoøit\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "%s nelze vytvoøit\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, fuzzy, c-format
 msgid "Processing files: %s\n"
 msgstr "soubor %s: %s\n"
index 02f2ad3..55ae48d 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -37,7 +37,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rpm 2.5.2\n"
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "PO-Revision-Date: 1998-08-03 18:02+02:00\n"
 "Last-Translator: Karl Eichwalder <ke@SuSE.DE>\n"
 "Language-Team: German <de@li.org>\n"
@@ -1597,38 +1597,38 @@ msgstr ""
 
 #: build/files.c:1522
 #, fuzzy, c-format
-msgid "Couldn't exec %s"
+msgid "Couldn't exec %s: %s"
 msgstr "Konnte pgp nicht durchführen"
 
-#: build/files.c:1526
+#: build/files.c:1527
 #, fuzzy, c-format
-msgid "Couldn't fork %s"
+msgid "Couldn't fork %s: %s"
 msgstr "Konnte Signatur-Ziel (»sigtarget«) nicht lesen"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "pgp fehlgeschlagen"
 
 # , c-format
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "anlegen von %s fehlgeschlagen\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
 # , c-format
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "anlegen von %s fehlgeschlagen\n"
 
 # , c-format
-#: build/files.c:1840
+#: build/files.c:1842
 #, fuzzy, c-format
 msgid "Processing files: %s\n"
 msgstr "Öffnen von %s fehlgeschlagen: %s"
index 4c802f7..af497f0 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,6 +1,6 @@
 msgid ""
 msgstr ""
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "Last-Translator: Raimo Koski <rkoski@pp.weppi.fi>\n"
 "Language-Team: Finnish <linux@sot.com>\n"
 "Content-Type: text/plain; charset=\n"
@@ -1556,35 +1556,35 @@ msgstr ""
 
 #: build/files.c:1522
 #, fuzzy, c-format
-msgid "Couldn't exec %s"
+msgid "Couldn't exec %s: %s"
 msgstr "En voinut ajaa pgp:tä"
 
-#: build/files.c:1526
+#: build/files.c:1527
 #, fuzzy, c-format
-msgid "Couldn't fork %s"
+msgid "Couldn't fork %s: %s"
 msgstr "En voinut ajaa pgp:tä"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "pgp epäonnistui"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "%s:n luonti epäonnistui\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "%s:n luonti epäonnistui\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, fuzzy, c-format
 msgid "Processing files: %s\n"
 msgstr "en voinut avata %s: %s"
index 94d2988..371fca6 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,5 +1,5 @@
 msgid ""
-msgstr "POT-Creation-Date: 1999-09-30 13:16-0400\n"
+msgstr "POT-Creation-Date: 1999-10-01 10:51-0400\n"
 
 #: build.c:23 lib/rpminstall.c:222 lib/rpminstall.c:382
 #, c-format
@@ -1558,36 +1558,36 @@ msgid "Bad owner/group: %s"
 msgstr ""
 
 #: build/files.c:1522
-#, c-format
-msgid "Couldn't exec %s"
-msgstr ""
+#, fuzzy, c-format
+msgid "Couldn't exec %s: %s"
+msgstr "impossible d'ouvrir: %s\n"
 
-#: build/files.c:1526
-#, c-format
-msgid "Couldn't fork %s"
-msgstr ""
+#: build/files.c:1527
+#, fuzzy, c-format
+msgid "Couldn't fork %s: %s"
+msgstr "impossible d'ouvrir: %s\n"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "La construction a échoué.\n"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "impossible d'ouvrir: %s\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "impossible d'ouvrir: %s\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, c-format
 msgid "Processing files: %s\n"
 msgstr ""
index 1cd8083..c589dd3 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rpm-3.0.2\n"
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "PO-Revision-Date: 1999-05-25 17:00+0100\n"
 "Last-Translator: Pawe³ Dziekoñski <pdziekonski@mml.ch.pwr.wroc.pl>\n"
 "Language-Team: Polish <pl@li.org>\n"
@@ -1476,36 +1476,36 @@ msgid "Bad owner/group: %s"
 msgstr "B³êdny u¿ytkownik/grupa: %s"
 
 #: build/files.c:1522
-#, c-format
-msgid "Couldn't exec %s"
+#, fuzzy, c-format
+msgid "Couldn't exec %s: %s"
 msgstr "Nie mo¿na uruchomiæ %s"
 
-#: build/files.c:1526
-#, c-format
-msgid "Couldn't fork %s"
+#: build/files.c:1527
+#, fuzzy, c-format
+msgid "Couldn't fork %s: %s"
 msgstr "Nie mo¿na wykonaæ fork na %s"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, c-format
 msgid "%s failed"
 msgstr "%s nie powiod³o siê"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, c-format
 msgid "failed to write all data to %s"
 msgstr "zapisanie wszystkich danych do %s nie powiod³o siê"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, fuzzy, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr "Wyszukiwanie wymaganych zasobów...\n"
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "Wyszukiwanie nie powiod³o siê"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, c-format
 msgid "Processing files: %s\n"
 msgstr "Przetwarzanie plików: %s\n"
index 1bf2265..d560520 100644 (file)
@@ -2,7 +2,7 @@
 # Revised by Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 1998.
 #
 msgid ""
-msgstr "POT-Creation-Date: 1999-09-30 13:16-0400\n"
+msgstr "POT-Creation-Date: 1999-10-01 10:51-0400\n"
 
 #: build.c:23 lib/rpminstall.c:222 lib/rpminstall.c:382
 #, c-format
@@ -1591,39 +1591,41 @@ msgstr ""
 msgid "Bad owner/group: %s"
 msgstr ""
 
+# , c-format
 #: build/files.c:1522
-#, c-format
-msgid "Couldn't exec %s"
-msgstr ""
+#, fuzzy, c-format
+msgid "Couldn't exec %s: %s"
+msgstr "Não consegui ler o arquivo spec de %s\n"
 
-#: build/files.c:1526
-#, c-format
-msgid "Couldn't fork %s"
-msgstr ""
+# , c-format
+#: build/files.c:1527
+#, fuzzy, c-format
+msgid "Couldn't fork %s: %s"
+msgstr "Não consegui ler o arquivo spec de %s\n"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "Construção falhou.\n"
 
 # , c-format
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "Não consegui abrir o pipe tar: %s\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
 # , c-format
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "Não consegui abrir o pipe tar: %s\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, c-format
 msgid "Processing files: %s\n"
 msgstr ""
index 292b84d..42358df 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-04 13:09-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1296,154 +1296,159 @@ msgstr ""
 msgid "syntax error in expression"
 msgstr ""
 
-#: build/files.c:224
+#: build/files.c:226
 #, c-format
 msgid "TIMECHECK failure: %s\n"
 msgstr ""
 
-#: build/files.c:267 build/files.c:349 build/files.c:512
+#: build/files.c:269 build/files.c:351 build/files.c:514
 #, c-format
 msgid "Missing '(' in %s %s"
 msgstr ""
 
-#: build/files.c:278 build/files.c:466 build/files.c:523
+#: build/files.c:280 build/files.c:468 build/files.c:525
 #, c-format
 msgid "Missing ')' in %s(%s"
 msgstr ""
 
-#: build/files.c:316 build/files.c:491
+#: build/files.c:318 build/files.c:493
 #, c-format
 msgid "Invalid %s token: %s"
 msgstr ""
 
-#: build/files.c:365
+#: build/files.c:367
 #, c-format
 msgid "Non-white space follows %s(): %s"
 msgstr ""
 
-#: build/files.c:403
+#: build/files.c:405
 #, c-format
 msgid "Bad syntax: %s(%s)"
 msgstr ""
 
-#: build/files.c:413
+#: build/files.c:415
 #, c-format
 msgid "Bad mode spec: %s(%s)"
 msgstr ""
 
-#: build/files.c:425
+#: build/files.c:427
 #, c-format
 msgid "Bad dirmode spec: %s(%s)"
 msgstr ""
 
-#: build/files.c:549
+#: build/files.c:551
 msgid "Unusual locale length: \"%.*s\" in %%lang(%s)"
 msgstr ""
 
-#: build/files.c:559
+#: build/files.c:561
 msgid "Duplicate locale %.*s in %%lang(%s)"
 msgstr ""
 
-#: build/files.c:651
+#: build/files.c:653
 msgid "Hit limit for %%docdir"
 msgstr ""
 
-#: build/files.c:657
+#: build/files.c:659
 msgid "Only one arg for %%docdir"
 msgstr ""
 
 #. We already got a file -- error
-#: build/files.c:682
+#: build/files.c:684
 #, c-format
 msgid "Two files on one line: %s"
 msgstr ""
 
-#: build/files.c:695
+#: build/files.c:697
 #, c-format
 msgid "File must begin with \"/\": %s"
 msgstr ""
 
-#: build/files.c:707
+#: build/files.c:709
 msgid "Can't mix special %%doc with other forms: %s"
 msgstr ""
 
-#: build/files.c:793
+#: build/files.c:795
 #, c-format
 msgid "File listed twice: %s"
 msgstr ""
 
-#: build/files.c:953
+#: build/files.c:950
 #, c-format
 msgid "File doesn't match prefix (%s): %s"
 msgstr ""
 
-#: build/files.c:963 build/files.c:1100
+#: build/files.c:960
 #, c-format
 msgid "File not found: %s"
 msgstr ""
 
-#: build/files.c:1006
+#: build/files.c:1003
 #, c-format
 msgid "Bad owner/group: %s\n"
 msgstr ""
 
-#: build/files.c:1020
+#: build/files.c:1017
 #, c-format
-msgid "File %4d: 0%o %s.%s\t %s\n"
+msgid "File %4d: %07o %s.%s\t %s\n"
 msgstr ""
 
-#: build/files.c:1084
+#: build/files.c:1087
 #, c-format
 msgid "File needs leading \"/\": %s"
 msgstr ""
 
-#: build/files.c:1141
+#: build/files.c:1131
+#, c-format
+msgid "File not found by glob: %s"
+msgstr ""
+
+#: build/files.c:1173
 msgid "Could not open %%files file: %s"
 msgstr ""
 
-#: build/files.c:1148 build/pack.c:484
+#: build/files.c:1180 build/pack.c:484
 #, c-format
 msgid "line: %s"
 msgstr ""
 
-#: build/files.c:1470 build/parsePrep.c:29
+#: build/files.c:1507 build/parsePrep.c:29
 #, c-format
 msgid "Bad owner/group: %s"
 msgstr ""
 
-#: build/files.c:1522
+#: build/files.c:1561
 #, c-format
-msgid "Couldn't exec %s"
+msgid "Couldn't exec %s: %s"
 msgstr ""
 
-#: build/files.c:1526
+#: build/files.c:1566
 #, c-format
-msgid "Couldn't fork %s"
+msgid "Couldn't fork %s: %s"
 msgstr ""
 
-#: build/files.c:1607
+#: build/files.c:1648
 #, c-format
 msgid "%s failed"
 msgstr ""
 
-#: build/files.c:1611
+#: build/files.c:1652
 #, c-format
 msgid "failed to write all data to %s"
 msgstr ""
 
-#: build/files.c:1697
+#: build/files.c:1741
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1769 build/files.c:1778
 #, c-format
 msgid "Failed to find %s:"
 msgstr ""
 
-#: build/files.c:1840
+#: build/files.c:1884
 #, c-format
-msgid "Processing files: %s\n"
+msgid "Processing files: %s-%s-%s\n"
 msgstr ""
 
 #: build/names.c:32 build/names.c:64
index 548a0f7..5aae845 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,6 +1,6 @@
 msgid ""
 msgstr ""
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=koi8-r\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -1484,36 +1484,36 @@ msgid "Bad owner/group: %s"
 msgstr "îÅ×ÅÒÎÁÑ ÐÁÒÁ ÈÏÚÑÉÎ/ÇÒÕÐÐÁ: %s"
 
 #: build/files.c:1522
-#, c-format
-msgid "Couldn't exec %s"
+#, fuzzy, c-format
+msgid "Couldn't exec %s: %s"
 msgstr "îÅ ÍÏÇÕ ÉÓÐÏÌÎÉÔØ %s"
 
-#: build/files.c:1526
-#, c-format
-msgid "Couldn't fork %s"
+#: build/files.c:1527
+#, fuzzy, c-format
+msgid "Couldn't fork %s: %s"
 msgstr "îÅ ÍÏÇÕ ÆÏÒËÎÕÔØ %s"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, c-format
 msgid "%s failed"
 msgstr "%s ÎÅ ÕÄÁÌÏÓØ"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, c-format
 msgid "failed to write all data to %s"
 msgstr "ÚÁÐÉÓØ ×ÓÅÈ ÄÁÎÎÙÈ × %s ÎÅ ÕÄÁÌÁÓØ"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, fuzzy, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr "ïÐÒÅÄÅÌÑÀ ÔÒÅÂÏ×ÁÎÉÑ ÐÁËÅÔÁ...\n"
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "ïÛÉÂËÁ ÏÐÒÅÄÅÌÅÎÉÑ ÓÅÒ×ÉÓÏ×, ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÈ ÐÁËÅÔÏÍ"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, c-format
 msgid "Processing files: %s\n"
 msgstr "ïÂÒÁÂÁÔÙ×ÁÀ ÆÁÊÌÙ: %s\n"
index f23e35e..896fe95 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rpm 2.93\n"
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "PO-Revision-Date: 1999-04-08 21:37+02:00\n"
 "Last-Translator: Stanislav Meduna <stano@eunet.sk>\n"
 "Language-Team: Slovak <sk-i18n@rak.isternet.sk>\n"
@@ -1488,36 +1488,36 @@ msgid "Bad owner/group: %s"
 msgstr "Chybný vlastník/skupina: %s"
 
 #: build/files.c:1522
-#, c-format
-msgid "Couldn't exec %s"
+#, fuzzy, c-format
+msgid "Couldn't exec %s: %s"
 msgstr "Nie je mo¾né spusti» %s"
 
-#: build/files.c:1526
-#, c-format
-msgid "Couldn't fork %s"
+#: build/files.c:1527
+#, fuzzy, c-format
+msgid "Couldn't fork %s: %s"
 msgstr "Nie je mo¾né vytvori» proces %s"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, c-format
 msgid "%s failed"
 msgstr "%s zlyhalo"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, c-format
 msgid "failed to write all data to %s"
 msgstr "nepodarilo sa zapísa» v¹etky dáta do %s"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, fuzzy, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr "Zis»ujú sa po¾adované vlastnosti...\n"
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "Nepodarilo sa zisti» poskytované vlastnosti"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, c-format
 msgid "Processing files: %s\n"
 msgstr "Spracovávajú sa súbory: %s\n"
index fea9d43..e5cca07 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,6 +1,6 @@
 msgid ""
 msgstr ""
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "Content-Type: text/plain; charset=\n"
 "Date: 1998-05-02 21:41:47-0400\n"
 "From: Erik Troan <ewt@lacrosse.redhat.com>\n"
@@ -1517,35 +1517,35 @@ msgstr ""
 
 #: build/files.c:1522
 #, fuzzy, c-format
-msgid "Couldn't exec %s"
+msgid "Couldn't exec %s: %s"
 msgstr "Ne mogu da izvr¹im PGP"
 
-#: build/files.c:1526
+#: build/files.c:1527
 #, fuzzy, c-format
-msgid "Couldn't fork %s"
+msgid "Couldn't fork %s: %s"
 msgstr "Ne mogu da proèitam 'sigtarget'"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "PGP omanuo"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "neuspelo kreiranje %s\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "neuspelo kreiranje %s\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, fuzzy, c-format
 msgid "Processing files: %s\n"
 msgstr "neuspelo otvaranje %s: %s"
index 14aa793..ba65aa5 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,5 +1,5 @@
 msgid ""
-msgstr "POT-Creation-Date: 1999-09-30 13:16-0400\n"
+msgstr "POT-Creation-Date: 1999-10-01 10:51-0400\n"
 
 #: build.c:23 lib/rpminstall.c:222 lib/rpminstall.c:382
 #, c-format
@@ -1572,36 +1572,36 @@ msgid "Bad owner/group: %s"
 msgstr ""
 
 #: build/files.c:1522
-#, c-format
-msgid "Couldn't exec %s"
-msgstr ""
+#, fuzzy, c-format
+msgid "Couldn't exec %s: %s"
+msgstr "kan inte öppna: %s\n"
 
-#: build/files.c:1526
-#, c-format
-msgid "Couldn't fork %s"
-msgstr ""
+#: build/files.c:1527
+#, fuzzy, c-format
+msgid "Couldn't fork %s: %s"
+msgstr "kan inte öppna: %s\n"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "Tillverkningen misslyckades.\n"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "kan inte öppna: %s\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "kan inte öppna: %s\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, c-format
 msgid "Processing files: %s\n"
 msgstr ""
index 968b312..9717826 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-09-30 13:16-0400\n"
+"POT-Creation-Date: 1999-10-01 10:51-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1553,35 +1553,35 @@ msgstr ""
 
 #: build/files.c:1522
 #, fuzzy, c-format
-msgid "Couldn't exec %s"
+msgid "Couldn't exec %s: %s"
 msgstr "PGP çalýþtýrýlamadý"
 
-#: build/files.c:1526
+#: build/files.c:1527
 #, fuzzy, c-format
-msgid "Couldn't fork %s"
+msgid "Couldn't fork %s: %s"
 msgstr "Ýmza hedefi 'sigtarget' okunamadý"
 
-#: build/files.c:1607
+#: build/files.c:1609
 #, fuzzy, c-format
 msgid "%s failed"
 msgstr "PGP hata verdi"
 
-#: build/files.c:1611
+#: build/files.c:1613
 #, fuzzy, c-format
 msgid "failed to write all data to %s"
 msgstr "%s yaratýlamýyor\n"
 
-#: build/files.c:1697
+#: build/files.c:1699
 #, c-format
 msgid "Finding  %s: (using %s)...\n"
 msgstr ""
 
-#: build/files.c:1725 build/files.c:1734
+#: build/files.c:1727 build/files.c:1736
 #, fuzzy, c-format
 msgid "Failed to find %s:"
 msgstr "%s yaratýlamýyor\n"
 
-#: build/files.c:1840
+#: build/files.c:1842
 #, fuzzy, c-format
 msgid "Processing files: %s\n"
 msgstr "%s açýlamadý: %s"