Bug 1088001 - Rebuilding thunderbird from rawhide generates broken dep: Requires: libxul.so(xul24)(64bit)
Summary: Rebuilding thunderbird from rawhide generates broken dep: Requires: libxul.so...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: thunderbird
Version: rawhide
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Gecko Maintainer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1091295 (view as bug list)
Depends On:
Blocks: F-ExcludeArch-ppc64le, PPC64LETracker
TreeView+ depends on / blocked
 
Reported: 2014-04-15 19:44 UTC by Gustavo Luiz Duarte
Modified: 2014-05-06 14:55 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-05-06 09:50:01 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Use newline separator on find-provides input (362 bytes, patch)
2014-04-15 19:49 UTC, Gustavo Luiz Duarte
no flags Details | Diff

Description Gustavo Luiz Duarte 2014-04-15 19:44:01 UTC
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.

Comment 1 Gustavo Luiz Duarte 2014-04-15 19:49:44 UTC
Created attachment 886622 [details]
Use newline separator on find-provides input

Minimal patch that fixes the issue described here from the thunderbird side.

Comment 2 Gustavo Luiz Duarte 2014-04-15 19:53:51 UTC
CC'ing rpm maintainer for his awareness and comments whether it is an rpm regression or expected change in find-{requires,provides} behavior.

Comment 3 poma 2014-04-26 06:37:33 UTC
Error: Package: thunderbird-24.4.0-2.fc21.i686 (rawhide) Requires: libxul.so(xul24)
https://bugzilla.redhat.com/show_bug.cgi?id=1091295

Comment 4 Adam Williamson 2014-04-30 18:05:37 UTC
*** Bug 1091295 has been marked as a duplicate of this bug. ***

Comment 5 Andre Robatino 2014-05-03 21:51:09 UTC
Adding needinfo since the rpm maintainer hasn't responded in 3 weeks.

Comment 6 Panu Matilainen 2014-05-04 08:15:55 UTC
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.

Comment 7 Jan Horak 2014-05-06 09:50:01 UTC
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.

Comment 8 Panu Matilainen 2014-05-06 10:14:47 UTC
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.

Comment 9 Jan Horak 2014-05-06 14:55:26 UTC
Okay, removed.


Note You need to log in before you can comment on or make changes to this bug.