summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2008-09-16 12:03:26 +0300
committerPanu Matilainen <pmatilai@redhat.com>2008-09-16 12:03:26 +0300
commit0eb396d2ffa5bf89fcf76a50a2080be1c85e7ded (patch)
tree6605221a3cb4d85cd934a2d69e2f78d4a4c58993 /build
parent55fa1442f85628e75bcb21226949d8940a38b708 (diff)
downloadrpm-0eb396d2ffa5bf89fcf76a50a2080be1c85e7ded.tar.gz
rpm-0eb396d2ffa5bf89fcf76a50a2080be1c85e7ded.tar.bz2
rpm-0eb396d2ffa5bf89fcf76a50a2080be1c85e7ded.zip
Resurrect --nodirtokens build option
- this gets somewhat hysterical: we create the filelist as uncompressed, then compress it for rpmfi which only understands compressed filelist, and if nodirtokens is used, expand the list again after initializing rpmfi for cpio/fsm...
Diffstat (limited to 'build')
-rw-r--r--build/files.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/build/files.c b/build/files.c
index 1a70e7799..8c6603283 100644
--- a/build/files.c
+++ b/build/files.c
@@ -1165,14 +1165,8 @@ static void genCpioListAndHeader(FileList fl,
if (_addDotSlash)
(void) rpmlibNeedsFeature(h, "PayloadFilesHavePrefix", "4.0-1");
- /* Choose how filenames are represented. */
- if (_noDirTokens)
- expandFilelist(h);
- else {
- compressFilelist(h);
- /* Binary packages with dirNames cannot be installed by legacy rpm. */
- (void) rpmlibNeedsFeature(h, "CompressedFileNames", "3.0.4-1");
- }
+ /* rpmfi only groks compressed filelists */
+ compressFilelist(h);
{ int scareMem = 0;
rpmts ts = NULL; /* XXX FIXME drill rpmts ts all the way down here */
@@ -1267,6 +1261,14 @@ static void genCpioListAndHeader(FileList fl,
else
fi = rpmfiFree(fi);
}
+
+ /* Convert back to expanded filelist if legacy format requested */
+ if (_noDirTokens)
+ expandFilelist(h);
+ else {
+ /* Binary packages with dirNames cannot be installed by legacy rpm. */
+ (void) rpmlibNeedsFeature(h, "CompressedFileNames", "3.0.4-1");
+ }
}
/**