[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Doing a proper package split (cream)



* Christoph Haas [Fri, 10 Mar 2006 14:33:35 +0100]:

> Evening...

Hi,

  (uhm, I was replying to this, but I see that the split is already in
  the archive. Executive summary: please remove the conflicts; I'd
  personally not split the package, but is your call; current status
  good, except for the conflicts.)

> one thing I never really dealt with before are package splits. And since I 
> couldn't find any clear policy on how to define the dependencies properly 
> I'd like to get a second (and even third) opinion on this.

  I'd reinstate Simon's advice, and drop the Conflicts. The Replaces
  should be enough, specially with modern dpkg versions that can cope
  with the old version of cream (0.33) being re-instalated (it would
  barf on that in the past).

> 'cream' is a package with a lot of documentation. Until version 0.33 I had 
> all the files in a single package. Now in 0.34 I want to split off the 
> documentation so i have cream (main) and cream-doc (documentation).

  Following up to Simon's considerations about size and arch:all
  packages, let's peek at the debs:

    Package: cream
    Version: 0.33.1-1
    Installed-Size: 2904

    Package: cream
    Version: 0.34-2
    Installed-Size: 2380

    Package: cream-doc
    Version: 0.34-2
    Installed-Size: 884

  With these numbers, the split seems like largely unjustified, IMHO.
  But well, your call.

[snip]

> Now when I install cream-doc (0.34) it looks like this:

> $> dpkg -i cream-doc_0.34-2_all.deb
> Selecting previously deselected package cream-doc.
> dpkg: considering removing cream in favour of cream-doc ...
> dpkg: yes, will remove cream in favour of cream-doc.
> (Reading database ... 173915 files and directories currently installed.)
> Unpacking cream-doc (from cream-doc_0.34-2_all.deb) ...
> Setting up cream-doc (0.34-2) ...

> Then the situation would look like this:

> ic  cream          0.33.1-1
> ii  cream-doc      0.34-2         

> The old cream package is still installed (shouldn't it be "rc"?).

  Desired = Install
  | Status=Config-files
  |/ 
  ||
  ++
  ic

  You get a package into 'rc' when a dpkg --remove is issued (eg., by
  apt); if it's dpkg itself who removes the package due to a conflict,
  dpkg still things that the package was wanted installed.

> While this is sane for APT it's a bit weird for the user because the
> documentation now doesn't fit the main package any more.

  Note, as per your lines above, if you do `dpkg -i cream-doc` when
  cream 0.33 is installed, you end up with cream-doc installed, and
  cream removed. But this is irrelevant, 'cause it's a very unlikely
  situation.

> I would like to install both new versions when either new package is
> installed.

  Apt et al. will give you this, as said elsewhere.

* Christoph Haas [Fri, 10 Mar 2006 17:21:12 +0100]:

> I wonder if my proposal causes any bad things to happen. It would be very 
> unlikely that a user just installed the new 'cream-doc' package without 
> upgrading the 'cream' package. And since 'cream' and 'cream-doc' wouldn't 
> have any hard dependencies (like "Depends:" instead of "Suggests:") in the 
> future either there may well be situations where the documentation package 
> could have another version than the main package.

  If you care much about this, you could make the Suggests versioned;
  not that any tools would take it into account afaik, but it can act as
  a bit of documentation.

  HTH,

-- 
Adeodato Simó                                     dato at net.com.org.es
Debian Developer                                  adeodato at debian.org
 
Capitalism is the extraordinary belief that the nastiest of men, for the
nastiest of reasons, will somehow work for the benefit of us all.
                -- John Maynard Keynes



Reply to: