/*@dependent@*/ const char * baseName; /*!< Payload file base name. */
/*@dependent@*/ const char * suffix;
/*@dependent@*/ const char * md5sum; /*!< File MD5 sum (NULL disables). */
+ fileAction action;
+ int commit;
mode_t finalMode; /*!< Mode of payload file (from header). */
uid_t finalUid; /*!< Uid of payload file (from header). */
gid_t finalGid; /*!< Gid of payload file (from header). */
};
/** \ingroup payload
- * Keeps track of set of all hard linked files in archive.
+ * Keeps track of the set of all hard links to a file in an archive.
*/
struct hardLink {
- struct hardLink * next;
- const char ** files; /* nlink of these, used by install */
- const void ** fileMaps;
+/*@dependent@*/ struct hardLink * next;
+/*@owned@*/ const char ** files; /* nlink of these, used by install */
+/*@owned@*/ const void ** fileMaps;
dev_t dev;
ino_t inode;
int nlink;
/*@dependent@*/ struct hardLink * li;
/*@dependent@*/ const char ** failedFile;
const char * subdir;
+ char subbuf[64];
const char * suffix;
+ char sufbuf[64];
int postpone;
mode_t dperms;
mode_t fperms;
int rc;
+ int action;
fileStage a;
struct stat sb;
};
/**
*/
+static int mapCommit(const void * this) {
+ const struct cpioFileMapping * map = this;
+ return map->commit;
+}
+
+/**
+ */
+static int mapAction(const void * this) {
+ const struct cpioFileMapping * map = this;
+ return map->action;
+}
+
+/**
+ */
static /*@only@*/ const char * mapArchivePath(const void * this) {
const struct cpioFileMapping * map = this;
return xstrdup(map->archivePath);
}
/**
+ * @param this
+ * @param st path mode type (dirs map differently)
*/
-static /*@only@*/ const char * mapFsPath(const void * this) {
+static /*@only@*/ const char * mapFsPath(const void * this,
+ const struct stat * st)
+{
const struct cpioFileMapping * map = this;
int nb = strlen(map->dirName) +
- (map->subdir ? strlen(map->subdir) : 0) +
- (map->suffix ? strlen(map->suffix) : 0) +
+ (st && map->subdir && !S_ISDIR(st->st_mode) ? strlen(map->subdir) : 0) +
+ (st && map->suffix && !S_ISDIR(st->st_mode) ? strlen(map->suffix) : 0) +
strlen(map->baseName) + 1;
char * t = xmalloc(nb);
const char * s = t;
t = stpcpy(t, map->dirName);
- if (map->subdir) t = stpcpy(t, map->subdir);
+ if (st && map->subdir && !S_ISDIR(st->st_mode))
+ t = stpcpy(t, map->subdir);
t = stpcpy(t, map->baseName);
- if (map->suffix) t = stpcpy(t, map->suffix);
+ if (st && map->suffix && !S_ISDIR(st->st_mode))
+ t = stpcpy(t, map->suffix);
return s;
}
*/
static const void * mapNextIterator(void * this) {
struct mapi * mapi = this;
+ rpmTransactionSet ts = mapi->ts;
TFI_t fi = mapi->fi;
struct cpioFileMapping * map = &mapi->map;
- int i = mapi->i;
+ int i;
do {
if (!((i = mapi->i) < fi->fc))
map->dirName = fi->dnl[fi->dil[i]];
map->baseName = fi->bnl[i];
map->md5sum = (fi->fmd5s ? fi->fmd5s[i] : NULL);
+ map->action = (fi->actions ? fi->actions[i] : FA_UNKNOWN);
+
+#define _tsmask (RPMTRANS_FLAG_PKGCOMMIT | RPMTRANS_FLAG_COMMIT)
+ map->commit = (ts->transFlags & _tsmask) ? 0 : 1;
+#undef _tsmask
+
map->finalMode = fi->fmodes[i];
map->finalUid = (fi->fuids ? fi->fuids[i] : fi->uid); /* XXX chmod u-s */
map->finalGid = (fi->fgids ? fi->fgids[i] : fi->gid); /* XXX chmod g-s */
}
/**
- */
-static void pkgCallback(const struct cpioHeader * hdr)
-{
- struct mapi * mapi = hdr->mapi;
- rpmTransactionSet ts;
- TFI_t fi;
-
- if (mapi == NULL)
- return;
- ts = mapi->ts;
- fi = mapi->fi;
-
- if (ts && ts->notify)
- (void)ts->notify(fi->h, RPMCALLBACK_INST_PROGRESS,
- fdGetCpioPos(hdr->cfd), fi->archiveSize,
- (fi->ap ? fi->ap->key : NULL), ts->notifyData);
-}
-
-/**
* Read data from payload.
* @param cfd payload file handle
* @retval vbuf data from read
*/
static int inline checkDirectory(struct cpioHeader * hdr) /*@*/
{
- const char * fn = hdr->path;
- int length = strlen(fn);
- /*@only@*/ static char * lastDir = NULL; /* XXX memory leak */
+/*@only@*/ static char * lastDir = NULL; /* XXX memory leak */
static int lastDirLength = 0;
static int lastDirAlloced = 0;
- char * buf;
- char * chptr;
+ char * dn = alloca_strdup(hdr->path);
+ char * te = strrchr(dn, '/');
+ int dnlen = (te ? (te - dn) : 0);
int rc = 0;
- buf = alloca(length + 1);
- strcpy(buf, fn);
-
- for (chptr = buf + length - 1; chptr > buf; chptr--) {
- if (*chptr == '/') break;
- }
-
- if (chptr == buf) return 0; /* /filename - no directories */
+ if (dnlen == 0) return rc; /* /filename - no directories */
- *chptr = '\0'; /* buffer is now just directories */
+ *te = '\0'; /* buffer is now just directories */
- length = strlen(buf);
- if (lastDirLength == length && !strcmp(buf, lastDir)) return 0;
-
- if (lastDirAlloced < (length + 1)) {
- lastDirAlloced = length + 100;
+ if (lastDirLength == dnlen && !strcmp(dn, lastDir)) return 0;
+ if (lastDirAlloced < (dnlen + 1)) {
+ lastDirAlloced = dnlen + 100;
lastDir = xrealloc(lastDir, lastDirAlloced); /* XXX memory leak */
}
-
- strcpy(lastDir, buf);
- lastDirLength = length;
-
- hdr->path = buf; /* XXX abuse hdr->path */
- for (chptr = buf + 1; *chptr; chptr++) {
- if (*chptr != '/')
- continue;
- *chptr = '\0';
- rc = createDirectory(hdr);
- *chptr = '/';
- if (rc) break;
+ strcpy(lastDir, dn);
+ lastDirLength = dnlen;
+
+ { const char * path = hdr->path;
+ hdr->path = dn; /* XXX abuse hdr->path */
+ for (te = dn + 1; *te; te++) {
+ if (*te != '/') continue;
+ *te = '\0';
+ rc = createDirectory(hdr);
+ *te = '/';
+ if (rc) break;
+ }
+ if (!rc) rc = createDirectory(hdr);
+ hdr->path = path; /* XXX restore hdr->path */
}
- if (!rc) rc = createDirectory(hdr);
- hdr->path = fn; /* XXX restore hdr->path */
return rc;
}
/* don't call this with fileSize == fileComplete */
if (!rc && left)
- pkgCallback(hdr);
+ (void) hdrStage(hdr, FI_NOTIFY);
}
if (filemd5) {
}
/**
- * Create symlink from payload stream.
- * @param hdr file path and stat info
- * @return 0 on success
- */
-static int expandSymlink(struct cpioHeader * hdr)
- /*@modifies fileSystem, hdr->cfd @*/
-{
- char buf[2048];
- const struct stat * st = &hdr->sb;
- int rc = 0;
-
- if ((st->st_size + 1)> sizeof(buf))
- return CPIOERR_HDR_SIZE;
-
- if (ourread(hdr->cfd, buf, st->st_size) != st->st_size)
- return CPIOERR_READ_FAILED;
- buf[st->st_size] = '\0';
-
- { const char * opath = hdr->opath;
- hdr->opath = buf;
- rc = hdrStage(hdr, FI_VERIFY);
- hdr->opath = opath;
- }
- if (rc != CPIOERR_LSTAT_FAILED) return rc;
- rc = 0;
-
- /* XXX symlink(hdr->opath, hdr->path) */
- { const char * opath = hdr->opath;
- hdr->opath = buf;
- rc = hdrStage(hdr, FI_SYMLINK);
- hdr->opath = opath;
- if (rc) return rc;
- }
-
- return rc;
-}
-
-/**
- * Create fifo from payload stream.
- * @param hdr file path and stat info
- * @return 0 on success
- */
-static int expandFifo(struct cpioHeader * hdr)
- /*@modifies fileSystem @*/
-{
- int rc = 0;
- rc = hdrStage(hdr, FI_VERIFY);
- if (rc != CPIOERR_LSTAT_FAILED) return rc;
- rc = 0;
-
- { mode_t st_mode = hdr->sb.st_mode;
- hdr->sb.st_mode = 0000; /* XXX abuse hdr->sb.st_mode */
- rc = hdrStage(hdr, FI_MKFIFO);
- hdr->sb.st_mode = st_mode; /* XXX restore hdr->sb.st_mode */
- if (rc) return rc;
- }
-
- return rc;
-}
-
-/**
- * Create fifo from payload stream.
- * @param hdr file path and stat info
- * @return 0 on success
- */
-static int expandDevice(struct cpioHeader * hdr)
- /*@modifies fileSystem @*/
-{
- int rc = 0;
-
- rc = hdrStage(hdr, FI_VERIFY);
- if (rc != CPIOERR_LSTAT_FAILED) return rc;
- rc = 0;
-
- rc = hdrStage(hdr, FI_MKNOD);
- if (rc) return rc;
-
- return rc;
-}
-
-/**
* Create and initialize set of hard links.
* @param st link stat info
* @param hltype type of hard link set to create
#if 1
if (!(a & FI_INTERNAL))
#else
- if (a != FI_CREATE)
+ if (!(a == FI_CREATE || a == FI_NOTIFY))
#endif
rpmMessage(RPMMESS_DEBUG, _("%8x %s -> %s path %s\n"), rc, prev, cur,
hdr->path);
switch (a) {
case FI_CREATE:
- memset(hdr, 0, sizeof(*hdr));
hdr->path = NULL;
hdr->map = NULL;
hdr->links = NULL;
hdr->dperms = 0755;
hdr->fperms = 0644;
hdr->subdir = NULL;
- hdr->suffix = ".XXX"; /* XXX can't use suffix on upgrade. */
+ hdr->suffix = (hdr->sufbuf[0] != '\0' ? hdr->sufbuf : NULL);
+ hdr->action = FA_UNKNOWN;
rc = getNextHeader(hdr);
break;
case FI_MAP:
- if (hdr->mapi) {
- hdr->map = mapFind(hdr->mapi, hdr->path);
- if (hdr->map) {
- if (mapFlags(hdr->map, CPIO_MAP_PATH)) {
- struct cpioFileMapping * map =
- (struct cpioFileMapping *) hdr->map;
- if (hdr->path) free((void *)hdr->path);
- map->subdir = (hdr->subdir ? hdr->subdir : NULL);
- map->suffix = (hdr->suffix ? hdr->suffix : NULL);
- hdr->path = mapFsPath(hdr->map);
- }
+ if (hdr->mapi == NULL)
+ break;
+ hdr->map = mapFind(hdr->mapi, hdr->path);
+ if (hdr->map) {
- if (mapFlags(hdr->map, CPIO_MAP_MODE))
- st->st_mode = mapFinalMode(hdr->map);
- if (mapFlags(hdr->map, CPIO_MAP_UID))
- st->st_uid = mapFinalUid(hdr->map);
- if (mapFlags(hdr->map, CPIO_MAP_GID))
- st->st_gid = mapFinalGid(hdr->map);
+ hdr->action = mapAction(hdr->map);
+
+ if (mapFlags(hdr->map, CPIO_MAP_PATH)) {
+ struct cpioFileMapping * map =
+ (struct cpioFileMapping *) hdr->map;
+ map->subdir = (hdr->subdir ? hdr->subdir : NULL);
+ map->suffix = (hdr->suffix ? hdr->suffix : NULL);
+ if (hdr->path) free((void *)hdr->path);
+ hdr->path = mapFsPath(hdr->map, st);
}
+
+ if (mapFlags(hdr->map, CPIO_MAP_MODE))
+ st->st_mode = mapFinalMode(hdr->map);
+ if (mapFlags(hdr->map, CPIO_MAP_UID))
+ st->st_uid = mapFinalUid(hdr->map);
+ if (mapFlags(hdr->map, CPIO_MAP_GID))
+ st->st_gid = mapFinalGid(hdr->map);
}
break;
case FI_SKIP:
if (S_ISREG(st->st_mode) && st->st_nlink > 1 &&
!st->st_size && hdr->li->createdPath == -1)
{
- /* defer file creation */
- hdr->postpone = 1;
+ hdr->postpone = 1; /* defer file creation */
} else if (S_ISREG(st->st_mode) && st->st_nlink > 1 &&
hdr->li->createdPath != -1)
{
* code, so what the heck? GNU cpio handles this well fwiw.
*/
eatBytes(hdr->cfd, st->st_size);
- hdr->postpone = 1;
+ hdr->postpone = 1; /* defer file creation */
} else {
/* XXX keep track of created directories. */
rc = checkDirectory(hdr);
case FI_PROCESS:
if (hdr->postpone)
break;
- if (S_ISREG(st->st_mode))
+ if (S_ISREG(st->st_mode)) {
rc = expandRegular(hdr);
- else if (S_ISDIR(st->st_mode)) {
+ } else if (S_ISDIR(st->st_mode)) {
mode_t dperms = hdr->dperms;
hdr->dperms = 0000; /* XXX abuse hdr->dperms */
rc = createDirectory(hdr);
hdr->dperms = dperms; /* XXX restore hdr->dperms */
- }
- else if (S_ISLNK(st->st_mode))
- rc = expandSymlink(hdr);
- else if (S_ISFIFO(st->st_mode))
- rc = expandFifo(hdr);
- else if (S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode))
- rc = expandDevice(hdr);
- else if (S_ISSOCK(st->st_mode))
- /* this mimics cpio but probably isnt' right */
- rc = expandFifo(hdr);
- else
+ } else if (S_ISLNK(st->st_mode)) {
+ const char * opath = hdr->opath;
+ char buf[2048];
+
+ if ((st->st_size + 1)> sizeof(buf)) {
+ rc = CPIOERR_HDR_SIZE;
+ break;
+ }
+ if (ourread(hdr->cfd, buf, st->st_size) != st->st_size) {
+ rc = CPIOERR_READ_FAILED;
+ break;
+ }
+ buf[st->st_size] = '\0';
+
+ /* XXX symlink(hdr->opath, hdr->path) */
+ hdr->opath = buf; /* XXX abuse hdr->path */
+ rc = hdrStage(hdr, FI_VERIFY);
+ if (rc == CPIOERR_LSTAT_FAILED)
+ rc = hdrStage(hdr, FI_SYMLINK);
+ hdr->opath = opath; /* XXX restore hdr->path */
+ } else if (S_ISFIFO(st->st_mode) || S_ISSOCK(st->st_mode)) {
+ mode_t st_mode = hdr->sb.st_mode;
+ /* This mimics cpio S_ISSOCK() behavior but probably isnt' right */
+ rc = hdrStage(hdr, FI_VERIFY);
+ if (rc == CPIOERR_LSTAT_FAILED) {
+ hdr->sb.st_mode = 0000; /* XXX abuse hdr->sb.st_mode */
+ rc = hdrStage(hdr, FI_MKFIFO);
+ hdr->sb.st_mode = st_mode; /* XXX restore */
+ }
+ } else if (S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode)) {
+ rc = hdrStage(hdr, FI_VERIFY);
+ if (rc == CPIOERR_LSTAT_FAILED)
+ rc = hdrStage(hdr, FI_MKNOD);
+ } else {
rc = CPIOERR_UNKNOWN_FILETYPE;
+ }
break;
case FI_POST:
if (hdr->postpone)
break;
- if (!S_ISLNK(st->st_mode)) {
+ if (S_ISLNK(st->st_mode)) {
+ if (!getuid()) rc = hdrStage(hdr, FI_LCHOWN);
+ } else {
if (!getuid()) rc = hdrStage(hdr, FI_CHOWN);
if (!rc) rc = hdrStage(hdr, FI_CHMOD);
if (!rc) rc = hdrStage(hdr, FI_UTIME);
- } else {
- if (!getuid()) rc = hdrStage(hdr, FI_LCHOWN);
}
if (S_ISREG(st->st_mode) && st->st_nlink > 1) {
hdr->li->createdPath = --hdr->li->linksLeft;
}
break;
case FI_NOTIFY:
- pkgCallback(hdr);
+ { struct mapi * mapi = hdr->mapi;
+ if (mapi) {
+ rpmTransactionSet ts = mapi->ts;
+ TFI_t fi = mapi->fi;
+ if (ts && ts->notify)
+ (void)ts->notify(fi->h, RPMCALLBACK_INST_PROGRESS,
+ fdGetCpioPos(hdr->cfd), fi->archiveSize,
+ (fi->ap ? fi->ap->key : NULL), ts->notifyData);
+ }
+ }
return rc;
/*@notreached@*/ break;
case FI_UNDO:
{ int olderrno = errno;
- (void) hdrStage(hdr, FI_UNLINK);
+ if (S_ISDIR(st->st_mode)) {
+ (void) hdrStage(hdr, FI_RMDIR);
+ } else {
+ (void) hdrStage(hdr, FI_UNLINK);
+ }
/* XXX remove created directories. */
errno = olderrno;
if (hdr->failedFile && *hdr->failedFile == NULL)
}
break;
case FI_COMMIT:
- if (hdr->subdir || hdr->suffix) {
+ if (mapCommit(hdr->map) && (hdr->subdir || hdr->suffix)) {
struct cpioFileMapping * map = (struct cpioFileMapping *) hdr->map;
map->subdir = NULL;
map->suffix = NULL;
hdr->opath = hdr->path;
- hdr->path = mapFsPath(hdr->map);
+ hdr->path = mapFsPath(hdr->map, st);
rc = hdrStage(hdr, FI_RENAME);
/* XXX remove created subdirs. */
free((void *)hdr->opath);
if (rc < 0 && errno == ENOENT)
errno = saveerrno;
if (rc < 0) return CPIOERR_LSTAT_FAILED;
+
/* XXX handle upgrade actions right here. */
+
if (S_ISREG(st->st_mode)) {
char * path = alloca(strlen(hdr->path) + sizeof("-RPMDELETE"));
(void) stpcpy( stpcpy(path, hdr->path), "-RPMDELETE");
hdr->opath = hdr->path;
hdr->path = path;
rc = hdrStage(hdr, FI_RENAME);
+ if (!rc)
+ (void) hdrStage(hdr, FI_UNLINK);
+ else
+ rc = CPIOERR_UNLINK_FAILED;
hdr->path = hdr->opath;
hdr->opath = NULL;
- if (rc) return CPIOERR_UNLINK_FAILED;
- hdr->opath = hdr->path;
- hdr->path = path;
- (void) hdrStage(hdr, FI_UNLINK);
- hdr->path = hdr->opath;
- hdr->opath = NULL;
+ return (rc ? rc : CPIOERR_LSTAT_FAILED);
break;
} else if (S_ISDIR(st->st_mode)) {
if (S_ISDIR(sb.st_mode)) return 0;
#endif
/* Initialize hdr. */
+ memset(hdr, 0, sizeof(*hdr));
rc = hdrStage(hdr, FI_CREATE);
hdr->cfd = fdLink(cfd, "persist (cpioInstallArchive");
fdSetCpioPos(hdr->cfd, 0);
hdr->failedFile = failedFile;
if (hdr->failedFile)
*hdr->failedFile = NULL;
+ if (ts->id > 0)
+ sprintf(hdr->sufbuf, ";%08x", ts->id);
do {
int writeData)
/*@modifies cfd, *sizep @*/
{
- const char * fsPath = mapFsPath(map);
+ const char * fsPath = mapFsPath(map, NULL);
const char * archivePath = NULL;
const char * hdrPath = !mapFlags(map, CPIO_MAP_PATH)
? fsPath : (archivePath = mapArchivePath(map));
map = hlink->fileMaps[i];
if ((rc = writeFile(ts, fi, cfd, &hlink->sb, map, &size, 0)) != 0) {
if (failedFile)
- *failedFile = mapFsPath(map);
+ *failedFile = mapFsPath(map, NULL);
goto exit;
}
if (sizep)
*sizep = total;
if (failedFile)
- *failedFile = mapFsPath(map);
+ *failedFile = mapFsPath(map, NULL);
goto exit;
}
total += size;
while ((map = mapNextIterator(mapi)) != NULL) {
const char * fsPath;
- fsPath = mapFsPath(map);
+ fsPath = mapFsPath(map, NULL);
if (mapFlags(map, CPIO_FOLLOW_SYMLINKS))
rc = Stat(fsPath, st);
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-01-27 21:12-0500\n"
+"POT-Creation-Date: 2001-01-28 14:10-0500\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"
msgid "Building for target %s\n"
msgstr ""
-#: rpm.c:189 rpmqv.c:357
+#: rpm.c:199 rpmqv.c:357
#, c-format
msgid "rpm: %s\n"
msgstr ""
-#: rpm.c:200 rpmqv.c:362
+#: rpm.c:210 rpmqv.c:362
#, c-format
msgid "RPM version %s\n"
msgstr ""
-#: rpm.c:204 rpmqv.c:366
+#: rpm.c:214 rpmqv.c:366
msgid "Copyright (C) 1998-2000 - Red Hat, Inc."
msgstr ""
-#: rpm.c:205 rpmqv.c:367
+#: rpm.c:215 rpmqv.c:367
msgid "This program may be freely redistributed under the terms of the GNU GPL"
msgstr ""
-#: rpm.c:213
+#: rpm.c:223
msgid "Usage: rpm {--help}"
msgstr ""
-#: rpm.c:214
+#: rpm.c:224
msgid " rpm {--version}"
msgstr ""
-#: rpm.c:215
+#: rpm.c:225
msgid " rpm {--initdb} [--dbpath <dir>]"
msgstr ""
-#: rpm.c:216
+#: rpm.c:226
msgid ""
" rpm {--install -i} [-v] [--hash -h] [--percent] [--force] [--test]"
msgstr ""
-#: rpm.c:217
+#: rpm.c:227
msgid " [--replacepkgs] [--replacefiles] [--root <dir>]"
msgstr ""
-#: rpm.c:218
+#: rpm.c:228
msgid " [--excludedocs] [--includedocs] [--noscripts]"
msgstr ""
-#: rpm.c:219
+#: rpm.c:229
msgid ""
" [--rcfile <file>] [--ignorearch] [--dbpath <dir>]"
msgstr ""
-#: rpm.c:220
+#: rpm.c:230
msgid ""
" [--prefix <dir>] [--ignoreos] [--nodeps] [--allfiles]"
msgstr ""
-#: rpm.c:221 rpm.c:230 rpm.c:240
+#: rpm.c:231 rpm.c:240 rpm.c:250
msgid " [--ftpproxy <host>] [--ftpport <port>]"
msgstr ""
-#: rpm.c:222 rpm.c:241
+#: rpm.c:232 rpm.c:251
msgid " [--httpproxy <host>] [--httpport <port>]"
msgstr ""
-#: rpm.c:223
+#: rpm.c:233
msgid ""
" [--justdb] [--noorder] [--relocate oldpath=newpath]"
msgstr ""
-#: rpm.c:224
+#: rpm.c:234
msgid ""
" [--badreloc] [--notriggers] [--excludepath <path>]"
msgstr ""
-#: rpm.c:225
+#: rpm.c:235
msgid " [--ignoresize] file1.rpm ... fileN.rpm"
msgstr ""
-#: rpm.c:226
+#: rpm.c:236
msgid ""
" rpm {--upgrade -U} [-v] [--hash -h] [--percent] [--force] [--test]"
msgstr ""
-#: rpm.c:227
+#: rpm.c:237
msgid " [--oldpackage] [--root <dir>] [--noscripts]"
msgstr ""
-#: rpm.c:228
+#: rpm.c:238
msgid ""
" [--excludedocs] [--includedocs] [--rcfile <file>]"
msgstr ""
-#: rpm.c:229
+#: rpm.c:239
msgid ""
" [--ignorearch] [--dbpath <dir>] [--prefix <dir>] "
msgstr ""
-#: rpm.c:231
+#: rpm.c:241
msgid " [--httpproxy <host>] [--httpport <port>] "
msgstr ""
-#: rpm.c:232
+#: rpm.c:242
msgid " [--ignoreos] [--nodeps] [--allfiles] [--justdb]"
msgstr ""
-#: rpm.c:233
+#: rpm.c:243
msgid " [--noorder] [--relocate oldpath=newpath]"
msgstr ""
-#: rpm.c:234
+#: rpm.c:244
msgid ""
" [--badreloc] [--excludepath <path>] [--ignoresize]"
msgstr ""
-#: rpm.c:235
+#: rpm.c:245
msgid " file1.rpm ... fileN.rpm"
msgstr ""
-#: rpm.c:236
+#: rpm.c:246
msgid " rpm {--query -q} [-afpg] [-i] [-l] [-s] [-d] [-c] [-v] [-R]"
msgstr ""
-#: rpm.c:237
+#: rpm.c:247
msgid " [--scripts] [--root <dir>] [--rcfile <file>]"
msgstr ""
-#: rpm.c:238
+#: rpm.c:248
msgid " [--whatprovides] [--whatrequires] [--requires]"
msgstr ""
-#: rpm.c:239
+#: rpm.c:249
msgid " [--triggeredby]"
msgstr ""
-#: rpm.c:242
+#: rpm.c:252
msgid " [--provides] [--triggers] [--dump]"
msgstr ""
-#: rpm.c:243
+#: rpm.c:253
msgid " [--changelog] [--dbpath <dir>] [targets]"
msgstr ""
-#: rpm.c:244
+#: rpm.c:254
msgid " rpm {--verify -V -y} [-afpg] [--root <dir>] [--rcfile <file>]"
msgstr ""
-#: rpm.c:245
+#: rpm.c:255
msgid ""
" [--dbpath <dir>] [--nodeps] [--nofiles] [--noscripts]"
msgstr ""
-#: rpm.c:246
+#: rpm.c:256
msgid " [--nomd5] [targets]"
msgstr ""
-#: rpm.c:247
+#: rpm.c:257
msgid " rpm {--setperms} [-afpg] [target]"
msgstr ""
-#: rpm.c:248
+#: rpm.c:258
msgid " rpm {--setugids} [-afpg] [target]"
msgstr ""
-#: rpm.c:249
+#: rpm.c:259
msgid " rpm {--freshen -F} file1.rpm ... fileN.rpm"
msgstr ""
-#: rpm.c:250
+#: rpm.c:260
msgid " rpm {--erase -e} [--root <dir>] [--noscripts] [--rcfile <file>]"
msgstr ""
-#: rpm.c:251
+#: rpm.c:261
msgid " [--dbpath <dir>] [--nodeps] [--allmatches]"
msgstr ""
-#: rpm.c:252
+#: rpm.c:262
msgid " [--justdb] [--notriggers] package1 ... packageN"
msgstr ""
-#: rpm.c:253
+#: rpm.c:263
msgid " rpm {--resign} [--rcfile <file>] package1 package2 ... packageN"
msgstr ""
-#: rpm.c:254
+#: rpm.c:264
msgid " rpm {--addsign} [--rcfile <file>] package1 package2 ... packageN"
msgstr ""
-#: rpm.c:255
+#: rpm.c:265
msgid ""
" rpm {--checksig -K} [--nopgp] [--nogpg] [--nomd5] [--rcfile <file>]"
msgstr ""
-#: rpm.c:256
+#: rpm.c:266
msgid " package1 ... packageN"
msgstr ""
-#: rpm.c:257
+#: rpm.c:267
msgid " rpm {--rebuilddb} [--rcfile <file>] [--dbpath <dir>]"
msgstr ""
-#: rpm.c:258
+#: rpm.c:268
msgid " rpm {--querytags}"
msgstr ""
-#: rpm.c:292 rpmqv.c:442
+#: rpm.c:302 rpmqv.c:442
msgid "Usage:"
msgstr ""
-#: rpm.c:294 rpmqv.c:444
+#: rpm.c:304 rpmqv.c:444
msgid "print this message"
msgstr ""
-#: rpm.c:296 rpmqv.c:129 rpmqv.c:446
+#: rpm.c:306 rpmqv.c:129 rpmqv.c:446
msgid "print the version of rpm being used"
msgstr ""
-#: rpm.c:299
+#: rpm.c:309
msgid " All modes support the following arguments:"
msgstr ""
-#: rpm.c:300
+#: rpm.c:310
msgid " --define '<name> <body>'"
msgstr ""
-#: rpm.c:301 rpmqv.c:136 rpmqv.c:451
+#: rpm.c:311 rpmqv.c:136 rpmqv.c:451
msgid "define macro <name> with value <body>"
msgstr ""
-#: rpm.c:302
+#: rpm.c:312
msgid " --eval '<name>+' "
msgstr ""
-#: rpm.c:303
+#: rpm.c:313
msgid "print the expansion of macro <name> to stdout"
msgstr ""
-#: rpm.c:304
+#: rpm.c:314
msgid " --pipe <cmd> "
msgstr ""
-#: rpm.c:305 rpmqv.c:142 rpmqv.c:455
+#: rpm.c:315 rpmqv.c:142 rpmqv.c:455
msgid "send stdout to <cmd>"
msgstr ""
-#: rpm.c:306
+#: rpm.c:316
msgid " --rcfile <file> "
msgstr ""
-#: rpm.c:307
+#: rpm.c:317
msgid "use <file> instead of /etc/rpmrc and $HOME/.rpmrc"
msgstr ""
-#: rpm.c:309 rpmqv.c:160 rpmqv.c:459
+#: rpm.c:319 rpmqv.c:160 rpmqv.c:459
msgid "display final rpmrc and macro configuration"
msgstr ""
-#: rpm.c:311 rpmqv.c:467
+#: rpm.c:321 rpmqv.c:467
msgid "be a little more verbose"
msgstr ""
-#: rpm.c:313 rpmqv.c:469
+#: rpm.c:323 rpmqv.c:469
msgid "be incredibly verbose (for debugging)"
msgstr ""
-#: rpm.c:316
+#: rpm.c:326
msgid " Install, upgrade and query (with -p) allow URL's to be used in place"
msgstr ""
-#: rpm.c:317
+#: rpm.c:327
msgid " of file names as well as the following options:"
msgstr ""
-#: rpm.c:318
+#: rpm.c:328
msgid " --ftpproxy <host> "
msgstr ""
-#: rpm.c:319 rpmqv.c:476
+#: rpm.c:329 rpmqv.c:476
msgid "hostname or IP of ftp proxy"
msgstr ""
-#: rpm.c:320
+#: rpm.c:330
msgid " --ftpport <port> "
msgstr ""
-#: rpm.c:321 rpmqv.c:478
+#: rpm.c:331 rpmqv.c:478
msgid "port number of ftp server (or proxy)"
msgstr ""
-#: rpm.c:322
+#: rpm.c:332
msgid " --httpproxy <host> "
msgstr ""
-#: rpm.c:323 rpmqv.c:480
+#: rpm.c:333 rpmqv.c:480
msgid "hostname or IP of http proxy"
msgstr ""
-#: rpm.c:324
+#: rpm.c:334
msgid " --httpport <port> "
msgstr ""
-#: rpm.c:325 rpmqv.c:482
+#: rpm.c:335 rpmqv.c:482
msgid "port number of http server (or proxy)"
msgstr ""
-#: rpm.c:329 rpmqv.c:502
+#: rpm.c:339 rpmqv.c:502
msgid "query mode"
msgstr ""
-#: rpm.c:330 rpm.c:376 rpm.c:401 rpm.c:453 rpm.c:527
+#: rpm.c:340 rpm.c:386 rpm.c:411 rpm.c:463 rpm.c:537
msgid " --dbpath <dir> "
msgstr ""
-#: rpm.c:331 rpm.c:377 rpm.c:402 rpm.c:454 rpm.c:528 rpmqv.c:462
+#: rpm.c:341 rpm.c:387 rpm.c:412 rpm.c:464 rpm.c:538 rpmqv.c:462
msgid "use <dir> as the directory for the database"
msgstr ""
-#: rpm.c:332
+#: rpm.c:342
msgid " --queryformat <qfmt>"
msgstr ""
-#: rpm.c:333 rpmqv.c:504
+#: rpm.c:343 rpmqv.c:504
msgid "use <qfmt> as the header format (implies --info)"
msgstr ""
-#: rpm.c:334 rpm.c:378 rpm.c:436 rpm.c:465
+#: rpm.c:344 rpm.c:388 rpm.c:446 rpm.c:475
msgid " --root <dir> "
msgstr ""
-#: rpm.c:335 rpm.c:379 rpm.c:437 rpm.c:466 rpm.c:530 rpmqv.c:145 rpmqv.c:464
+#: rpm.c:345 rpm.c:389 rpm.c:447 rpm.c:476 rpm.c:540 rpmqv.c:145 rpmqv.c:464
msgid "use <dir> as the top level directory"
msgstr ""
-#: rpm.c:336
+#: rpm.c:346
msgid " Package specification options:"
msgstr ""
-#: rpm.c:338
+#: rpm.c:348
msgid "query all packages"
msgstr ""
-#: rpm.c:339
+#: rpm.c:349
msgid " -f <file>+ "
msgstr ""
-#: rpm.c:340
+#: rpm.c:350
msgid "query package owning <file>"
msgstr ""
-#: rpm.c:341
+#: rpm.c:351
msgid " -p <packagefile>+ "
msgstr ""
-#: rpm.c:342
+#: rpm.c:352
msgid "query (uninstalled) package <packagefile>"
msgstr ""
-#: rpm.c:343
+#: rpm.c:353
msgid " --triggeredby <pkg>"
msgstr ""
-#: rpm.c:344
+#: rpm.c:354
msgid "query packages triggered by <pkg>"
msgstr ""
-#: rpm.c:345
+#: rpm.c:355
msgid " --whatprovides <cap>"
msgstr ""
-#: rpm.c:346
+#: rpm.c:356
msgid "query packages which provide <cap> capability"
msgstr ""
-#: rpm.c:347
+#: rpm.c:357
msgid " --whatrequires <cap>"
msgstr ""
-#: rpm.c:348
+#: rpm.c:358
msgid "query packages which require <cap> capability"
msgstr ""
-#: rpm.c:349
+#: rpm.c:359
msgid " Information selection options:"
msgstr ""
-#: rpm.c:351 rpmqv.c:508
+#: rpm.c:361 rpmqv.c:508
msgid "display package information"
msgstr ""
-#: rpm.c:353 rpmqv.c:510
+#: rpm.c:363 rpmqv.c:510
msgid "display the package's change log"
msgstr ""
-#: rpm.c:355 rpmqv.c:512
+#: rpm.c:365 rpmqv.c:512
msgid "display package file list"
msgstr ""
-#: rpm.c:357 rpmqv.c:514
+#: rpm.c:367 rpmqv.c:514
msgid "show file states (implies -l)"
msgstr ""
-#: rpm.c:359 rpmqv.c:516
+#: rpm.c:369 rpmqv.c:516
msgid "list only documentation files (implies -l)"
msgstr ""
-#: rpm.c:361 rpmqv.c:518
+#: rpm.c:371 rpmqv.c:518
msgid "list only configuration files (implies -l)"
msgstr ""
-#: rpm.c:363 rpmqv.c:520
+#: rpm.c:373 rpmqv.c:520
msgid ""
"show all verifiable information for each file (must be used with -l, -c, or "
"-d)"
msgstr ""
-#: rpm.c:365
+#: rpm.c:375
msgid "list capabilities package provides"
msgstr ""
-#: rpm.c:367
+#: rpm.c:377
msgid "list package dependencies"
msgstr ""
-#: rpm.c:369
+#: rpm.c:379
msgid "print the various [un]install scripts"
msgstr ""
-#: rpm.c:371
+#: rpm.c:381
msgid "show the trigger scripts contained in the package"
msgstr ""
-#: rpm.c:375 rpmqv.c:531
+#: rpm.c:385 rpmqv.c:531
msgid ""
"verify a package installation using the same same package specification "
"options as -q"
msgstr ""
-#: lib/poptBT.c:180 lib/verify.c:56 rpm.c:381 rpm.c:423 rpm.c:458 rpmqv.c:263
+#: lib/poptBT.c:180 lib/verify.c:56 rpm.c:391 rpm.c:433 rpm.c:468 rpmqv.c:263
#: rpmqv.c:533 rpmqv.c:581 rpmqv.c:615
msgid "do not verify package dependencies"
msgstr ""
-#: lib/verify.c:62 rpm.c:383 rpmqv.c:209 rpmqv.c:537
+#: lib/verify.c:62 rpm.c:393 rpmqv.c:209 rpmqv.c:537
msgid "do not verify file md5 checksums"
msgstr ""
-#: rpm.c:385 rpmqv.c:535
+#: rpm.c:395 rpmqv.c:535
msgid "do not verify file attributes"
msgstr ""
-#: rpm.c:387 rpmqv.c:542
+#: rpm.c:397 rpmqv.c:542
msgid "list the tags that can be used in a query format"
msgstr ""
-#: rpm.c:390
+#: rpm.c:400
msgid " --install <packagefile>"
msgstr ""
-#: rpm.c:391
+#: rpm.c:401
msgid " -i <packagefile> "
msgstr ""
-#: rpm.c:392 rpmqv.c:259 rpmqv.c:556
+#: rpm.c:402 rpmqv.c:259 rpmqv.c:556
msgid "install package"
msgstr ""
-#: rpm.c:393
+#: rpm.c:403
msgid " --excludepath <path>"
msgstr ""
-#: rpm.c:394
+#: rpm.c:404
msgid "skip files in path <path>"
msgstr ""
-#: rpm.c:395
+#: rpm.c:405
msgid " --relocate <oldpath>=<newpath>"
msgstr ""
-#: rpm.c:396 rpmqv.c:593
+#: rpm.c:406 rpmqv.c:593
msgid "relocate files from <oldpath> to <newpath>"
msgstr ""
-#: rpm.c:398 rpmqv.c:231 rpmqv.c:561
+#: rpm.c:408 rpmqv.c:231 rpmqv.c:561
msgid "relocate files in non-relocateable package"
msgstr ""
-#: rpm.c:399
+#: rpm.c:409
msgid " --prefix <dir> "
msgstr ""
-#: rpm.c:400 rpmqv.c:277 rpmqv.c:591
+#: rpm.c:410 rpmqv.c:277 rpmqv.c:591
msgid "relocate the package to <dir>, if relocatable"
msgstr ""
-#: rpm.c:404 rpmqv.c:237 rpmqv.c:563
+#: rpm.c:414 rpmqv.c:237 rpmqv.c:563
msgid "do not install documentation"
msgstr ""
-#: rpm.c:406 rpmqv.c:242 rpmqv.c:567
+#: rpm.c:416 rpmqv.c:242 rpmqv.c:567
msgid "short hand for --replacepkgs --replacefiles"
msgstr ""
-#: rpm.c:408 rpmqv.c:248 rpmqv.c:569
+#: rpm.c:418 rpmqv.c:248 rpmqv.c:569
msgid "print hash marks as package installs (good with -v)"
msgstr ""
-#: rpm.c:410 rpmqv.c:225 rpmqv.c:558
+#: rpm.c:420 rpmqv.c:225 rpmqv.c:558
msgid "install all files, even configurations which might otherwise be skipped"
msgstr ""
-#: rpm.c:413 rpmqv.c:250 rpmqv.c:571
+#: rpm.c:423 rpmqv.c:250 rpmqv.c:571
msgid "don't verify package architecture"
msgstr ""
-#: rpm.c:415 rpmqv.c:255 rpmqv.c:573
+#: rpm.c:425 rpmqv.c:255 rpmqv.c:573
msgid "don't check disk space before installing"
msgstr ""
-#: rpm.c:417 rpmqv.c:252 rpmqv.c:575
+#: rpm.c:427 rpmqv.c:252 rpmqv.c:575
msgid "don't verify package operating system"
msgstr ""
-#: rpm.c:419 rpmqv.c:257 rpmqv.c:577
+#: rpm.c:429 rpmqv.c:257 rpmqv.c:577
msgid "install documentation"
msgstr ""
-#: rpm.c:421 rpm.c:456 rpmqv.c:261 rpmqv.c:579 rpmqv.c:613
+#: rpm.c:431 rpm.c:466 rpmqv.c:261 rpmqv.c:579 rpmqv.c:613
msgid "update the database, but do not modify the filesystem"
msgstr ""
-#: rpm.c:425 rpm.c:460 rpmqv.c:265 rpmqv.c:583 rpmqv.c:617
+#: rpm.c:435 rpm.c:470 rpmqv.c:265 rpmqv.c:583 rpmqv.c:617
msgid "do not reorder package installation to satisfy dependencies"
msgstr ""
-#: rpm.c:427
+#: rpm.c:437
msgid "don't execute any installation scripts"
msgstr ""
-#: rpm.c:429 rpm.c:464 rpmqv.c:621
+#: rpm.c:439 rpm.c:474 rpmqv.c:621
msgid "don't execute any scripts triggered by this package"
msgstr ""
-#: rpm.c:431 rpmqv.c:275 rpmqv.c:589
+#: rpm.c:441 rpmqv.c:275 rpmqv.c:589
msgid "print percentages as package installs"
msgstr ""
-#: rpm.c:433 rpmqv.c:286 rpmqv.c:595
+#: rpm.c:443 rpmqv.c:286 rpmqv.c:595
msgid "install even if the package replaces installed files"
msgstr ""
-#: rpm.c:435 rpmqv.c:288 rpmqv.c:597
+#: rpm.c:445 rpmqv.c:288 rpmqv.c:597
msgid "reinstall if the package is already present"
msgstr ""
-#: rpm.c:439 rpmqv.c:290 rpmqv.c:599
+#: rpm.c:449 rpmqv.c:290 rpmqv.c:599
msgid "don't install, but tell if it would work or not"
msgstr ""
-#: rpm.c:442
+#: rpm.c:452
msgid " --upgrade <packagefile>"
msgstr ""
-#: rpm.c:443
+#: rpm.c:453
msgid " -U <packagefile> "
msgstr ""
-#: rpm.c:444 rpmqv.c:603
+#: rpm.c:454 rpmqv.c:603
msgid "upgrade package (same options as --install, plus)"
msgstr ""
-#: rpm.c:446 rpmqv.c:272 rpmqv.c:605
+#: rpm.c:456 rpmqv.c:272 rpmqv.c:605
msgid ""
"upgrade to an old version of the package (--force on upgrades does this "
"automatically)"
msgstr ""
-#: rpm.c:448
+#: rpm.c:458
msgid " --erase <package>"
msgstr ""
-#: rpm.c:450 rpmqv.c:235 rpmqv.c:609
+#: rpm.c:460 rpmqv.c:235 rpmqv.c:609
msgid "erase (uninstall) package"
msgstr ""
-#: rpm.c:452 rpmqv.c:228 rpmqv.c:611
+#: rpm.c:462 rpmqv.c:228 rpmqv.c:611
msgid ""
"remove all packages which match <package> (normally an error is generated if "
"<package> specified multiple packages)"
msgstr ""
-#: rpm.c:462 rpmqv.c:619
+#: rpm.c:472 rpmqv.c:619
msgid "do not execute any package specific scripts"
msgstr ""
-#: rpm.c:468
+#: rpm.c:478
msgid " -b<stage> <spec> "
msgstr ""
-#: rpm.c:469
+#: rpm.c:479
msgid " -t<stage> <tarball> "
msgstr ""
-#: rpm.c:470
+#: rpm.c:480
msgid "build package, where <stage> is one of:"
msgstr ""
-#: rpm.c:472
+#: rpm.c:482
msgid "prep (unpack sources and apply patches)"
msgstr ""
-#: rpm.c:474
+#: rpm.c:484
#, c-format
msgid "list check (do some cursory checks on %files)"
msgstr ""
-#: rpm.c:476
+#: rpm.c:486
msgid "compile (prep and compile)"
msgstr ""
-#: rpm.c:478
+#: rpm.c:488
msgid "install (prep, compile, install)"
msgstr ""
-#: rpm.c:480
+#: rpm.c:490
msgid "binary package (prep, compile, install, package)"
msgstr ""
-#: rpm.c:482
+#: rpm.c:492
msgid "bin/src package (prep, compile, install, package)"
msgstr ""
-#: lib/poptBT.c:191 rpm.c:484
+#: lib/poptBT.c:191 rpm.c:494
msgid "skip straight to specified stage (only for c,i)"
msgstr ""
-#: lib/poptBT.c:172 rpm.c:486
+#: lib/poptBT.c:172 rpm.c:496
msgid "remove build tree when done"
msgstr ""
-#: lib/poptBT.c:187 rpm.c:488
+#: lib/poptBT.c:187 rpm.c:498
msgid "remove sources when done"
msgstr ""
-#: rpm.c:490
+#: rpm.c:500
msgid "remove spec file when done"
msgstr ""
-#: lib/poptBT.c:193 rpm.c:492 rpmqv.c:201
+#: lib/poptBT.c:193 rpm.c:502 rpmqv.c:201
msgid "generate PGP/GPG signature"
msgstr ""
-#: rpm.c:493
+#: rpm.c:503
msgid " --buildroot <dir> "
msgstr ""
-#: rpm.c:494
+#: rpm.c:504
msgid "use <dir> as the build root"
msgstr ""
-#: rpm.c:495
+#: rpm.c:505
msgid " --target=<platform>+"
msgstr ""
-#: rpm.c:496
+#: rpm.c:506
msgid "build the packages for the build targets platform1...platformN."
msgstr ""
-#: rpm.c:498
+#: rpm.c:508
msgid "do not execute any stages"
msgstr ""
-#: rpm.c:499
+#: rpm.c:509
msgid " --timecheck <secs> "
msgstr ""
-#: rpm.c:500
+#: rpm.c:510
msgid "set the time check to <secs> seconds (0 disables)"
msgstr ""
-#: rpm.c:502
+#: rpm.c:512
msgid " --rebuild <src_pkg> "
msgstr ""
-#: rpm.c:503
+#: rpm.c:513
msgid ""
"install source package, build binary package and remove spec file, sources, "
"patches, and icons."
msgstr ""
-#: rpm.c:504
+#: rpm.c:514
msgid " --recompile <src_pkg> "
msgstr ""
-#: rpm.c:505
+#: rpm.c:515
msgid "like --rebuild, but don't build any package"
msgstr ""
-#: rpm.c:508
+#: rpm.c:518
msgid " --resign <pkg>+ "
msgstr ""
-#: rpm.c:509 rpmqv.c:199 rpmqv.c:627
+#: rpm.c:519 rpmqv.c:199 rpmqv.c:627
msgid "sign a package (discard current signature)"
msgstr ""
-#: rpm.c:510
+#: rpm.c:520
msgid " --addsign <pkg>+ "
msgstr ""
-#: rpm.c:511 rpmqv.c:197 rpmqv.c:629
+#: rpm.c:521 rpmqv.c:197 rpmqv.c:629
msgid "add a signature to a package"
msgstr ""
-#: rpm.c:512
+#: rpm.c:522
msgid " --checksig <pkg>+"
msgstr ""
-#: rpm.c:513
+#: rpm.c:523
msgid " -K <pkg>+ "
msgstr ""
-#: rpm.c:514 rpmqv.c:203 rpmqv.c:633
+#: rpm.c:524 rpmqv.c:203 rpmqv.c:633
msgid "verify package signature"
msgstr ""
-#: rpm.c:516 rpmqv.c:205 rpmqv.c:635
+#: rpm.c:526 rpmqv.c:205 rpmqv.c:635
msgid "skip any PGP signatures"
msgstr ""
-#: rpm.c:518 rpmqv.c:207 rpmqv.c:637
+#: rpm.c:528 rpmqv.c:207 rpmqv.c:637
msgid "skip any GPG signatures"
msgstr ""
-#: rpm.c:520 rpmqv.c:639
+#: rpm.c:530 rpmqv.c:639
msgid "skip any MD5 signatures"
msgstr ""
-#: rpm.c:524
+#: rpm.c:534
msgid "make sure a valid database exists"
msgstr ""
-#: rpm.c:526
+#: rpm.c:536
msgid "rebuild database from existing database"
msgstr ""
-#: rpm.c:534 rpmqv.c:544
+#: rpm.c:544 rpmqv.c:544
msgid ""
"set the file permissions to those in the package database using the same "
"package specification options as -q"
msgstr ""
-#: rpm.c:537 rpmqv.c:547
+#: rpm.c:547 rpmqv.c:547
msgid ""
"set the file owner and group to those in the package database using the same "
"package specification options as -q"
msgstr ""
-#: rpm.c:677 rpm.c:683 rpm.c:692 rpm.c:714 rpm.c:720 rpm.c:727 rpm.c:735
-#: rpm.c:743 rpm.c:764 rpm.c:827 rpmqv.c:832 rpmqv.c:838 rpmqv.c:845
+#: rpm.c:687 rpm.c:693 rpm.c:702 rpm.c:724 rpm.c:730 rpm.c:737 rpm.c:745
+#: rpm.c:753 rpm.c:774 rpm.c:837 rpmqv.c:832 rpmqv.c:838 rpmqv.c:845
#: rpmqv.c:851 rpmqv.c:885 rpmqv.c:893 rpmqv.c:899 rpmqv.c:907 rpmqv.c:974
msgid "only one major mode may be specified"
msgstr ""
-#: rpm.c:685
+#: rpm.c:695
msgid "-u and --uninstall are deprecated and no longer work.\n"
msgstr ""
-#: rpm.c:687
+#: rpm.c:697
msgid "Use -e or --erase instead.\n"
msgstr ""
-#: rpm.c:770 rpmqv.c:869
+#: rpm.c:780 rpmqv.c:869
msgid "relocations must begin with a /"
msgstr ""
-#: rpm.c:772 rpmqv.c:871
+#: rpm.c:782 rpmqv.c:871
msgid "relocations must contain a ="
msgstr ""
-#: rpm.c:775 rpmqv.c:874
+#: rpm.c:785 rpmqv.c:874
msgid "relocations must have a / following the ="
msgstr ""
-#: rpm.c:784 rpmqv.c:858
+#: rpm.c:794 rpmqv.c:858
msgid "exclude paths must begin with a /"
msgstr ""
-#: rpm.c:793 rpmqv.c:928
+#: rpm.c:803 rpmqv.c:928
msgid "The --rcfile option has been eliminated.\n"
msgstr ""
-#: rpm.c:794
+#: rpm.c:804
msgid "Use --macros with a colon separated list of macro files to read.\n"
msgstr ""
-#: rpm.c:799 rpmqv.c:934
+#: rpm.c:809 rpmqv.c:934
#, c-format
msgid "Internal error in argument processing (%d) :-(\n"
msgstr ""
-#: rpm.c:834 rpmqv.c:989
+#: rpm.c:844 rpmqv.c:989
msgid "one type of query/verify may be performed at a time"
msgstr ""
-#: rpm.c:839 rpmqv.c:993
+#: rpm.c:849 rpmqv.c:993
msgid "unexpected query flags"
msgstr ""
-#: rpm.c:842 rpmqv.c:996
+#: rpm.c:852 rpmqv.c:996
msgid "unexpected query format"
msgstr ""
-#: rpm.c:845 rpmqv.c:999
+#: rpm.c:855 rpmqv.c:999
msgid "unexpected query source"
msgstr ""
-#: rpm.c:848 rpmqv.c:1009
+#: rpm.c:858 rpmqv.c:1009
msgid "only installation, upgrading, rmsource and rmspec may be forced"
msgstr ""
-#: rpm.c:851 rpmqv.c:1014
+#: rpm.c:861 rpmqv.c:1014
msgid "files may only be relocated during package installation"
msgstr ""
-#: rpm.c:854 rpmqv.c:1017
+#: rpm.c:864 rpmqv.c:1017
msgid "only one of --prefix or --relocate may be used"
msgstr ""
-#: rpm.c:857 rpmqv.c:1020
+#: rpm.c:867 rpmqv.c:1020
msgid ""
"--relocate and --excludepath may only be used when installing new packages"
msgstr ""
-#: rpm.c:860 rpmqv.c:1023
+#: rpm.c:870 rpmqv.c:1023
msgid "--prefix may only be used when installing new packages"
msgstr ""
-#: rpm.c:863 rpmqv.c:1026
+#: rpm.c:873 rpmqv.c:1026
msgid "arguments to --prefix must begin with a /"
msgstr ""
-#: rpm.c:866 rpmqv.c:1029
+#: rpm.c:876 rpmqv.c:1029
msgid "--hash (-h) may only be specified during package installation"
msgstr ""
-#: rpm.c:870 rpmqv.c:1033
+#: rpm.c:880 rpmqv.c:1033
msgid "--percent may only be specified during package installation"
msgstr ""
-#: rpm.c:874 rpmqv.c:1038
+#: rpm.c:884 rpmqv.c:1038
msgid "--replacefiles may only be specified during package installation"
msgstr ""
-#: rpm.c:878 rpmqv.c:1042
+#: rpm.c:888 rpmqv.c:1042
msgid "--replacepkgs may only be specified during package installation"
msgstr ""
-#: rpm.c:882 rpmqv.c:1046
+#: rpm.c:892 rpmqv.c:1046
msgid "--excludedocs may only be specified during package installation"
msgstr ""
-#: rpm.c:886 rpmqv.c:1050
+#: rpm.c:896 rpmqv.c:1050
msgid "--includedocs may only be specified during package installation"
msgstr ""
-#: rpm.c:890 rpmqv.c:1054
+#: rpm.c:900 rpmqv.c:1054
msgid "only one of --excludedocs and --includedocs may be specified"
msgstr ""
-#: rpm.c:894 rpmqv.c:1058
+#: rpm.c:904 rpmqv.c:1058
msgid "--ignorearch may only be specified during package installation"
msgstr ""
-#: rpm.c:898 rpmqv.c:1062
+#: rpm.c:908 rpmqv.c:1062
msgid "--ignoreos may only be specified during package installation"
msgstr ""
-#: rpm.c:902 rpmqv.c:1067
+#: rpm.c:912 rpmqv.c:1067
msgid "--ignoresize may only be specified during package installation"
msgstr ""
-#: rpm.c:906 rpmqv.c:1071
+#: rpm.c:916 rpmqv.c:1071
msgid "--allmatches may only be specified during package erasure"
msgstr ""
-#: rpm.c:910 rpmqv.c:1075
+#: rpm.c:920 rpmqv.c:1075
msgid "--allfiles may only be specified during package installation"
msgstr ""
-#: rpm.c:914 rpmqv.c:1080
+#: rpm.c:924 rpmqv.c:1080
msgid "--justdb may only be specified during package installation and erasure"
msgstr ""
-#: rpm.c:919
+#: rpm.c:929
msgid ""
"--noscripts may only be specified during package installation, erasure, and "
"verification"
msgstr ""
-#: rpm.c:923
+#: rpm.c:933
msgid ""
"--notriggers may only be specified during package installation, erasure, and "
"verification"
msgstr ""
-#: rpm.c:927 rpmqv.c:1091
+#: rpm.c:937 rpmqv.c:1091
msgid ""
"--nodeps may only be specified during package building, rebuilding, "
"recompilation, installation,erasure, and verification"
msgstr ""
-#: rpm.c:932 rpmqv.c:1096
+#: rpm.c:942 rpmqv.c:1096
msgid ""
"--test may only be specified during package installation, erasure, and "
"building"
msgstr ""
-#: rpm.c:936 rpmqv.c:1101
+#: rpm.c:946 rpmqv.c:1101
msgid ""
"--root (-r) may only be specified during installation, erasure, querying, "
"and database rebuilds"
msgstr ""
-#: rpm.c:948 rpmqv.c:1113
+#: rpm.c:958 rpmqv.c:1113
msgid "arguments to --root (-r) must begin with a /"
msgstr ""
-#: rpm.c:954
+#: rpm.c:964
msgid "--oldpackage may only be used during upgrades"
msgstr ""
-#: rpm.c:957 rpmqv.c:1120
+#: rpm.c:967 rpmqv.c:1120
msgid "--nopgp may only be used during signature checking"
msgstr ""
-#: rpm.c:960 rpmqv.c:1123
+#: rpm.c:970 rpmqv.c:1123
msgid "--nogpg may only be used during signature checking"
msgstr ""
-#: rpm.c:963 rpmqv.c:1128
+#: rpm.c:973 rpmqv.c:1128
msgid ""
"--nomd5 may only be used during signature checking and package verification"
msgstr ""
-#: rpm.c:974 rpmqv.c:1144
+#: rpm.c:984 rpmqv.c:1144
msgid "no files to sign\n"
msgstr ""
-#: rpm.c:979 rpmqv.c:1149
+#: rpm.c:989 rpmqv.c:1149
#, c-format
msgid "cannot access file %s\n"
msgstr ""
-#: rpm.c:994 rpmqv.c:1165
+#: rpm.c:1004 rpmqv.c:1165
msgid "pgp not found: "
msgstr ""
-#: rpm.c:998 rpmqv.c:1169
+#: rpm.c:1008 rpmqv.c:1169
msgid "Enter pass phrase: "
msgstr ""
-#: rpm.c:1000 rpmqv.c:1171
+#: rpm.c:1010 rpmqv.c:1171
msgid "Pass phrase check failed\n"
msgstr ""
-#: rpm.c:1003 rpmqv.c:1174
+#: rpm.c:1013 rpmqv.c:1174
msgid "Pass phrase is good.\n"
msgstr ""
-#: rpm.c:1008 rpmqv.c:1179
+#: rpm.c:1018 rpmqv.c:1179
msgid "Invalid %%_signature spec in macro file.\n"
msgstr ""
-#: rpm.c:1014 rpmqv.c:1185
+#: rpm.c:1024 rpmqv.c:1185
msgid "--sign may only be used during package building"
msgstr ""
-#: rpm.c:1029 rpmqv.c:1201
+#: rpm.c:1039 rpmqv.c:1201
msgid "exec failed\n"
msgstr ""
-#: rpm.c:1048 rpmqv.c:1445
+#: rpm.c:1058 rpmqv.c:1445
msgid "unexpected arguments to --querytags "
msgstr ""
-#: rpm.c:1059 rpmqv.c:1467
+#: rpm.c:1069 rpmqv.c:1467
msgid "no packages given for signature check"
msgstr ""
-#: rpm.c:1070 rpmqv.c:1478
+#: rpm.c:1080 rpmqv.c:1478
msgid "no packages given for signing"
msgstr ""
-#: rpm.c:1086 rpmqv.c:1341
+#: rpm.c:1096 rpmqv.c:1341
msgid "no packages given for uninstall"
msgstr ""
-#: rpm.c:1142 rpmqv.c:1370
+#: rpm.c:1160 rpmqv.c:1370
msgid "no packages given for install"
msgstr ""
-#: rpm.c:1166 rpmqv.c:1411
+#: rpm.c:1184 rpmqv.c:1411
msgid "extra arguments given for query of all packages"
msgstr ""
-#: rpm.c:1171 rpmqv.c:1416
+#: rpm.c:1189 rpmqv.c:1416
msgid "no arguments given for query"
msgstr ""
-#: rpm.c:1188 rpmqv.c:1433
+#: rpm.c:1206 rpmqv.c:1433
msgid "extra arguments given for verify of all packages"
msgstr ""
-#: rpm.c:1192 rpmqv.c:1437
+#: rpm.c:1210 rpmqv.c:1437
msgid "no arguments given for verify"
msgstr ""
msgid "line %d: Bad %s number: %s\n"
msgstr ""
-#: lib/cpio.c:913
+#: lib/cpio.c:835
#, c-format
msgid "%8x %s -> %s path %s\n"
msgstr ""
-#: lib/cpio.c:1257
+#: lib/cpio.c:1222
#, c-format
msgid "getNextHeader: %s\n"
msgstr ""
-#: lib/cpio.c:1661
+#: lib/cpio.c:1626
#, c-format
msgid "(error 0x%x)"
msgstr ""
-#: lib/cpio.c:1664
+#: lib/cpio.c:1629
msgid "Bad magic"
msgstr ""
-#: lib/cpio.c:1665
+#: lib/cpio.c:1630
msgid "Bad/unreadable header"
msgstr ""
-#: lib/cpio.c:1686
+#: lib/cpio.c:1651
msgid "Header size too big"
msgstr ""
-#: lib/cpio.c:1687
+#: lib/cpio.c:1652
msgid "Unknown file type"
msgstr ""
-#: lib/cpio.c:1688
+#: lib/cpio.c:1653
msgid "Missing hard link"
msgstr ""
-#: lib/cpio.c:1689
+#: lib/cpio.c:1654
msgid "MD5 sum mismatch"
msgstr ""
-#: lib/cpio.c:1690
+#: lib/cpio.c:1655
msgid "Internal error"
msgstr ""
-#: lib/cpio.c:1699
+#: lib/cpio.c:1664
msgid " failed - "
msgstr ""
msgid "package %s is not installed\n"
msgstr ""
-#: lib/rollback.c:388
+#: lib/rollback.c:387
#, c-format
msgid " file: %s%s action: %s\n"
msgstr ""
-#: lib/rollback.c:428
+#: lib/rollback.c:426
#, c-format
msgid "%s: %s%s created as %s\n"
msgstr ""
-#: lib/rollback.c:455
+#: lib/rollback.c:453
#, c-format
msgid "%s: cannot remove %s - directory not empty\n"
msgstr ""
-#: lib/rollback.c:460
+#: lib/rollback.c:458
#, c-format
msgid "%s rmdir of %s failed: %s\n"
msgstr ""
-#: lib/rollback.c:472
+#: lib/rollback.c:470
#, c-format
msgid "%s removal of %s failed: %s\n"
msgstr ""
-#: lib/rollback.c:490
+#: lib/rollback.c:488
#, c-format
msgid "%s: %s saved as %s\n"
msgstr ""
-#: lib/rollback.c:496
+#: lib/rollback.c:494
#, c-format
msgid "%s rename of %s to %s failed: %s\n"
msgstr ""