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

missing debconf dependancies



We just had a discussion on irc. I was concerned about this potential
problem:

<joeyh_> anyhoo, I am worried about this scenario: debconf has updated
to current perl policy, which means that it puts files in
/usr/share/perl. This means this it *will not work* with pre-bod perls.
Now, it does depend on the appropriate version of perl. However, it is
not essential. Apt and dpkg will unpack it, and could in theory do so
before the dependancy is satisfied, and then go run other ponstinsts
that use debconf
<joeyh_> which will break, horribly

Adam Heath noted that debconf could pre-depend on the appropriate
version of perl-base, and the problem would be solved, at the cost of
a pre-dependancy.

BenC pointed out that this is not actually a problem that can beak any
packages that depend on debconf, as dpkg will ensure that debconf is
configured before the package's postinst is run.

Of course some packages use debconf w/o depending on it. A complete
list:

joey@kite:~pub/programs/debconf/stats>(for package in `cat packagelist`;
do if ! dpkg -p $package | grep -q debconf; then echo $package; fi ; done )| par
heimdal-kdc krb5-admin-server krb5-kdc libkrb53 wnorwegian fonty
udmsearch xcdroast noffle kbd ssmtp bottlerocket bsd-ftpd sing
xserver-8514 xserver-agx xserver-mach32 xserver-mach8 xserver-p9000
xserver-s3 xserver-svga xbase-clients xdm xfs xserver-common xfs-xtt
webfs suck slay spong-server sympa-db sympa wwsympa pump netsaint
konqueror koffice-libs ifupdown isdnlog isdnvboxserver fujiplay catalog
ax25-apps aeromail alsa-base apt-listchanges autolog libhesiod0

(I didn't realize there were so many. Two notable packages, ssh and netbase,
have postinst scripts that detect if debconf is unpacked[1] and use it if
so. That will work most of the time. A large number of the above are
*broken*. Except lintian to start bitching at you soon, and expect RC
bugs before too long.)

But I digress. We seem to have either a choice of making it manadatory
that if a package uses debconf, it must depend on it. This may be more
palatable than it was to early adopters like netbase last year; I
dunno. However, this would require that debconf be section base, as eg,
netbase is in base.

Or I can add a pre-dependancy on perl. Or debconf could be declared 
essential, but that seems like a mighty big sledgehammer for this fly.

-- 
see shy jo

[1] The aim was of course to detect if it is installed; the problem
    comes down to it being unpacked but not configured and the tests don't
    notice that..



Reply to: