Bug 439395

Summary: Explosive growth in abiword package
Product: [Fedora] Fedora Reporter: Jeremy Katz <katzj>
Component: abiwordAssignee: Marc Maurer <uwog>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideKeywords: Reopened
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-03-29 13:27:53 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 235706    

Description Jeremy Katz 2008-03-28 11:06:06 EDT
The update to abiword 2.6 brings with it a substantial size growth as well as
new dependencies on the boost stack, sending the live image spiraling again over
the size of a CD.

The package should probably be split into the parts that are "required" and the
extra pieces
Comment 1 Marc Maurer 2008-03-28 12:19:14 EDT
I _really_ want to prevent it to be split up. Ubuntu does this for example, and
ubuntu users _still_ believe we do not have OpenDocument support.

What we should do is investigate where the size changes comes from. If anything,
it should be smaller (except for the Boost dependency), as we removed lots of
old code in 2.6.0.
Comment 2 Marc Maurer 2008-03-28 12:19:40 EDT
What is the actual size diff anyway (can't check atm)?
Comment 3 Jeremy Katz 2008-03-28 12:57:37 EDT
abiword grew by 22.45% (17682582->21653001)

But yes, boost is the biggest offender -- because in addition to that growth,
boost + all of its supporting stuff gets pulled in which costs us on the order
of 20-25 megs
Comment 4 Marc Maurer 2008-03-28 14:25:53 EDT
Wow, didn't know we were the only user of boost :) The boost dependency is for
the AbiCollab only (at least for 2.6.x, for 2.7 it will most likely be required
for abiword-core).

I'd hate to make it optional, as we suspect it will become one of our most
important plugins. By making it optional, it will simply cease to exist for most
people (as they are not aware of additional packages; we see that in all other
distros all the time).
Comment 5 Jeremy Katz 2008-03-28 14:37:23 EDT
Yep, boost actually isn't that widely used.  Partially because its dep chain is
somewhat ludicrous :-/

I can sympathize (somewhat) with your concern about people not knowing about it,
but given that it's *packaged in separate source tarballs*, it's already
somewhat off as far as the packaging guidelines are concerned.

And there's just no fat left for trimming on the live images and due to a major
version bump of abiword after the feature freeze, I've now gone from having
breathing room to being over on space usage.
Comment 6 Marc Maurer 2008-03-28 14:43:23 EDT
About the separate source tarballs: it will all be a sane, single tarball again
for abi 2.7.x. We are moving away from our old arcane source tarball, so the 4
seperate packages are just a transition phase only thingy.

Otoh, I don't want to get you into trouble with your size issues. The only
solution I see now is making the abicollab plugin a seperate package. I'll do
this in an hour, unless you can come up with a more elegant solution :)

Sorry for the trouble.
Comment 7 Marc Maurer 2008-03-28 14:45:55 EDT
Btw, other distro's split up boost in tons of packages. Isn't that the true
proper solution? We only use about 0.1% of boost, so it's a bit silly to have to
drag in 40MB of garbadge for that.

We could also fork boost, and include the tiny fraction of code we actually use,
but I'd rather not do that.
Comment 8 Marc Maurer 2008-03-28 15:33:11 EDT
Hmm, it seems we are only depending on the boost threading library:
        libboost_thread-mt.so.3 => /usr/lib/libboost_thread-mt.so.3 (0x0022c000)

For the rest, we only use boost's templates, which obviously only have a compile
time dependency.

Lemme try removing the boost threading with pthreads.
Comment 9 Marc Maurer 2008-03-28 16:55:45 EDT
Other idea: I'll just link that libboost_thread lib statically. That will remove
all runtime boost deps
Comment 10 Marc Maurer 2008-03-28 21:44:15 EDT
Fixed; I patched upstream as well as the package in rawhide to remove all
runtime dependencies on libboost
Comment 11 Marc Maurer 2008-03-28 22:00:10 EDT
Reopen, something is still dragging boost in :X

[root@localhost ~]# rpm -Uhv abiword-2.6.0-3.fc9.i386.rpm 
error: Failed dependencies:
        libboost_thread-mt.so.3 is needed by abiword-2.6.0-3.fc9.i386
Comment 12 Marc Maurer 2008-03-29 13:27:53 EDT