On Fri, Jul 22, 2011 at 10:06:27AM +0300, Panu Matilainen wrote: > Yup, that and the recursing bug make 4.9.1 a brown paperbag release :-/ > I'll try to get 4.9.1.1 (or something) out soonish, in the meanwhile > 4.9.1 is probably best avoided because of these issues.
Here's another patch for 4.9.1.1: With the change in the defattr handling (commit 09efbe96), you also need to save the current defattr setting when processing %doc. Otherwise doc files will just get the value from the latest defattr line. --- ./build/files.c.orig 2011-07-26 17:08:21.000000000 +0000 +++ ./build/files.c 2011-07-26 17:08:39.000000000 +0000 @@ -1735,11 +1735,13 @@ static rpmRC processPackageFiles(rpmSpec struct FileList_s fl; const char *fileName; char buf[BUFSIZ]; - struct AttrRec_s arbuf; + struct AttrRec_s arbuf, def_arbuf; AttrRec specialDocAttrRec = &arbuf; + AttrRec def_specialDocAttrRec = &def_arbuf; char *specialDoc = NULL; nullAttrRec(specialDocAttrRec); + nullAttrRec(def_specialDocAttrRec); pkg->cpioList = NULL; if (pkg->fileFile) { @@ -1877,6 +1879,7 @@ static rpmRC processPackageFiles(rpmSpec specialDoc = _free(specialDoc); specialDoc = xstrdup(fileName); dupAttrRec(&fl.cur_ar, specialDocAttrRec); + dupAttrRec(&fl.def_ar, def_specialDocAttrRec); } else if (fl.currentFlags & RPMFILE_PUBKEY) { (void) processMetadataFile(pkg, &fl, fileName, RPMTAG_PUBKEYS); } else { @@ -1917,7 +1920,9 @@ static rpmRC processPackageFiles(rpmSpec fl.nLangs = 0; dupAttrRec(specialDocAttrRec, &fl.cur_ar); + dupAttrRec(def_specialDocAttrRec, &fl.def_ar); freeAttrRec(specialDocAttrRec); + freeAttrRec(def_specialDocAttrRec); (void) processBinaryFile(pkg, &fl, specialDoc); Cheers, Michael. -- Michael Schroeder m...@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} _______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint