Bug 458286
Summary: | transmission must link with system libevent library | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mukund Sivaraman <muks> |
Component: | transmission | Assignee: | Denis Leroy <denis> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | charles, mclasen |
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: | 2008-09-28 13:47:01 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: |
Description
Mukund Sivaraman
2008-08-07 13:59:55 UTC
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. 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. 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. 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 Here is the size comparison: F9: [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 rawhide: [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 [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) Matthias, the extra size I'm guessing is the new web interface feature. How about if I split this into a sub-package ? 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... 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. Upstream now tries to use the system version of libevent by default: http://trac.transmissionbt.com/changeset?new=8601%40%2F&old=8598%40%2F |