From 0eb396d2ffa5bf89fcf76a50a2080be1c85e7ded Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 16 Sep 2008 12:03:26 +0300 Subject: [PATCH] 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... --- build/files.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/build/files.c b/build/files.c index 1a70e77..8c66032 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"); + } } /** -- 2.7.4