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

Pseudo-essential packages and Pre-Depends (Re: Next upload 2010-03-10 (dpkg 1.15.6))

[Please follow-up to debian-mentors, cc-ing me and Steve.]

Hi Steve,

Steve Langasek wrote:
> On Sun, Mar 07, 2010 at 11:57:28PM -0600, Jonathan Nieder wrote:

>> I just realized that xz-utils and liblzma2 technically aren’t ready to
>> be pseudo-essential: they use Depends: instead of Pre-Depends: for
>> their dependencies.
> This doesn't follow.  Only the essential packages themselves must be usable
> when not configured, which is why those packages use pre-dependencies, not
> dependencies.  The packages which are *themselves* pre-dependencies don't
> need to have their dependencies promoted to pre-dependencies.

When dpkg is upgraded, the pre-dependency of dpkg on xz-utils would ensure
that xz-utils is configured before the updated dpkg is unpacked.  Such an
upgrade is safe without any changes to xz-utils.

If xz-utils is upgraded after that, however, IIUC the upgraded
xz-utils might be unpacked before its dependencies.  The essential
functionality (support for unpacking lzma-compressed .debs) provided
by xz-utils would then be missing during the interval between the
unpacking time of the new xz-utils and a liblzma2 with new symbols it
uses, say.

I thought that this was why various other pseudo-essential packages
(gawk/mawk/original-awk, liblocale-gettext-perl, libpam-modules) used
pre-depends.  What am I missing?

>> lzma has had the same problem for the last year, so I guess it’s not a
>> big deal in practice.  I’ll prepare an upload fixing xz-utils tomorrow
>> morning.
> That's not a fix, and not appropriate to upload without consulting
> debian-devel.

Good point; I will hold off.  I had assumed it was implicit when
discussing a package becoming pseudo-essential that this means adding
pre-depends, but clearly I was wrong.

If my analysis above is correct, which is a big if, the missing
Pre-Depends would not be an issue until the dependencies of xz-utils
or liblzma change (and conversely, would be an issue then).  There is
plenty of time to figure this out before then.

Thanks for your help,

Reply to: