Rebuilding thunderbird from the master branch resulted in a package with broken dependencies. Although I found this on the ppc64le bootstrap, I verified this is a general issue impacting all architectures. Here is the error message trying to install the generated package: Error: Package: thunderbird-24.4.0-1.1.fc21.ppc64le (build) Requires: libxul.so(xul24)(64bit) I investigated this further and it turns out this issue was introduced by rpm-4.11.2-5.fc21 when they switched from find-{requires,provides} scripts to rpmdeps wrappers. The old scripts used to recognize as a valid input a list of files separated by space, while rpmdeps fails to recognize it as a valid input. Here is a reproducer: # echo "/bin/cat /bin/sed" | /lib/rpm/find-requires warning: Recognition of file "/bin/cat /bin/sed" failed: mode 000000 cannot open `/bin/cat /bin/sed' (No such file or directory) I'm not sure if this is a bug on thunderbird's find-external-requires script or an rpm regression. I'm posting a patch to fix it from thunderbid side anyway.
Created attachment 886622 [details] Use newline separator on find-provides input Minimal patch that fixes the issue described here from the thunderbird side.
CC'ing rpm maintainer for his awareness and comments whether it is an rpm regression or expected change in find-{requires,provides} behavior.
Error: Package: thunderbird-24.4.0-2.fc21.i686 (rawhide) Requires: libxul.so(xul24) https://bugzilla.redhat.com/show_bug.cgi?id=1091295
*** Bug 1091295 has been marked as a duplicate of this bug. ***
Adding needinfo since the rpm maintainer hasn't responded in 3 weeks.
I get a lot of bugzilla mail, these things get easily buried in the noise. I didn't exactly expect whitespace behavior to change, but that's because I didn't remember such a difference exists between the mechanisms and the old unmaintained scripts, which Thunderbird has been relying on. That old script junk is not coming back, and neither is space as separator because its a really just an ill-fitting separator for this purpose. Instead of messing with these scripts, please update thunderbird to use the native filtering mechanism instead: http://rpm.org/wiki/PackagerDocs/DependencyGenerator https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering If you have to use the same spec for RHEL too then you could use the current script-overriding hack on RHEL <= 6 where it is indeed needed, and native filters elsewhere.
Thanks for clarification and pointing me to the right direction Panu Matilainen. This should be fixed now by thunderbird-24.5.0-2.fc21 build.
Um, not quite. You still have this: %define _use_internal_dependency_generator 0 in the thunderbird spec, which means none of the new tricks like native filtering work.
Okay, removed.