some observations about packages in repos |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/slitaz Archives
]
- To: slitaz@xxxxxxxxxxxxxxxxxxx
- Subject: some observations about packages in repos
- From: Rohit Joshi <rj.rohit@xxxxxxxxx>
- Date: Thu, 9 Apr 2009 13:46:13 +0000
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=pv6i/xv31zA0AbWspCcsYKQluI9Q+ohKBET31E/khO4=; b=Jrcbn8W5iMA/hBR+LFo5wRQVkOUXavCQlH5c8b4XJOCY/Xr/17CTDZ4o0mpBEtzY0C 2TR3q5g3xIspBs2Vn7W5EnVxqWidEhbCs/b4dVmfjdq003bY6RXJYNIcbKwsGUstOgqt akia1Ep0d8sf1VXbt7v2o3DaGBuBin+LHe+eQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=DJ4ZhJ4kiDhCN4Pevz3XZGdYvzR0XmB+Cc3dzKMcDTknGr/dH+JBlOGC9pYrkO94uK y2TDz3Ba6KY4+MB8J5Kt1+DAt4+6u1kckc2/jFMIXsRc+aMBnVJRfzR5vEwffa7pkuPv 0LBMq1KLMLJf/mIFzrQHLDWqHmx+fvuFzM4/U=
To all developers,
I was cooking some new applications and I made some observations which I would like to share with all of you. These have helped me to further reduce the sizes of few existing packages in the repos (in some cases by a huge margin).
First, the packages that I played with and that can be further trimmed include:
1) Gimp : repo size=9.7M : proposed=6.3MB
2) Abiword : size=3.6M : proposed=2.6MB
3) Gnumeric: size=3.2M : proposed=2.2MB
4) Cups: size=3.4M : proposed=2.6MB
5) Ghostscript: size=12.2M : proposed=5.9MB
6) FFmpeg: size=5.7M : proposed=1.4MB
7) Mplayer: size=3.4M : proposed=1.7MB
8) Xine-lib: size=3.8M : proposed=2.0MB
9) Xine-ui: size=1.1M : proposed=560KB
10) Kino: size=7.7M : proposed=900KB
Here are my observations:
1) Tazwok (version I have) executes "strip-all" on all dirs except $fs/usr/lib where it only strips the *.so and *.*a files. There are few programs that package binaries in $fs/usr/lib too e.g. Gimp and Cups. By adding "strip-unneeded" in gimp and cups receipt, I got the proposed size.
2) Non-standard locales: Abiword has non-standard locale format in $fs/usr/share; so all the locales got packaged in. Following the style in all other receipts (to pkg few locales); abiword can be reduced.
3) "enable-shared" : This compilation option can be quite useful in reducing redundancy. I have seen that in some cases it reduces the size by a lot because all the binaries in the package are compiled against the same shared libs. Otherwise every binary uses the redundant code. FFmpeg is a good example.
4) Compiling against shared ffmpeg: Most of the multimedia applications package package their own exact copy of the latest ffmpeg e.g. xine, mplayer, kino, gstreamer etc. I compiled all of them against the shared ffmpeg (latest svn copy). As compiling against shared ffmpeg can get quite complicated if ffmpeg svn copy is missing few files, I guess we should have two different packages: one with ffmpeg inside and one with shared ffmpeg (fat-free version). I have receipts for all these packages with shared ffmpegs ( for gstreamer framework too).
5) Ghostscript: This was compiled with initialization on; so the size was so big. Just by disabling compilation inits we can reduce the size. This used to be default till 8.56 series. Most distributions still use the same.. Furthermore, CMAPs in current Ghostscript package are not GPLed, so all other distributions provide it as a separate package. They are usually useful for printing Asian (Japanese, Chinese and Korean) characters. So we may split it into an optional "SUGGESTED" dependency.
6) Some help docs or sample files run in several MBs e.g. kino. I have put them as optional "SUGGESTED" and as a seprate kino-doc pkg. Xine-ui has a sample ".avi" file.
7) Gnumeric: python module for python programming in Gnumeric can be disabled (also perl)
If maintainers of these packages are fine with my suggestions, I would commit these into wok after 2.0 release.
Thanks and looking forward to 2.0 release,
Rohit