Red Hat Bugzilla – Bug 453936
spicebird Provides pollution
Last modified: 2009-01-08 00:15:39 EST
from recent fedora-devel post:
Spicebird in rawhide provides 46 sonames, which are provided by
the following other packages:
It does so for libs stored outside run-time linker's search path. This leads
to weak RPM dependencies. The worst-case scenario would be that one could
remove a required package, because RPM believes that spicebird is one
of multiple packages which satisfy the requirement.
Two examples of how the soname provides are polluted:
nss provides libssl3.so(NSS_3.2)
spicebird provides libssl3.so(NSS_3.2)
required by: adminutil - 1.1.6-1.fc10.i386
required by: evolution - 2.23.4-2.fc10.i386
required by: evolution-data-server - 2.23.4-1.fc10.i386
required by: fedora-ds-admin - 1.1.5-1.fc10.i386
required by: fedora-ds-base - 1.1.1-2.fc10.i386
required by: jss - 4.2.5-2.fc9.i386
required by: libcurl - 7.18.2-2.fc10.i386
required by: libpurple - 2.4.3-1.fc10.1.i386
required by: mailx - 12.3-0.fc10.i386
required by: mod_nss - 1.0.7-5.fc10.i386
required by: mod_revocator - 1.0.2-4.fc9.i386
required by: mozldap - 6.0.5-2.fc9.i386
required by: nss-tools - 18.104.22.168-3.fc10.i386
required by: nss_compat_ossl - 0.9.2-4.fc9.i386
required by: spicebird - 0.4-5.fc8.i386
required by: xulrunner - 1.9-1.fc10.i386
spicebird provides libxpcom.so
xulrunner provides libxpcom.so
required by: Miro - 1.2.4-2.fc10.i386
required by: blam - 1.8.3-13.fc9.i386
required by: cairo-dock-plug-ins-gecko - 1.6.1-0.1.svn1163_trunk.fc10.i386
required by: devhelp - 0.19.1-1.fc10.i386
required by: evolution-rss - 0.0.8-7.fc9.i386
required by: firefox - 3.0-1.fc10.i386
required by: galeon - 2.0.5-3.fc10.i386
required by: gnome-python2-gtkmozembed - 2.19.1-16.fc9.i386
required by: gnome-web-photo - 0.3-12.fc9.i386
required by: gnomesword - 2.3.4-2.fc10.i386
required by: gtkmozembedmm - 1.4.2.cvs20060817-20.fc9.i386
required by: libswt3-gtk2 - 1:3.3.2-12.fc9.i386
required by: mugshot - 1.2.1-1.fc10.i386
required by: ruby-gtkmozembed - 0.17.0-0.2.rc1.fc10.i386
required by: xulrunner - 1.9-1.fc10.i386
required by: xulrunner-devel - 1.9-1.fc10.i386
required by: yelp - 2.22.1-2.fc10.i386
required by: spicebird - 0.4-5.fc8.i386
And during installation of those packages, it's only the "shortest pkg name
wins" in Yum depsolving, which protects us from problems. Plus explicit deps
on specific pkg names.
Looks like some Provides/Requires need filtering (since spicebird is including
it's own mozilla sources/build).
/me slaps forehead, sorry, I should have caught that during the pkg review.
Looks like a dupe of bug 224544 to me. Although it really shouldn't have private
copies of the libs in the first place.
Ignacio, it's related, but not duplicate. In other packages this
has created real depsolving problems several times before. The full
fix in rpmbuild would need more than only changing find-provides.
It would also be necessary to teach find-requires how to distinguish
between external and internal dependencies (and filter out the latter).
On fedora-devel-list Chris Aillon has pointed to a script that
can be used to filter out the internal soname provides+requires.
If it works in thunderbird, no need to reinvent the wheel:
We are working with Thunderbird folks to make Thunderbird and Spicebird run on
xulrunner. This non-trivial task will happen mostly in the time frame of
Thunderbird 3.0 and Spicebird 1.0. Until then depending on xulrunner is not
possible. Spicebird will continue to use Mozilla internal api which means it has
be built along with Mozilla source.
Hence, Spicebird has to be built in the similar way Thunderbird is built. It can
use system nspr and nss libraries. Rest of the libraries that are built will be
specific to Spicebird and will reside in /usr/lib/spicebird and spicebird
package itself will not provide any libraries to be used by other packages.
I tried to create a patch for the problem but could not find the .spec and other
files in the cvs looking here:
http://cvs.fedora.redhat.com/viewcvs/devel/?root=core Am I looking at the wrong
fyi, spicebird is currently only built for F-8, so the "devel" branch is empty
(we should probably rectify that). In the meantime, peruse:
Steven kindly sent me the spec file. I've sent him a patch to fix this problem.
There are also improvements possible on using system libraries and removing
developer specific files.
Ping, is this resolved or still an issue?
Still an issue, the current release is not compatible with gcc 4.3. Waiting for beta .7 which hopefully will resolve the issues. No ETA atm.
Any news on this?
It would be nice to get spicebird in F9/F10/rawhide...
and f8 will soon be end of life. ;(
They just released beta .7 this week. Will start working it up. Hopefully it will compile with the current gcc the last beta would not.
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '8'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 8's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 8 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Created attachment 327882 [details]
Spicebird spec file, misc source files, patches working on f10
I made a first cut version of Spicebird build for Fedora 10. Attached are the files.
I did this based on Thunderbird RPM work. The files list, dependencies, build dependencies, l10n work, rh preferences, basic build steps etc. are fairly complete. I also included a patch for max path length related buffer overflows in upstream mozilla code.
I'd also like to fix any PPC, PPC64 build errors for bugs #447804 and #447805. I don't have the setup here. Can I get the failed build logs?
Bugzilla messed up your attachment, can you email me the attachment and I'll do some test builds today. I'll also send you the PPC and PPC64 logs once I try a build. Also thanks for doing this, it was on my list of things to do over the holiday and you saved me alot of time.
(In reply to comment #13)
> Bugzilla messed up your attachment,
I checked the patch flag by mistake. I fixed it.
spicebird-0.7-1.fc10 has been submitted as an update for Fedora 10.
Thanks for getting it built. ;)
2 (probibly related) issues I see with the build:
- It looks like it's not using the normal fedora CFLAGS later in the build.
Possibly the c++ flags.
- debuginfo is empty. Probibly because it's not building with debug symbols.
Created attachment 327919 [details]
Untested patch that should fix debugsyms and cflags problem
(In reply to comment #16)
> Thanks for getting it built. ;)
> 2 (probibly related) issues I see with the build:
> - It looks like it's not using the normal fedora CFLAGS later in the build.
> Possibly the c++ flags.
> - debuginfo is empty. Probibly because it's not building with debug symbols.
I found bug #133738 what was the similar bug for Firefox. Based on Firefox fixes, I made patch to our spec that should fix both the problems. I didn't test the patch though.
(In reply to comment #17)
> Created an attachment (id=327919) [details]
> Untested patch that should fix debugsyms and cflags problem
Also in this patch I set build process to use as many cpus as available instead of capping to 2 like Firefox seems to do. We have reliably tested up to 8 simultaneous jobs and have no reason to believe that even higher is a problem. However, if you have a problem in the build (or if the build servers need it to be that way) simply set it -j2.
spicebird-0.7-2.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
Thank you everyone.