Bug#50832: AMENDMENT] Clarify meaning of Essential: yes
On Tue, Nov 23, 1999 at 11:02:24PM +1000, Anthony Towns wrote:
> close 50832
> reopen 50832
Huh?!
> + Since dpkg will upgrade other packages while an _essential_
> + package is in an unconfigured state, all _essential_ packages must
I think "Since dpkg might upgrade ..." or "Since dpkg will not prevent
upgrading of ..." read a little better, and better convey the problem
at hand. Also, you might want to be even more explicit and refer to
dpkg unpacking and/or configuring.
> + supply all their core functionality even when unconfigured. If the
> + package cannot satisfy this requirement it should not be tagged
> + as essential, and any packages depending on this packages should
> + instead have explicit Depends: or Pre-Depends: fields as appropriate.
"explicit dependency fields as appropriate." The packaging manual is
where the Pre-Depends field is discussed in detail, and this should be
sufficient for the policy manual.
But: I just realised. For bash (or whatever essential packages
provide /bin/sh and /bin/perl), the situation is far worse: what
happens if a package is *removed* when the symlink is not in place
(because the package is not properly configured)? Then if the
{pre,post}rm use /bin/sh or /bin/perl, that will also fail. And I do
not believe that dpkg pays any attention to dependencies for removing
packages, so the solution proposed above technically fails for /bin/sh
and /bin/perl.
I think that while this ammendment is appropriate, it does not solve
the problem it was (partially) trying to solve. I think we need an
extra requirement:
There must be working /bin/sh and /bin/perl symlinks at all times.
Maintainer scripts responsible for updating one of these links
should try as hard as possible to ensure that even if they fail, a
meaningful link will still be left.
The alternative is to say that there must always be an essential
package providing /bin/sh and /bin/perl. We can go further and say
that {pre,post}rm's must not depend on any non-"essential" package to
run, and that includes the interpreter used (if any).
Thoughts?
Julian
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Julian Gilbey, Dept of Maths, QMW, Univ. of London. J.D.Gilbey@qmw.ac.uk
Debian GNU/Linux Developer, see http://www.debian.org/~jdg
Reply to: