Re: When to split a package?

2006-07-05 Thread Justin Pryzby
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?

2006-07-04 Thread Frank Küster
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?

2006-07-03 Thread Luis Rodrigo Gallardo Cruz
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?

2006-07-03 Thread Kapil Hari Paranjape
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