Bug 458286 - transmission must link with system libevent library
transmission must link with system libevent library
Product: Fedora
Classification: Fedora
Component: transmission (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Denis Leroy
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-08-07 09:59 EDT by Mukund Sivaraman
Modified: 2009-06-03 13:09 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-09-28 09:47:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Mukund Sivaraman 2008-08-07 09:59:55 EDT
Description of problem:

The transmission binary currently uses its own local libevent which it pulls in as a svn external repository.

It must use the libevent package as a dependency and link to it.
Comment 1 Denis Leroy 2008-08-24 08:17:46 EDT
I don't see this as a big deal. I'll ask upstream why they use their own copy of libevent, they might have a good reason for it.
Comment 2 Matthias Clasen 2008-09-23 01:47:32 EDT
While looking at livecd size issues, I noticed that the transmission package grew by over 33% over the course of F10 development. Looking into this, I couldn't help but notice that transmission statically links a bunch of private libraries into at least 3 or 4 binaries. 

Beyond the policy-demands-you-use-system-libraries issue, this is wasteful in terms of disk space.
Comment 3 Mukund Sivaraman 2008-09-23 02:07:45 EDT
Matthias: Transmission couldn't have linked to libevent in F9 because it was too old. The one in F10 should be okay and we will rework the configure scripts to detect and link to the system libevent.

There are a few more libs, which first need to be supported as shared libraries before TR can link to them at runtime. These are small in size though.
Comment 4 Matthias Clasen 2008-09-23 09:30:56 EDT
Then there is probably something else going on. Some of the binaries, such as the cli and the remote one, have tripled in size, compared to F9
Comment 5 Matthias Clasen 2008-09-23 09:53:08 EDT
Here is the size comparison: 


[mclasen@localhost ~]$ rpm -qp --qf "[%{FILESIZES} %{FILENAMES}\n]" transmission-1.06-1.fc9.i386.rpm | grep /usr/bin
warning: transmission-1.06-1.fc9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
512380 /usr/bin/transmission
332100 /usr/bin/transmission-daemon
48356 /usr/bin/transmission-proxy
110628 /usr/bin/transmission-remote
278512 /usr/bin/transmissioncli


[mclasen@localhost ~]$ rpm -q --qf "[%{FILESIZES} %{FILENAMES}\n]" transmission | grep /usr/bin
564916 /usr/bin/transmission
335304 /usr/bin/transmission-daemon
349352 /usr/bin/transmission-remote
344280 /usr/bin/transmissioncli
Comment 6 Matthias Clasen 2008-09-23 09:53:28 EDT
[mclasen@localhost ~]$ ldd /usr/bin/transmission-remote 
	linux-gate.so.1 =>  (0x00110000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x007ec000)
	librt.so.1 => /lib/librt.so.1 (0x00b2e000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x00808000)
	libssl.so.7 => /lib/libssl.so.7 (0x077ed000)
	libcrypto.so.7 => /lib/libcrypto.so.7 (0x075c3000)
	libdl.so.2 => /lib/libdl.so.2 (0x009f2000)
	libz.so.1 => /lib/libz.so.1 (0x00a33000)
	libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00cdf000)
	libm.so.6 => /lib/libm.so.6 (0x009c7000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x009f9000)
	libc.so.6 => /lib/libc.so.6 (0x00851000)
	/lib/ld-linux.so.2 (0x00823000)
	libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0753d000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x07713000)
	libcom_err.so.2 => /lib/libcom_err.so.2 (0x075ae000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0756e000)
	libidn.so.11 => /lib/libidn.so.11 (0x077b9000)
	libssh2.so.1 => /usr/lib/libssh2.so.1 (0x001e1000)
	libldap-2.4.so.2 => /usr/lib/libldap-2.4.so.2 (0x003d8000)
	libssl3.so => /lib/libssl3.so (0x070f5000)
	libsmime3.so => /lib/libsmime3.so (0x07128000)
	libnss3.so => /lib/libnss3.so (0x07404000)
	libplds4.so => /lib/libplds4.so (0x07be7000)
	libplc4.so => /lib/libplc4.so (0x07b9e000)
	libnspr4.so => /lib/libnspr4.so (0x07ba5000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00625000)
	libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x077b4000)
	liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0x00220000)
	libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00722000)
	libnssutil3.so => /lib/libnssutil3.so (0x005d8000)
	libselinux.so.1 => /lib/libselinux.so.1 (0x00111000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x07a67000)
Comment 7 Denis Leroy 2008-09-23 10:00:28 EDT
Matthias, the extra size I'm guessing is the new web interface feature. How about if I split this into a sub-package ?
Comment 8 Matthias Clasen 2008-09-23 10:07:10 EDT
If it is actual new features, then I don't mind the size increase - its not a huge package after all. I would mind a 33% size increase if it is just a linking error...
Comment 9 Mukund Sivaraman 2008-09-23 10:14:11 EDT
Denis, please wait on splitting packages for now. We'll do the required changes upstream so libtransmission can be made a separate package. Then, the non-gtk dependent binaries can be split into a different package from the gtk app, both of which would link to libtransmission.
Comment 11 Charles Kerr 2009-06-03 13:09:05 EDT
Upstream now tries to use the system version of libevent by default:


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