Re: When to split a package?
On Mon, Jul 03, 2006 at 08:23:50PM -0500, Luis Rodrigo Gallardo Cruz wrote: Having recently taken over maintaining sawfish, I ran lintian -I on it and got I: sawfish: arch-dep-package-has-big-usr-share 4848kB 90% which refers me to http://www.debian.org/doc/developers-reference/ch-best-pkging-practices#s-bpp-archindepdata ... However, if the size of the data is considerable, consider splitting it out into a separate, architecture-independent package (_all.deb) ... Now, I plainly see that in this case 'the size of the data' is 'considerable' and will work on splitting the package. But ... is there some sort of general guideline on when to do this? Creating more binary packages certainly has some sort of cost (The size of the packages file, at least). How do I estimate those costs? How do I estimate the savings gained from splitting? (number of archs) * (size of _all.deb)? One way is just to try it and see :) One the one hand, it is somewhat annoying for users to have to install a bajillion tiny packages on each machine; at the same time it is nice to not include the same data in the archive 12 times. In your case, the arch-dep package will depend on the -indep one, so it doesn't cost the user much at all. How big is your /usr/share/ ? I would say that splitting out only a megabyte is probably not worth it (though it does save ~11MB on the archive), but splitting 10MB surely is. Justin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: When to split a package?
Kapil Hari Paranjape [EMAIL PROTECTED] wrote: On Mon, 03 Jul 2006, Luis Rodrigo Gallardo Cruz wrote: Creating more binary packages certainly has some sort of cost (The size of the packages file, at least). How do I estimate those costs? How do I estimate the savings gained from splitting? (number of archs) * (size of _all.deb)? It might be interesting what lintian thinks: $ find /sid/usr/share/lintian/ -type f | xargs grep -ls big-usr-share /sid/usr/share/lintian/checks/huge-usr-share.desc /sid/usr/share/lintian/checks/huge-usr-share And therein: # Threshold in kB of /usr/share to trigger this warning # Consider that the changelog alone can be quite big, and cannot be moved away my $THRESHOLD_SIZE_SOFT = 1024; my $THRESHOLD_SIZE_HARD = 2048; my $THRESHOLD_PERC = 50; On Mon, 03 Jul 2006, Luis Rodrigo Gallardo Cruz wrote: /usr/share/man ? /usr/share/info ? /usr/share/locale/*/*.mo ? I think these should go with binary-arch since the documentation for a binary should accompany the binary. Same applies to localisation strings which are presumably needed by the binary. If the arch-dependent package Depends on the arch-all package, I think it's okay to put everything in the arch-all package. It's not a must, though. If there's a lot of data, it might be cleaner to just move the data to the arch-all package and leave the documentation and localization in the arch-dependent package. Regards, Frank -- Frank Küster Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich Debian Developer (teTeX)
When to split a package?
Having recently taken over maintaining sawfish, I ran lintian -I on it and got I: sawfish: arch-dep-package-has-big-usr-share 4848kB 90% which refers me to http://www.debian.org/doc/developers-reference/ch-best-pkging-practices#s-bpp-archindepdata ... However, if the size of the data is considerable, consider splitting it out into a separate, architecture-independent package (_all.deb) ... Now, I plainly see that in this case 'the size of the data' is 'considerable' and will work on splitting the package. But ... is there some sort of general guideline on when to do this? Creating more binary packages certainly has some sort of cost (The size of the packages file, at least). How do I estimate those costs? How do I estimate the savings gained from splitting? (number of archs) * (size of _all.deb)? -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 signature.asc Description: Digital signature
Re: When to split a package?
On Mon, 03 Jul 2006, Luis Rodrigo Gallardo Cruz wrote: Creating more binary packages certainly has some sort of cost (The size of the packages file, at least). How do I estimate those costs? How do I estimate the savings gained from splitting? (number of archs) * (size of _all.deb)? I recently split tex4ht into binary-arch and binary-all. The main saving is that mirrors need to only copy the binary-all part once. There could be another saving on the buildd's in that the binary-all need not be rebuilt/repackaged for each architecture. On Mon, 03 Jul 2006, Luis Rodrigo Gallardo Cruz wrote: /usr/share/man ? /usr/share/info ? /usr/share/locale/*/*.mo ? I think these should go with binary-arch since the documentation for a binary should accompany the binary. Same applies to localisation strings which are presumably needed by the binary. You should also note that while splitting a package you need to give appropriate Replaces: , Conflicts: and Depends: . In particular, both the new packages replace files from the older version and conflict with the older version. Note that you do not need a Replaces: or Conflicts: field for a newer package if it has exactly the same name as the older one. As far as depends is concerned you need one of the new packages to depend on the newer version of the other new package. Usually the binary-arch depends on the binary-all. Presumably the binary-all can be read and used (if only for one's education :-)) without installing the binary-arch. However, the situation may be different for you. Hope this helps. Regards, Kapil. -- signature.asc Description: Digital signature