diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2008-09-16 12:03:26 +0300 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2008-09-18 08:50:22 +0300 |
commit | 7739cb6fffb2371266371ec58486a3cde4fca155 (patch) | |
tree | 6396f955304263107b9a0c4f955535d5f3a47c4f | |
parent | 2b82ada80fd8352abadb3bb1fcd4c64961abed3b (diff) | |
download | rpm-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.c | 18 |
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@*/ |