Bug#593177: Clarify when dependencies of pre-dependencies are satisfied
Jonathan Nieder <firstname.lastname@example.org> writes:
> Steve Langasek wrote:
>> On Sun, Aug 08, 2010 at 07:27:44PM -0500, Jonathan Nieder wrote:
>>> Except *new* dependencies of an upgraded pre-depedency may not be
>>> present. This is part of the philosophy behind pseudo-essential
>>> packages generally using pre-depends for one release when they
>>> acquire new dependencies.
>>> Should I file a policy bug to clarify this?
>> I think that would be a good idea, yes - thanks!
> Consider a (hypothetical) scenario:
> x11-common pre-depends on debconf | cdebconf
> cdebconf 0.150 depends on libslang2 (>= 2.0.7-1)
> cdebconf 0.150 is installed. Version 0.151 depends on libslang3
> instead of libslang2. Time to upgrade.
> dpkg --unpack cdebconf_0.151.deb x11-common_1:7.5+7.deb libslang3_0.deb
> - The upgraded cdebconf is unpacked.
> - The upgraded x11-common is to be unpacked.
> As discussed in Bug#504880, since cdebconf was previously
> configured and has not been removed since then, x11-common’s
> pre-dependency is considered satisfied.
> - x11-common.preinst is run. The updated cdebconf cannot even
> be started because its dependency libslang3. Failure.
> Therefore if your package might be used in preinst (e.g., if it is
> debconf or pseudo-essential) then any new dependency for that
> functionality needs to go in Pre-Depends for a short while.
Isn't this the thing that Steve said he considered to be a bug in dpkg,
not in Policy? In other words, are we sure that we want to document this,
particularly since people tend not to know if their packages might be used
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>