summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2000-10-20 16:47:00 +0000
committerjbj <devnull@localhost>2000-10-20 16:47:00 +0000
commit8699b8a12376ab718d09f9f215a40940567556dc (patch)
tree1a2f49528be6ecf34f7a329d15143639d2c0d528
parentec4738cfff4bf79d9a0fb972f6ed7f4ce72cbf08 (diff)
downloadlibrpm-tizen-8699b8a12376ab718d09f9f215a40940567556dc.tar.gz
librpm-tizen-8699b8a12376ab718d09f9f215a40940567556dc.tar.bz2
librpm-tizen-8699b8a12376ab718d09f9f215a40940567556dc.zip
- detect rdonly linux file systems.
- check available inodes as well as blocks on mounted file systems. CVS patchset: 4220 CVS date: 2000/10/20 16:47:00
-rw-r--r--CHANGES2
-rw-r--r--lib/fs.c28
-rw-r--r--lib/install.c34
-rw-r--r--lib/problems.c7
-rw-r--r--lib/rpmlib.h6
-rw-r--r--lib/transaction.c138
-rw-r--r--po/rpm.pot341
7 files changed, 295 insertions, 261 deletions
diff --git a/CHANGES b/CHANGES
index 34f5e64bb..ba080ddd0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,8 @@
(katzj@linuxpower.org) (#17672).
- handle possible db3 dependency on -lpthread more gracefully.
- fix: more (possible) xstrdup side effects.
+ - detect rdonly linux file systems.
+ - check available inodes as well as blocks on mounted file systems.
3.0.6 -> 4.0
- use DIRNAMES/BASENAMES/DIRINDICES not FILENAMES in packages and db.
diff --git a/lib/fs.c b/lib/fs.c
index 371a0d3bd..fac707592 100644
--- a/lib/fs.c
+++ b/lib/fs.c
@@ -8,8 +8,9 @@
#include <rpmmacro.h>
struct fsinfo {
- /*@only@*/ const char * mntPoint;
- dev_t dev;
+/*@only@*/ const char * mntPoint; /*!< path to mount point. */
+ dev_t dev; /*!< devno for mount point. */
+ int rdonly; /*!< is mount point read only? */
};
/*@only@*/ /*@null@*/ static struct fsinfo * filesystems = NULL;
@@ -45,12 +46,18 @@ void freeFilesystems(void)
*/
int mntctl(int command, int size, char *buffer);
+/**
+ * Get information for mounted file systems.
+ * @todo determine rdonly for non-linux file systems.
+ * @return 0 on success, 1 on error
+ */
static int getFilesystemList(void)
{
int size;
void * buf;
struct vmount * vm;
struct stat sb;
+ int rdonly = 0;
int num;
int fsnameLength;
int i;
@@ -100,6 +107,7 @@ static int getFilesystemList(void)
}
filesystems[i].dev = sb.st_dev;
+ filesystems[i].rdonly = rdonly;
/* goto the next vmount structure: */
vm = (struct vmount *)((char *)vm + vm->vmt_length);
@@ -113,12 +121,18 @@ static int getFilesystemList(void)
#else /* HAVE_MNTCTL */
+/**
+ * Get information for mounted file systems.
+ * @todo determine rdonly for non-linux file systems.
+ * @return 0 on success, 1 on error
+ */
static int getFilesystemList(void)
{
int numAlloced = 10;
struct stat sb;
int i;
- char * mntdir;
+ const char * mntdir;
+ int rdonly = 0;
# if GETMNTENT_ONE || GETMNTENT_TWO
our_mntent item;
FILE * mtab;
@@ -149,8 +163,12 @@ static int getFilesystemList(void)
/* this is Linux */
our_mntent * itemptr = getmntent(mtab);
if (!itemptr) break;
- item = *itemptr;
+ item = *itemptr; /* structure assignment */
mntdir = item.our_mntdir;
+#if defined(MNTOPT_RO)
+ if (hasmntopt(itemptr, MNTOPT_RO) != NULL)
+ rdonly = 1;
+#endif
# elif GETMNTENT_TWO
/* Solaris, maybe others */
if (getmntent(mtab, &item)) break;
@@ -177,6 +195,7 @@ static int getFilesystemList(void)
filesystems[numFilesystems-1].dev = sb.st_dev;
filesystems[numFilesystems-1].mntPoint = xstrdup(mntdir);
+ filesystems[numFilesystems-1].rdonly = rdonly;
}
# if GETMNTENT_ONE || GETMNTENT_TWO
@@ -187,6 +206,7 @@ static int getFilesystemList(void)
filesystems[numFilesystems].dev = 0;
filesystems[numFilesystems].mntPoint = NULL;
+ filesystems[numFilesystems].rdonly = 0;
fsnames = xcalloc((numFilesystems + 1), sizeof(*fsnames));
for (i = 0; i < numFilesystems; i++)
diff --git a/lib/install.c b/lib/install.c
index bfdda3889..5b945f110 100644
--- a/lib/install.c
+++ b/lib/install.c
@@ -742,9 +742,7 @@ static int installSources(Header h, const char * rootdir, FD_t fd,
if (i < fileCount) {
char *t = alloca(strlen(realSpecDir) +
strlen(files[i].cpioPath) + 5);
- strcpy(t, realSpecDir);
- strcat(t, "/");
- strcat(t, files[i].cpioPath);
+ (void)stpcpy(stpcpy(stpcpy(t,realSpecDir), "/"), files[i].cpioPath);
files[i].relativePath = t;
specFileIndex = i;
} else {
@@ -785,14 +783,10 @@ static int installSources(Header h, const char * rootdir, FD_t fd,
different filesystems, but we only do this on v1 source packages
so I don't really care much. */
instSpecFile = alloca(strlen(realSourceDir) + strlen(specFile) + 2);
- strcpy(instSpecFile, realSourceDir);
- strcat(instSpecFile, "/");
- strcat(instSpecFile, specFile);
+ (void)stpcpy(stpcpy(stpcpy(instSpecFile,realSourceDir), "/"), specFile);
correctSpecFile = alloca(strlen(realSpecDir) + strlen(specFile) + 2);
- strcpy(correctSpecFile, realSpecDir);
- strcat(correctSpecFile, "/");
- strcat(correctSpecFile, specFile);
+ (void)stpcpy(stpcpy(stpcpy(correctSpecFile,realSpecDir), "/"), specFile);
xfree(specFile);
@@ -922,7 +916,6 @@ int installBinaryPackage(const char * rootdir, rpmdb db, FD_t fd, Header h,
int fileCount = 0;
int type, count;
struct fileInfo * files;
- char * fileStates = NULL;
int i;
Header oldH = NULL;
int otherOffset = 0;
@@ -1025,8 +1018,7 @@ int installBinaryPackage(const char * rootdir, rpmdb db, FD_t fd, Header h,
case FA_ALTNAME:
newpath = alloca(strlen(files[i].relativePath) + 20);
- strcpy(newpath, files[i].relativePath);
- strcat(newpath, ".rpmnew");
+ (void)stpcpy(stpcpy(newpath, files[i].relativePath), ".rpmnew");
rpmError(RPMMESS_ALTNAME, _("warning: %s created as %s"),
files[i].relativePath, newpath);
files[i].relativePath = newpath;
@@ -1062,8 +1054,7 @@ int installBinaryPackage(const char * rootdir, rpmdb db, FD_t fd, Header h,
if (ext && access(files[i].relativePath, F_OK) == 0) {
newpath = alloca(strlen(files[i].relativePath) + 20);
- strcpy(newpath, files[i].relativePath);
- strcat(newpath, ext);
+ (void)stpcpy(stpcpy(newpath, files[i].relativePath), ext);
rpmError(RPMMESS_BACKUP, _("warning: %s saved as %s"),
files[i].relativePath, newpath);
@@ -1080,7 +1071,7 @@ int installBinaryPackage(const char * rootdir, rpmdb db, FD_t fd, Header h,
if (!headerGetEntry(h, RPMTAG_ARCHIVESIZE, &type,
(void **) &archiveSizePtr, &count))
- archiveSizePtr = NULL;
+ archiveSizePtr = NULL;
if (notify) {
(void)notify(h, RPMCALLBACK_INST_START, 0, 0,
@@ -1095,19 +1086,20 @@ int installBinaryPackage(const char * rootdir, rpmdb db, FD_t fd, Header h,
}
}
- fileStates = xmalloc(sizeof(*fileStates) * fileCount);
- for (i = 0; i < fileCount; i++)
- fileStates[i] = files[i].state;
+ { char *fileStates = xmalloc(sizeof(*fileStates) * fileCount);
+ for (i = 0; i < fileCount; i++)
+ fileStates[i] = files[i].state;
- headerAddEntry(h, RPMTAG_FILESTATES, RPM_CHAR_TYPE, fileStates,
+ headerAddEntry(h, RPMTAG_FILESTATES, RPM_CHAR_TYPE, fileStates,
fileCount);
- free(fileStates);
+ free(fileStates);
+ }
if (fileMem) freeFileMemory(fileMem);
fileMem = NULL;
} else if (transFlags & RPMTRANS_FLAG_JUSTDB) {
if (headerGetEntry(h, RPMTAG_BASENAMES, NULL, NULL, &fileCount)) {
- fileStates = xmalloc(sizeof(*fileStates) * fileCount);
+ char * fileStates = xmalloc(sizeof(*fileStates) * fileCount);
memset(fileStates, RPMFILE_STATE_NORMAL, fileCount);
headerAddEntry(h, RPMTAG_FILESTATES, RPM_CHAR_TYPE, fileStates,
fileCount);
diff --git a/lib/problems.c b/lib/problems.c
index e4fce2bb6..2395ca811 100644
--- a/lib/problems.c
+++ b/lib/problems.c
@@ -147,6 +147,13 @@ const char * rpmProblemString(rpmProblem prob)
prob->str1);
break;
+ case RPMPROB_DISKNODES:
+ sprintf(buf, _("installing package %s-%s-%s needs %ld inodes on the %s"
+ " filesystem"), name, version, release,
+ prob->ulong1,
+ prob->str1);
+ break;
+
case RPMPROB_BADPRETRANS:
sprintf(buf, _("package %s-%s-%s pre-transaction syscall(s): %s failed: %s"),
name, version, release,
diff --git a/lib/rpmlib.h b/lib/rpmlib.h
index 43c834c5b..ce8c1541f 100644
--- a/lib/rpmlib.h
+++ b/lib/rpmlib.h
@@ -665,7 +665,8 @@ typedef enum rpmProblemType_e {
RPMPROB_FILE_CONFLICT,/*!< file ... from install of ... conflicts with file from package ... */
RPMPROB_OLDPACKAGE, /*!< package ... (which is newer than ...) is already installed */
RPMPROB_DISKSPACE, /*!< installing package ... needs ... on the ... filesystem */
- RPMPROB_BADPRETRANS /*!< (unused) */
+ RPMPROB_DISKNODES, /*!< installing package ... needs ... on the ... filesystem */
+ RPMPROB_BADPRETRANS /*!< (unimplemented) */
} rpmProblemType;
/**
@@ -941,7 +942,8 @@ typedef enum rpmprobFilterFlags_e {
RPMPROB_FILTER_REPLACENEWFILES= (1 << 4),
RPMPROB_FILTER_REPLACEOLDFILES= (1 << 5),
RPMPROB_FILTER_OLDPACKAGE = (1 << 6),
- RPMPROB_FILTER_DISKSPACE = (1 << 7)
+ RPMPROB_FILTER_DISKSPACE = (1 << 7),
+ RPMPROB_FILTER_DISKNODES = (1 << 8)
} rpmprobFilterFlags;
/** \ingroup rpmtrans
diff --git a/lib/transaction.c b/lib/transaction.c
index 7c7dc2c11..8c5850b71 100644
--- a/lib/transaction.c
+++ b/lib/transaction.c
@@ -41,20 +41,21 @@
typedef struct transactionFileInfo {
/* for all packages */
enum rpmTransactionType type;
- enum fileActions * actions;
-/*@dependent@*/ fingerPrint * fps;
- uint_32 * fflags;
- uint_32 * fsizes;
- const char ** bnl; /* base names */
- const char ** dnl; /* dir names */
- const int * dil; /* dir index list */
- const char ** fmd5s;
- uint_16 * fmodes;
- Header h;
- int fc;
- char * fstates;
+ enum fileActions * actions; /*!< file disposition */
+/*@dependent@*/ fingerPrint * fps; /*!< file fingerprints */
+ uint_32 * fflags; /*!< file flags (from header) */
+ uint_32 * fsizes; /*!< file sizes (from header) */
+ const char ** bnl; /*!< base names (from header) */
+ const char ** dnl; /*!< directory names (from header) */
+ const int * dil; /*!< directory indices (from header) */
+ const char ** fmd5s; /*!< file MD5 sums (from header) */
+ uint_16 * fmodes; /*!< file modes (from header) */
+ Header h; /*!< package header */
+ int fc; /*!< no. of files. */
+ int dc; /*!< no. of directories. */
+ char * fstates; /*!< file states (from header) */
/* these are for TR_ADDED packages */
- const char ** flinks;
+ const char ** flinks; /*!< file links (from header) */
struct availablePackage * ap;
struct sharedFileInfo * replaced;
uint_32 * replacedSizes;
@@ -63,10 +64,12 @@ typedef struct transactionFileInfo {
} TFI_t;
struct diskspaceInfo {
- dev_t dev;
- signed long needed; /* in blocks */
- int block;
- signed long avail;
+ dev_t dev; /*!< file system device number. */
+ signed long bneeded; /*!< no. of blocks needed. */
+ signed long ineeded; /*!< no. of inodes needed. */
+ int bsize; /*!< file system block size. */
+ signed long bavail; /*!< no. of blocks available. */
+ signed long iavail; /*!< no. of inodes available. */
};
/* Adjust for root only reserved space. On linux e2fs, this is 5%. */
@@ -172,16 +175,8 @@ static void psAppend(rpmProblemSet probs, rpmProblemType type,
probs->probs[probs->numProblems].key = key;
probs->probs[probs->numProblems].h = headerLink(h);
probs->probs[probs->numProblems].ulong1 = ulong1;
- if (str1)
- probs->probs[probs->numProblems].str1 = xstrdup(str1);
- else
- probs->probs[probs->numProblems].str1 = NULL;
-
- if (altH) {
- probs->probs[probs->numProblems].altH = headerLink(altH);
- } else
- probs->probs[probs->numProblems].altH = NULL;
-
+ probs->probs[probs->numProblems].str1 = (str1 ? xstrdup(str1) : NULL);
+ probs->probs[probs->numProblems].altH = (altH ? headerLink(altH) : NULL);
probs->probs[probs->numProblems++].ignoreProblem = 0;
}
@@ -192,7 +187,7 @@ static void psAppendFile(rpmProblemSet probs, rpmProblemType type,
{
char * str = alloca(strlen(dirName) + strlen(baseName) + 1);
- sprintf(str, "%s%s", dirName, baseName);
+ (void) stpcpy( stpcpy(str, dirName), baseName);
psAppend(probs, type, key, h, str, altH, ulong1);
}
@@ -667,7 +662,7 @@ static enum fileActions decideFileFate(const char * dirName,
int save = (newFlags & RPMFILE_NOREPLACE) ? FA_ALTNAME : FA_SAVE;
char * filespec = alloca(strlen(dirName) + strlen(baseName) + 1);
- sprintf(filespec, "%s%s", dirName, baseName);
+ (void) stpcpy( stpcpy(filespec, dirName), baseName);
if (lstat(filespec, &sb)) {
/*
@@ -752,10 +747,8 @@ static enum fileActions decideFileFate(const char * dirName,
static int filecmp(short mode1, const char * md51, const char * link1,
short mode2, const char * md52, const char * link2)
{
- enum fileTypes what1, what2;
-
- what1 = whatis(mode1);
- what2 = whatis(mode2);
+ enum fileTypes what1 = whatis(mode1);
+ enum fileTypes what2 = whatis(mode2);
if (what1 != what2) return 1;
@@ -900,6 +893,9 @@ static int handleRmvdInstalledFiles(TFI_t * fi, rpmdb db,
return 0;
}
+/**
+ * Update disk space needs on each partition for this package.
+ */
static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
rpmProblemSet probs, struct diskspaceInfo * dsl)
{
@@ -923,12 +919,12 @@ static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
filespec = xrealloc(filespec, fileSpecAlloced);
}
- sprintf(filespec, "%s%s", fi->dnl[fi->dil[i]], fi->bnl[i]);
+ (void) stpcpy( stpcpy( filespec, fi->dnl[fi->dil[i]]), fi->bnl[i]);
if (dsl) {
ds = dsl;
- while (ds->block && ds->dev != fi->fps[i].entry->dev) ds++;
- if (!ds->block) ds = NULL;
+ while (ds->bsize && ds->dev != fi->fps[i].entry->dev) ds++;
+ if (!ds->bsize) ds = NULL;
fixupSize = 0;
}
@@ -1007,7 +1003,7 @@ static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
break;
}
- /* Mark added overlapped nnon-identical files as a conflict. */
+ /* Mark added overlapped non-identical files as a conflict. */
if (probs && filecmp(recs[otherPkgNum]->fmodes[otherFileNum],
recs[otherPkgNum]->fmd5s[otherFileNum],
recs[otherPkgNum]->flinks[otherFileNum],
@@ -1031,11 +1027,7 @@ static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
break;
case TR_REMOVED:
if (otherPkgNum >= 0) {
-#if XXX_ERASED_PACKAGES_LAST
- fi->actions[i] = FA_SKIP;
- break;
-#else
- /* Here is an overlapped added file we don't want to nuke */
+ /* Here is an overlapped added file we don't want to nuke. */
if (recs[otherPkgNum]->actions[otherFileNum] != FA_REMOVE) {
/* On updates, don't remove files. */
fi->actions[i] = FA_SKIP;
@@ -1043,7 +1035,6 @@ static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
}
/* Here is an overlapped removed file: skip in previous. */
recs[otherPkgNum]->actions[otherFileNum] = FA_SKIP;
-#endif
}
if (XFA_SKIPPING(fi->actions[i]))
break;
@@ -1066,32 +1057,36 @@ static void handleOverlappedFiles(TFI_t * fi, hashTable ht,
}
if (ds) {
- uint_32 s = BLOCK_ROUND(fi->fsizes[i], ds->block);
+ uint_32 s = BLOCK_ROUND(fi->fsizes[i], ds->bsize);
switch (fi->actions[i]) {
case FA_BACKUP:
case FA_SAVE:
case FA_ALTNAME:
- ds->needed += s;
+ ds->ineeded++;
+ ds->bneeded += s;
break;
- /* FIXME: If a two packages share a file (same md5sum), and
- that file is being replaced on disk, will ds->needed get
- decremented twice? Quite probably! */
+ /* FIXME: If a two packages share a file (same md5sum), and
+ * that file is being replaced on disk, will ds->bneeded get
+ * decremented twice? Quite probably!
+ */
case FA_CREATE:
- ds->needed += s;
- ds->needed -= BLOCK_ROUND(fi->replacedSizes[i], ds->block);
+ ds->ineeded++;
+ ds->bneeded += s;
+ ds->bneeded -= BLOCK_ROUND(fi->replacedSizes[i], ds->bsize);
break;
case FA_REMOVE:
- ds->needed -= s;
+ ds->ineeded--;
+ ds->bneeded -= s;
break;
default:
break;
}
- ds->needed -= BLOCK_ROUND(fixupSize, ds->block);
+ ds->bneeded -= BLOCK_ROUND(fixupSize, ds->bsize);
}
}
if (filespec) free(filespec);
@@ -1246,7 +1241,7 @@ int rpmRunTransactions( rpmTransactionSet ts,
xfree(ts->currDir);
ts->currDir = currentDirectory();
- /* Get available space on mounted file systems */
+ /* Get available space on mounted file systems. */
if (!(ignoreSet & RPMPROB_FILTER_DISKSPACE) &&
!rpmGetFilesystemList(&filesystems, &filesystemCount)) {
struct stat sb;
@@ -1276,24 +1271,26 @@ int rpmRunTransactions( rpmTransactionSet ts,
{
di = NULL;
} else {
- di[i].block = sfb.f_bsize;
- di[i].needed = 0;
+ di[i].bsize = sfb.f_bsize;
+ di[i].bneeded = 0;
+ di[i].ineeded = 0;
#ifdef STATFS_HAS_F_BAVAIL
- di[i].avail = sfb.f_bavail;
+ di[i].bavail = sfb.f_bavail;
#else
/* FIXME: the statfs struct doesn't have a member to tell how many blocks are
* available for non-superusers. f_blocks - f_bfree is probably too big, but
* it's about all we can do.
*/
- di[i].avail = sfb.f_blocks - sfb.f_bfree;
+ di[i].bavail = sfb.f_blocks - sfb.f_bfree;
#endif
+ di[i].iavail = sfb.f_ffree;
stat(filesystems[i], &sb);
di[i].dev = sb.st_dev;
}
}
- if (di) di[i].block = 0;
+ if (di) di[i].bsize = 0;
}
probs = *newProbs = psCreate();
@@ -1367,9 +1364,11 @@ int rpmRunTransactions( rpmTransactionSet ts,
flEntries = ts->addedPackages.size + ts->numRemovedPackages;
flList = alloca(sizeof(*flList) * (flEntries));
- /* FIXME?: we'd be better off assembling one very large file list and
- calling fpLookupList only once. I'm not sure that the speedup is
- worth the trouble though. */
+ /*
+ * FIXME?: we'd be better off assembling one very large file list and
+ * calling fpLookupList only once. I'm not sure that the speedup is
+ * worth the trouble though.
+ */
for (fi = flList, oc = 0; oc < ts->orderCount; fi++, oc++) {
const char **preTrans;
int preTransCount;
@@ -1418,14 +1417,14 @@ int rpmRunTransactions( rpmTransactionSet ts,
if (!headerGetEntry(fi->h, RPMTAG_BASENAMES, NULL,
(void **) &fi->bnl, &fi->fc)) {
/* This catches removed packages w/ no file lists */
- fi->fc = 0;
+ fi->dc = fi->fc = 0;
continue;
}
headerGetEntry(fi->h, RPMTAG_DIRINDEXES, NULL, (void **) &fi->dil,
NULL);
headerGetEntry(fi->h, RPMTAG_DIRNAMES, NULL, (void **) &fi->dnl,
- NULL);
+ &fi->dc);
/* actions is initialized earlier for added packages */
if (fi->actions == NULL)
@@ -1480,7 +1479,7 @@ int rpmRunTransactions( rpmTransactionSet ts,
fi->fps = xmalloc(sizeof(*fi->fps) * fi->fc);
}
- /* Open all dtabase indices before installing */
+ /* Open all database indices before installing. */
rpmdbOpenAll(ts->rpmdb);
chdir("/");
@@ -1609,11 +1608,14 @@ int rpmRunTransactions( rpmTransactionSet ts,
if (!(di && fi->fc))
break;
for (i = 0; i < filesystemCount; i++) {
- if (adj_fs_blocks(di[i].needed) <= di[i].avail)
- continue;
- psAppend(probs, RPMPROB_DISKSPACE, fi->ap->key, fi->ap->h,
+ if (adj_fs_blocks(di[i].bneeded) > di[i].bavail)
+ psAppend(probs, RPMPROB_DISKSPACE, fi->ap->key, fi->ap->h,
+ filesystems[i], NULL,
+ (adj_fs_blocks(di[i].bneeded) - di[i].bavail) * di[i].bsize);
+ if (adj_fs_blocks(di[i].ineeded) > di[i].iavail)
+ psAppend(probs, RPMPROB_DISKNODES, fi->ap->key, fi->ap->h,
filesystems[i], NULL,
- (adj_fs_blocks(di[i].needed) - di[i].avail) * di[i].block);
+ (adj_fs_blocks(di[i].ineeded) - di[i].iavail));
}
break;
case TR_REMOVED:
diff --git a/po/rpm.pot b/po/rpm.pot
index 3f618bb02..70247c3c9 100644
--- a/po/rpm.pot
+++ b/po/rpm.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-09-29 14:55-0400\n"
+"POT-Creation-Date: 2000-10-20 12:42-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"
@@ -503,19 +503,19 @@ msgid ""
"options as -q"
msgstr ""
-#: rpm.c:376 rpm.c:418 rpm.c:453 rpmqv.c:487 rpmqv.c:533 rpmqv.c:567
+#: rpm.c:376 rpm.c:418 rpm.c:453 rpmqv.c:487 rpmqv.c:535 rpmqv.c:569
msgid "do not verify package dependencies"
msgstr ""
-#: rpm.c:378 rpmqv.c:489
+#: rpm.c:378 rpmqv.c:491
msgid "do not verify file md5 checksums"
msgstr ""
-#: rpm.c:380 rpmqv.c:491
+#: rpm.c:380 rpmqv.c:489
msgid "do not verify file attributes"
msgstr ""
-#: rpm.c:382 rpmqv.c:494
+#: rpm.c:382 rpmqv.c:496
msgid "list the tags that can be used in a query format"
msgstr ""
@@ -527,7 +527,7 @@ msgstr ""
msgid " -i <packagefile> "
msgstr ""
-#: rpm.c:387 rpmqv.c:508
+#: rpm.c:387 rpmqv.c:510
msgid "install package"
msgstr ""
@@ -543,11 +543,11 @@ msgstr ""
msgid " --relocate <oldpath>=<newpath>"
msgstr ""
-#: rpm.c:391 rpmqv.c:545
+#: rpm.c:391 rpmqv.c:547
msgid "relocate files from <oldpath> to <newpath>"
msgstr ""
-#: rpm.c:393 rpmqv.c:513
+#: rpm.c:393 rpmqv.c:515
msgid "relocate files in non-relocateable package"
msgstr ""
@@ -555,47 +555,47 @@ msgstr ""
msgid " --prefix <dir> "
msgstr ""
-#: rpm.c:395 rpmqv.c:543
+#: rpm.c:395 rpmqv.c:545
msgid "relocate the package to <dir>, if relocatable"
msgstr ""
-#: rpm.c:399 rpmqv.c:515
+#: rpm.c:399 rpmqv.c:517
msgid "do not install documentation"
msgstr ""
-#: rpm.c:401 rpmqv.c:519
+#: rpm.c:401 rpmqv.c:521
msgid "short hand for --replacepkgs --replacefiles"
msgstr ""
-#: rpm.c:403 rpmqv.c:521
+#: rpm.c:403 rpmqv.c:523
msgid "print hash marks as package installs (good with -v)"
msgstr ""
-#: rpm.c:405 rpmqv.c:510
+#: rpm.c:405 rpmqv.c:512
msgid "install all files, even configurations which might otherwise be skipped"
msgstr ""
-#: rpm.c:408 rpmqv.c:523
+#: rpm.c:408 rpmqv.c:525
msgid "don't verify package architecture"
msgstr ""
-#: rpm.c:410 rpmqv.c:525
+#: rpm.c:410 rpmqv.c:527
msgid "don't check disk space before installing"
msgstr ""
-#: rpm.c:412 rpmqv.c:527
+#: rpm.c:412 rpmqv.c:529
msgid "don't verify package operating system"
msgstr ""
-#: rpm.c:414 rpmqv.c:529
+#: rpm.c:414 rpmqv.c:531
msgid "install documentation"
msgstr ""
-#: rpm.c:416 rpm.c:451 rpmqv.c:531 rpmqv.c:565
+#: rpm.c:416 rpm.c:451 rpmqv.c:533 rpmqv.c:567
msgid "update the database, but do not modify the filesystem"
msgstr ""
-#: rpm.c:420 rpm.c:455 rpmqv.c:535 rpmqv.c:569
+#: rpm.c:420 rpm.c:455 rpmqv.c:537 rpmqv.c:571
msgid "do not reorder package installation to satisfy dependencies"
msgstr ""
@@ -603,23 +603,23 @@ msgstr ""
msgid "don't execute any installation scripts"
msgstr ""
-#: rpm.c:424 rpm.c:459 rpmqv.c:573
+#: rpm.c:424 rpm.c:459 rpmqv.c:575
msgid "don't execute any scripts triggered by this package"
msgstr ""
-#: rpm.c:426 rpmqv.c:541
+#: rpm.c:426 rpmqv.c:543
msgid "print percentages as package installs"
msgstr ""
-#: rpm.c:428 rpmqv.c:547
+#: rpm.c:428 rpmqv.c:549
msgid "install even if the package replaces installed files"
msgstr ""
-#: rpm.c:430 rpmqv.c:549
+#: rpm.c:430 rpmqv.c:551
msgid "reinstall if the package is already present"
msgstr ""
-#: rpm.c:434 rpmqv.c:551
+#: rpm.c:434 rpmqv.c:553
msgid "don't install, but tell if it would work or not"
msgstr ""
@@ -631,11 +631,11 @@ msgstr ""
msgid " -U <packagefile> "
msgstr ""
-#: rpm.c:439 rpmqv.c:555
+#: rpm.c:439 rpmqv.c:557
msgid "upgrade package (same options as --install, plus)"
msgstr ""
-#: rpm.c:441 rpmqv.c:557
+#: rpm.c:441 rpmqv.c:559
msgid ""
"upgrade to an old version of the package (--force on upgrades does this "
"automatically)"
@@ -645,17 +645,17 @@ msgstr ""
msgid " --erase <package>"
msgstr ""
-#: rpm.c:445 rpmqv.c:561
+#: rpm.c:445 rpmqv.c:563
msgid "erase (uninstall) package"
msgstr ""
-#: rpm.c:447 rpmqv.c:563
+#: rpm.c:447 rpmqv.c:565
msgid ""
"remove all packages which match <package> (normally an error is generated if "
"<package> specified multiple packages)"
msgstr ""
-#: rpm.c:457 rpmqv.c:571
+#: rpm.c:457 rpmqv.c:573
msgid "do not execute any package specific scripts"
msgstr ""
@@ -667,52 +667,52 @@ msgstr ""
msgid " -t<stage> <tarball> "
msgstr ""
-#: rpm.c:465 rpmqv.c:580
+#: rpm.c:465 rpmqv.c:582
msgid "build package, where <stage> is one of:"
msgstr ""
-#: rpm.c:467 rpmqv.c:582
+#: rpm.c:467 rpmqv.c:584
msgid "prep (unpack sources and apply patches)"
msgstr ""
-#: rpm.c:469 rpmqv.c:584
+#: rpm.c:469 rpmqv.c:586
#, c-format
msgid "list check (do some cursory checks on %files)"
msgstr ""
-#: rpm.c:471 rpmqv.c:586
+#: rpm.c:471 rpmqv.c:588
msgid "compile (prep and compile)"
msgstr ""
-#: rpm.c:473 rpmqv.c:588
+#: rpm.c:473 rpmqv.c:590
msgid "install (prep, compile, install)"
msgstr ""
-#: rpm.c:475 rpmqv.c:590
+#: rpm.c:475 rpmqv.c:592
msgid "binary package (prep, compile, install, package)"
msgstr ""
-#: rpm.c:477 rpmqv.c:592
+#: rpm.c:477 rpmqv.c:594
msgid "bin/src package (prep, compile, install, package)"
msgstr ""
-#: lib/poptBT.c:156 rpm.c:479 rpmqv.c:596
+#: lib/poptBT.c:156 rpm.c:479 rpmqv.c:598
msgid "skip straight to specified stage (only for c,i)"
msgstr ""
-#: lib/poptBT.c:146 rpm.c:481 rpmqv.c:598
+#: lib/poptBT.c:146 rpm.c:481 rpmqv.c:600
msgid "remove build tree when done"
msgstr ""
-#: lib/poptBT.c:152 rpm.c:483 rpmqv.c:600
+#: lib/poptBT.c:152 rpm.c:483 rpmqv.c:602
msgid "remove sources when done"
msgstr ""
-#: rpm.c:485 rpmqv.c:602
+#: rpm.c:485 rpmqv.c:604
msgid "remove spec file when done"
msgstr ""
-#: rpm.c:487 rpmqv.c:604
+#: rpm.c:487 rpmqv.c:606
msgid "generate PGP/GPG signature"
msgstr ""
@@ -720,7 +720,7 @@ msgstr ""
msgid " --buildroot <dir> "
msgstr ""
-#: rpm.c:489 rpmqv.c:606
+#: rpm.c:489 rpmqv.c:608
msgid "use <dir> as the build root"
msgstr ""
@@ -728,11 +728,11 @@ msgstr ""
msgid " --target=<platform>+"
msgstr ""
-#: rpm.c:491 rpmqv.c:608
+#: rpm.c:491 rpmqv.c:610
msgid "build the packages for the build targets platform1...platformN."
msgstr ""
-#: rpm.c:493 rpmqv.c:610
+#: rpm.c:493 rpmqv.c:612
msgid "do not execute any stages"
msgstr ""
@@ -748,7 +748,7 @@ msgstr ""
msgid " --rebuild <src_pkg> "
msgstr ""
-#: rpm.c:498 rpmqv.c:613
+#: rpm.c:498 rpmqv.c:615
msgid ""
"install source package, build binary package and remove spec file, sources, "
"patches, and icons."
@@ -758,7 +758,7 @@ msgstr ""
msgid " --recompile <src_pkg> "
msgstr ""
-#: rpm.c:500 rpmqv.c:615
+#: rpm.c:500 rpmqv.c:617
msgid "like --rebuild, but don't build any package"
msgstr ""
@@ -766,7 +766,7 @@ msgstr ""
msgid " --resign <pkg>+ "
msgstr ""
-#: rpm.c:504 rpmqv.c:621
+#: rpm.c:504 rpmqv.c:623
msgid "sign a package (discard current signature)"
msgstr ""
@@ -774,7 +774,7 @@ msgstr ""
msgid " --addsign <pkg>+ "
msgstr ""
-#: rpm.c:506 rpmqv.c:623
+#: rpm.c:506 rpmqv.c:625
msgid "add a signature to a package"
msgstr ""
@@ -786,19 +786,19 @@ msgstr ""
msgid " -K <pkg>+ "
msgstr ""
-#: rpm.c:509 rpmqv.c:627
+#: rpm.c:509 rpmqv.c:629
msgid "verify package signature"
msgstr ""
-#: rpm.c:511 rpmqv.c:629
+#: rpm.c:511 rpmqv.c:631
msgid "skip any PGP signatures"
msgstr ""
-#: rpm.c:513 rpmqv.c:631
+#: rpm.c:513 rpmqv.c:633
msgid "skip any GPG signatures"
msgstr ""
-#: rpm.c:515 rpmqv.c:633
+#: rpm.c:515 rpmqv.c:635
msgid "skip any MD5 signatures"
msgstr ""
@@ -810,50 +810,50 @@ msgstr ""
msgid "rebuild database from existing database"
msgstr ""
-#: rpm.c:529 rpmqv.c:496
+#: rpm.c:529 rpmqv.c:498
msgid ""
"set the file permissions to those in the package database using the same "
"package specification options as -q"
msgstr ""
-#: rpm.c:532 rpmqv.c:499
+#: rpm.c:532 rpmqv.c:501
msgid ""
"set the file owner and group to those in the package database using the same "
"package specification options as -q"
msgstr ""
#: rpm.c:670 rpm.c:676 rpm.c:685 rpm.c:707 rpm.c:713 rpm.c:720 rpm.c:728
-#: rpm.c:736 rpm.c:757 rpm.c:820 rpmqv.c:821 rpmqv.c:830 rpmqv.c:836
-#: rpmqv.c:842 rpmqv.c:849 rpmqv.c:884 rpmqv.c:892 rpmqv.c:898 rpmqv.c:906
-#: rpmqv.c:974
+#: rpm.c:736 rpm.c:757 rpm.c:820 rpmqv.c:823 rpmqv.c:832 rpmqv.c:838
+#: rpmqv.c:844 rpmqv.c:851 rpmqv.c:886 rpmqv.c:894 rpmqv.c:900 rpmqv.c:908
+#: rpmqv.c:976
msgid "only one major mode may be specified"
msgstr ""
-#: rpm.c:678 rpmqv.c:823
+#: rpm.c:678 rpmqv.c:825
msgid "-u and --uninstall are deprecated and no longer work.\n"
msgstr ""
-#: rpm.c:680 rpmqv.c:825
+#: rpm.c:680 rpmqv.c:827
msgid "Use -e or --erase instead.\n"
msgstr ""
-#: rpm.c:763 rpmqv.c:868
+#: rpm.c:763 rpmqv.c:870
msgid "relocations must begin with a /"
msgstr ""
-#: rpm.c:765 rpmqv.c:870
+#: rpm.c:765 rpmqv.c:872
msgid "relocations must contain a ="
msgstr ""
-#: rpm.c:768 rpmqv.c:873
+#: rpm.c:768 rpmqv.c:875
msgid "relocations must have a / following the ="
msgstr ""
-#: rpm.c:777 rpmqv.c:857
+#: rpm.c:777 rpmqv.c:859
msgid "exclude paths must begin with a /"
msgstr ""
-#: rpm.c:786 rpmqv.c:927
+#: rpm.c:786 rpmqv.c:929
msgid "The --rcfile option has been eliminated.\n"
msgstr ""
@@ -861,105 +861,105 @@ msgstr ""
msgid "Use --macros with a colon separated list of macro files to read.\n"
msgstr ""
-#: rpm.c:792 rpmqv.c:933
+#: rpm.c:792 rpmqv.c:935
#, c-format
msgid "Internal error in argument processing (%d) :-(\n"
msgstr ""
-#: rpm.c:827 rpmqv.c:989
+#: rpm.c:827 rpmqv.c:991
msgid "one type of query/verify may be performed at a time"
msgstr ""
-#: rpm.c:832 rpmqv.c:993
+#: rpm.c:832 rpmqv.c:995
msgid "unexpected query flags"
msgstr ""
-#: rpm.c:835 rpmqv.c:996
+#: rpm.c:835 rpmqv.c:998
msgid "unexpected query format"
msgstr ""
-#: rpm.c:838 rpmqv.c:999
+#: rpm.c:838 rpmqv.c:1001
msgid "unexpected query source"
msgstr ""
-#: rpm.c:841 rpmqv.c:1019
+#: rpm.c:841 rpmqv.c:1021
msgid "only installation, upgrading, rmsource and rmspec may be forced"
msgstr ""
-#: rpm.c:844 rpmqv.c:1024
+#: rpm.c:844 rpmqv.c:1026
msgid "files may only be relocated during package installation"
msgstr ""
-#: rpm.c:847 rpmqv.c:1027
+#: rpm.c:847 rpmqv.c:1029
msgid "only one of --prefix or --relocate may be used"
msgstr ""
-#: rpm.c:850 rpmqv.c:1030
+#: rpm.c:850 rpmqv.c:1032
msgid ""
"--relocate and --excludepath may only be used when installing new packages"
msgstr ""
-#: rpm.c:853 rpmqv.c:1033
+#: rpm.c:853 rpmqv.c:1035
msgid "--prefix may only be used when installing new packages"
msgstr ""
-#: rpm.c:856 rpmqv.c:1036
+#: rpm.c:856 rpmqv.c:1038
msgid "arguments to --prefix must begin with a /"
msgstr ""
-#: rpm.c:859 rpmqv.c:1039
+#: rpm.c:859 rpmqv.c:1041
msgid "--hash (-h) may only be specified during package installation"
msgstr ""
-#: rpm.c:863 rpmqv.c:1043
+#: rpm.c:863 rpmqv.c:1045
msgid "--percent may only be specified during package installation"
msgstr ""
-#: rpm.c:867 rpmqv.c:1047
+#: rpm.c:867 rpmqv.c:1049
msgid "--replacefiles may only be specified during package installation"
msgstr ""
-#: rpm.c:871 rpmqv.c:1051
+#: rpm.c:871 rpmqv.c:1053
msgid "--replacepkgs may only be specified during package installation"
msgstr ""
-#: rpm.c:875 rpmqv.c:1055
+#: rpm.c:875 rpmqv.c:1057
msgid "--excludedocs may only be specified during package installation"
msgstr ""
-#: rpm.c:879 rpmqv.c:1059
+#: rpm.c:879 rpmqv.c:1061
msgid "--includedocs may only be specified during package installation"
msgstr ""
-#: rpm.c:883 rpmqv.c:1063
+#: rpm.c:883 rpmqv.c:1065
msgid "only one of --excludedocs and --includedocs may be specified"
msgstr ""
-#: rpm.c:887 rpmqv.c:1067
+#: rpm.c:887 rpmqv.c:1069
msgid "--ignorearch may only be specified during package installation"
msgstr ""
-#: rpm.c:891 rpmqv.c:1071
+#: rpm.c:891 rpmqv.c:1073
msgid "--ignoreos may only be specified during package installation"
msgstr ""
-#: rpm.c:895 rpmqv.c:1075
+#: rpm.c:895 rpmqv.c:1077
msgid "--ignoresize may only be specified during package installation"
msgstr ""
-#: rpm.c:899 rpmqv.c:1079
+#: rpm.c:899 rpmqv.c:1081
msgid "--allmatches may only be specified during package erasure"
msgstr ""
-#: rpm.c:903 rpmqv.c:1083
+#: rpm.c:903 rpmqv.c:1085
msgid "--allfiles may only be specified during package installation"
msgstr ""
-#: rpm.c:907 rpmqv.c:1087
+#: rpm.c:907 rpmqv.c:1089
msgid "--justdb may only be specified during package installation and erasure"
msgstr ""
-#: rpm.c:912 rpmqv.c:1094
+#: rpm.c:912 rpmqv.c:1096
msgid ""
"--noscripts may only be specified during package installation, erasure, and "
"verification"
@@ -971,115 +971,115 @@ msgid ""
"verification"
msgstr ""
-#: rpm.c:920 rpmqv.c:1106
+#: rpm.c:920 rpmqv.c:1108
msgid ""
"--nodeps may only be specified during package building, rebuilding, "
"recompilation, installation,erasure, and verification"
msgstr ""
-#: rpm.c:925 rpmqv.c:1111
+#: rpm.c:925 rpmqv.c:1113
msgid ""
"--test may only be specified during package installation, erasure, and "
"building"
msgstr ""
-#: rpm.c:929 rpmqv.c:1116
+#: rpm.c:929 rpmqv.c:1118
msgid ""
"--root (-r) may only be specified during installation, erasure, querying, "
"and database rebuilds"
msgstr ""
-#: rpm.c:941 rpmqv.c:1128
+#: rpm.c:941 rpmqv.c:1130
msgid "arguments to --root (-r) must begin with a /"
msgstr ""
-#: rpm.c:947 rpmqv.c:1135
+#: rpm.c:947 rpmqv.c:1137
msgid "--oldpackage may only be used during upgrades"
msgstr ""
-#: rpm.c:950 rpmqv.c:1140
+#: rpm.c:950 rpmqv.c:1142
msgid "--nopgp may only be used during signature checking"
msgstr ""
-#: rpm.c:953 rpmqv.c:1143
+#: rpm.c:953 rpmqv.c:1145
msgid "--nogpg may only be used during signature checking"
msgstr ""
-#: rpm.c:956 rpmqv.c:1148
+#: rpm.c:956 rpmqv.c:1150
msgid ""
"--nomd5 may only be used during signature checking and package verification"
msgstr ""
-#: rpm.c:967 rpmqv.c:1161
+#: rpm.c:967 rpmqv.c:1163
msgid "no files to sign\n"
msgstr ""
-#: rpm.c:972 rpmqv.c:1166
+#: rpm.c:972 rpmqv.c:1168
#, c-format
msgid "cannot access file %s\n"
msgstr ""
-#: rpm.c:987 rpmqv.c:1182
+#: rpm.c:987 rpmqv.c:1184
msgid "pgp not found: "
msgstr ""
-#: rpm.c:991 rpmqv.c:1186
+#: rpm.c:991 rpmqv.c:1188
msgid "Enter pass phrase: "
msgstr ""
-#: rpm.c:993 rpmqv.c:1188
+#: rpm.c:993 rpmqv.c:1190
msgid "Pass phrase check failed\n"
msgstr ""
-#: rpm.c:996 rpmqv.c:1191
+#: rpm.c:996 rpmqv.c:1193
msgid "Pass phrase is good.\n"
msgstr ""
-#: rpm.c:1001 rpmqv.c:1196
+#: rpm.c:1001 rpmqv.c:1198
msgid "Invalid %%_signature spec in macro file.\n"
msgstr ""
-#: rpm.c:1007 rpmqv.c:1202
+#: rpm.c:1007 rpmqv.c:1204
msgid "--sign may only be used during package building"
msgstr ""
-#: rpm.c:1022 rpmqv.c:1218
+#: rpm.c:1022 rpmqv.c:1220
msgid "exec failed\n"
msgstr ""
-#: rpm.c:1041 rpmqv.c:1487
+#: rpm.c:1041 rpmqv.c:1489
msgid "unexpected arguments to --querytags "
msgstr ""
-#: rpm.c:1052 rpmqv.c:1509
+#: rpm.c:1052 rpmqv.c:1511
msgid "no packages given for signature check"
msgstr ""
-#: rpm.c:1063 rpmqv.c:1520
+#: rpm.c:1063 rpmqv.c:1522
msgid "no packages given for signing"
msgstr ""
-#: rpm.c:1079 rpmqv.c:1359
+#: rpm.c:1079 rpmqv.c:1361
msgid "no packages given for uninstall"
msgstr ""
-#: rpm.c:1130 rpmqv.c:1410
+#: rpm.c:1130 rpmqv.c:1412
msgid "no packages given for install"
msgstr ""
-#: rpm.c:1153 rpmqv.c:1450
+#: rpm.c:1153 rpmqv.c:1452
msgid "extra arguments given for query of all packages"
msgstr ""
-#: rpm.c:1158 rpmqv.c:1455
+#: rpm.c:1158 rpmqv.c:1457
msgid "no arguments given for query"
msgstr ""
-#: rpm.c:1175 rpmqv.c:1475
+#: rpm.c:1175 rpmqv.c:1477
msgid "extra arguments given for verify of all packages"
msgstr ""
-#: rpm.c:1179 rpmqv.c:1479
+#: rpm.c:1179 rpmqv.c:1481
msgid "no arguments given for verify"
msgstr ""
@@ -1370,124 +1370,128 @@ msgstr ""
msgid "show the trigger scriptlets contained in the package"
msgstr ""
-#: rpmqv.c:506
+#: rpmqv.c:493
+msgid "do not execute verify script (if any)"
+msgstr ""
+
+#: rpmqv.c:508
msgid " --install <packagefile>"
msgstr ""
-#: rpmqv.c:507
+#: rpmqv.c:509
msgid " -i <packagefile> "
msgstr ""
-#: rpmqv.c:516
+#: rpmqv.c:518
msgid " --excludepath <path> "
msgstr ""
-#: rpmqv.c:517
+#: rpmqv.c:519
msgid "skip files with leading component <path> "
msgstr ""
-#: rpmqv.c:537
+#: rpmqv.c:539
msgid "don't execute any installation scriptlets"
msgstr ""
-#: rpmqv.c:539
+#: rpmqv.c:541
msgid "don't execute any scriptlets triggered by this package"
msgstr ""
-#: rpmqv.c:542
+#: rpmqv.c:544
msgid " --prefix <dir> "
msgstr ""
-#: rpmqv.c:544
+#: rpmqv.c:546
msgid " --relocate <oldpath>=<newpath>"
msgstr ""
-#: rpmqv.c:553
+#: rpmqv.c:555
msgid " --upgrade <packagefile>"
msgstr ""
-#: rpmqv.c:554
+#: rpmqv.c:556
msgid " -U <packagefile> "
msgstr ""
-#: rpmqv.c:559
+#: rpmqv.c:561
msgid " --erase <package>"
msgstr ""
-#: rpmqv.c:578
+#: rpmqv.c:580
msgid " -b<stage> <spec> "
msgstr ""
-#: rpmqv.c:579
+#: rpmqv.c:581
msgid " -t<stage> <tarball> "
msgstr ""
-#: rpmqv.c:594
+#: rpmqv.c:596
msgid "package src rpm only"
msgstr ""
-#: rpmqv.c:605
+#: rpmqv.c:607
msgid " --buildroot <dir> "
msgstr ""
-#: rpmqv.c:607
+#: rpmqv.c:609
msgid " --target=<platform>+ "
msgstr ""
-#: rpmqv.c:612
+#: rpmqv.c:614
msgid " --rebuild <src_pkg> "
msgstr ""
-#: rpmqv.c:614
+#: rpmqv.c:616
msgid " --recompile <src_pkg> "
msgstr ""
-#: rpmqv.c:620
+#: rpmqv.c:622
msgid " --resign <pkg>+ "
msgstr ""
-#: rpmqv.c:622
+#: rpmqv.c:624
msgid " --addsign <pkg>+ "
msgstr ""
-#: rpmqv.c:625
+#: rpmqv.c:627
msgid " --checksig <pkg>+"
msgstr ""
-#: rpmqv.c:626
+#: rpmqv.c:628
msgid " -K <pkg>+ "
msgstr ""
-#: rpmqv.c:639
+#: rpmqv.c:641
msgid "initalize database (unnecessary, legacy use)"
msgstr ""
-#: rpmqv.c:641
+#: rpmqv.c:643
msgid "rebuild database indices from existing database headers"
msgstr ""
-#: rpmqv.c:928
+#: rpmqv.c:930
msgid "Use \"--macros <file:...>\" instead..\n"
msgstr ""
-#: rpmqv.c:1003
+#: rpmqv.c:1005
msgid "--dbpath given for operation that does not use a database"
msgstr ""
-#: rpmqv.c:1100
+#: rpmqv.c:1102
msgid ""
"--notriggers may only be specified during package installation and erasure"
msgstr ""
-#: rpmqv.c:1258
+#: rpmqv.c:1260
msgid "no packages files given for rebuild"
msgstr ""
-#: rpmqv.c:1327
+#: rpmqv.c:1329
msgid "no spec files given for build"
msgstr ""
-#: rpmqv.c:1329
+#: rpmqv.c:1331
msgid "no tar files given for build"
msgstr ""
@@ -2485,26 +2489,26 @@ msgstr ""
msgid "(not a number)"
msgstr ""
-#: lib/fs.c:60
+#: lib/fs.c:67
#, c-format
msgid "mntctl() failed to return fugger size: %s"
msgstr ""
-#: lib/fs.c:95 lib/fs.c:265
+#: lib/fs.c:102 lib/fs.c:285
#, c-format
msgid "failed to stat %s: %s"
msgstr ""
-#: lib/fs.c:131
+#: lib/fs.c:145
msgid "getting list of mounted filesystems\n"
msgstr ""
-#: lib/fs.c:136
+#: lib/fs.c:150
#, c-format
msgid "failed to open %s: %s"
msgstr ""
-#: lib/fs.c:287
+#: lib/fs.c:307
#, c-format
msgid "file %s is on an unknown device"
msgstr ""
@@ -2645,48 +2649,48 @@ msgstr ""
msgid "spec file in: %s\n"
msgstr ""
-#: lib/install.c:751 lib/install.c:779
+#: lib/install.c:749 lib/install.c:777
msgid "source package contains no .spec file"
msgstr ""
-#: lib/install.c:801
+#: lib/install.c:795
#, c-format
msgid "renaming %s to %s\n"
msgstr ""
-#: lib/install.c:803 lib/install.c:1071 lib/uninstall.c:40
+#: lib/install.c:797 lib/install.c:1062 lib/uninstall.c:40
#, c-format
msgid "rename of %s to %s failed: %s"
msgstr ""
-#: lib/install.c:893
+#: lib/install.c:887
msgid "source package expected, binary found"
msgstr ""
-#: lib/install.c:940
+#: lib/install.c:933
#, c-format
msgid "package: %s-%s-%s files test = %d\n"
msgstr ""
-#: lib/install.c:1000
+#: lib/install.c:993
msgid "stopping install as we're running --test\n"
msgstr ""
-#: lib/install.c:1005
+#: lib/install.c:998
msgid "running preinstall script (if any)\n"
msgstr ""
-#: lib/install.c:1030
+#: lib/install.c:1022
#, c-format
msgid "warning: %s created as %s"
msgstr ""
-#: lib/install.c:1067
+#: lib/install.c:1058
#, c-format
msgid "warning: %s saved as %s"
msgstr ""
-#: lib/install.c:1155
+#: lib/install.c:1147
msgid "running postinstall scripts (if any)\n"
msgstr ""
@@ -2925,10 +2929,15 @@ msgstr ""
#: lib/problems.c:151
#, c-format
+msgid "installing package %s-%s-%s needs %ld inodes on the %s filesystem"
+msgstr ""
+
+#: lib/problems.c:158
+#, c-format
msgid "package %s-%s-%s pre-transaction syscall(s): %s failed: %s"
msgstr ""
-#: lib/problems.c:159
+#: lib/problems.c:166
#, c-format
msgid "unknown error %d encountered while manipulating package %s-%s-%s"
msgstr ""
@@ -3666,27 +3675,27 @@ msgstr ""
msgid "You must set \"%%_pgp_name\" in your macro file"
msgstr ""
-#: lib/transaction.c:425
+#: lib/transaction.c:420
#, c-format
msgid "excluding file %s%s\n"
msgstr ""
-#: lib/transaction.c:451 lib/transaction.c:534
+#: lib/transaction.c:446 lib/transaction.c:529
#, c-format
msgid "excluding directory %s\n"
msgstr ""
-#: lib/transaction.c:456
+#: lib/transaction.c:451
#, c-format
msgid "relocating %s to %s\n"
msgstr ""
-#: lib/transaction.c:527
+#: lib/transaction.c:522
#, c-format
msgid "relocating directory %s to %s\n"
msgstr ""
-#: lib/transaction.c:679
+#: lib/transaction.c:674
#, c-format
msgid "%s skipped due to missingok flag\n"
msgstr ""