Bug 453936

Summary: spicebird Provides pollution
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: spicebirdAssignee: Steven M. Parrish <tuxbrewr>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: ivazqueznet, kevin, mcepl, mcepl, sunil
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-07 21:51:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Spicebird spec file, misc source files, patches working on f10
none
Untested patch that should fix debugsyms and cflags problem none

Description Rex Dieter 2008-07-03 11:44:52 UTC
from recent fedora-devel post:

Spicebird in rawhide provides 46 sonames, which are provided by
the following other packages:

  nss
  nspr
  mozldap
  xulrunner

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 - 3.12.0.3-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.

Comment 1 Rex Dieter 2008-07-03 11:46:21 UTC
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.

Comment 2 Ignacio Vazquez-Abrams 2008-07-03 13:05:48 UTC
Looks like a dupe of bug 224544 to me. Although it really shouldn't have private
copies of the libs in the first place.

Comment 3 Michael Schwendt 2008-07-03 20:42:31 UTC
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:
http://cvs.fedoraproject.org/viewcvs/rpms/thunderbird/F-9/find-external-requires?rev=1.1&view=log


Comment 4 Sunil Mohan Adapa 2008-07-10 06:20:36 UTC
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
place?

Comment 5 Rex Dieter 2008-07-10 11:56:19 UTC
Thanks.

fyi, spicebird is currently only built for F-8, so the "devel" branch is empty
(we should probably rectify that).  In the meantime, peruse:
http://cvs.fedora.redhat.com/viewcvs/rpms/spicebird/F-8/

Comment 6 Sunil Mohan Adapa 2008-07-10 13:53:30 UTC
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.

Comment 7 Rex Dieter 2008-09-06 17:32:55 UTC
Ping, is this resolved or still an issue?

Comment 8 Steven M. Parrish 2008-09-06 18:27:29 UTC
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.

Comment 9 Kevin Fenzi 2008-11-23 03:37:44 UTC
Any news on this?

It would be nice to get spicebird in F9/F10/rawhide... 
and f8 will soon be end of life. ;(

Comment 10 Steven M. Parrish 2008-11-23 10:01:16 UTC
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.

Comment 11 Bug Zapper 2008-11-26 10:57:01 UTC
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: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 12 Sunil Mohan Adapa 2008-12-27 12:32:23 UTC
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?

Comment 13 Steven M. Parrish 2008-12-27 12:57:35 UTC
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.

Steven
smparrish

Comment 14 Sunil Mohan Adapa 2008-12-27 13:15:46 UTC
(In reply to comment #13)
> Bugzilla messed up your attachment, 

I checked the patch flag by mistake. I fixed it.

Comment 15 Fedora Update System 2008-12-28 21:37:06 UTC
spicebird-0.7-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/spicebird-0.7-1.fc10

Comment 16 Kevin Fenzi 2008-12-28 22:46:13 UTC
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.

Comment 17 Sunil Mohan Adapa 2008-12-29 10:25:11 UTC
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.

Comment 18 Sunil Mohan Adapa 2008-12-29 10:31:31 UTC
(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.

Comment 19 Fedora Update System 2009-01-07 21:51:10 UTC
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.

Comment 20 Sunil Mohan Adapa 2009-01-08 05:15:39 UTC
Thank you everyone.