summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2008-09-16 12:03:26 +0300
committerPanu Matilainen <pmatilai@redhat.com>2008-09-18 08:50:22 +0300
commit7739cb6fffb2371266371ec58486a3cde4fca155 (patch)
tree6396f955304263107b9a0c4f955535d5f3a47c4f
parent2b82ada80fd8352abadb3bb1fcd4c64961abed3b (diff)
downloadrpm-7739cb6fffb2371266371ec58486a3cde4fca155.tar.gz
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...
-rw-r--r--build/files.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/build/files.c b/build/files.c
index 83f67cd3b..d58c88b69 100644
--- a/build/files.c
+++ b/build/files.c
@@ -1358,14 +1358,8 @@ static void genCpioListAndHeader(/*@partial@*/ 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 */
@@ -1467,6 +1461,14 @@ static void genCpioListAndHeader(/*@partial@*/ FileList fl,
fi = rpmfiFree(fi);
/*@=branchstate =compdef@*/
}
+
+ /* 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");
+ }
}
/*@=bounds@*/