[Debconf-devel] Bug#518322: debconf: db_register broken in corner case.
sean finney
seanius at debian.org
Thu Mar 5 12:55:36 UTC 2009
Package: debconf
Version: 1.5.25
Severity: normal
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hi,
i have a corner case scenario where i think db_register gets broken.
to reproduce:
- - install package A the includes some "source" templates
- - install package B that registers the templates via db_register
- - remove (w/out purge) package B
- - remove (--purge) package A
- - install package A and package C, the latter of which uses db_register
just like package B
at the last step, the templates are still in the database showing up with
owner as package B (should be B *and* A), but db_register does not seem
to find the template on subsequent calls. purging all three packages
and reinstalling package A and package C gets things working again.
for some non-abstract context, package A == dbconfig-common, which
uses register extensively as part of automatic database configuration for
other packages. if package B were one webapp, and package C another, the
result is that the automatic database configuration is broken until all
packages (and others) are purged and reinstalled.
i'm going to go out on a limb and say that there's a bug with either:
- - when A is purged, all of A's templates should be purged, including those
registered by other packages, (which if they are sane must be in
rcfiles state or on the way to being removed/purged themselves) should
be purged.
- - when a package is installed and first imports its templates into debconf,
some extra support must be added to overwrite/merge with a template that
has the same name but different owner.
i guess i'd side with the former, since "debconf is a cache" and all that.
in retrospect i'm quite surprised that dbconfig-common handles this as
gracefully as it does:
+ db_register dbconfig-common/database-type cacti/database-type
debconf (developer): <-- REGISTER dbconfig-common/database-type cacti/database-type
debconf (developer): --> 10 No such template, "dbconfig-common/database-type"
+ return 1
+ _dbc_debug 'dbconfig-common not yet setup, deferring configuration.'
+ '[' insane ']'
+ dbc_logline 'dbconfig-common not yet setup, deferring configuration.'
+ printf 'dbconfig-common not yet setup, deferring configuration..\n'
dbconfig-common not yet setup, deferring configuration..
i.e. the package installs but with broken configuration. because of this
and because it's such an exotic corner case i'm keeping severity at normal :)
sean
- -- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages debconf depends on:
ii debconf-i18n 1.5.25 full internationalization support
ii perl-base 5.10.0-19 minimal Perl system
Versions of packages debconf recommends:
ii apt-utils 0.7.20.2 APT utility programs
Versions of packages debconf suggests:
ii debconf-doc 1.5.25 debconf documentation
ii debconf-utils 1.5.25 debconf utilities
ii gnome-utils 2.20.0.1-3 GNOME desktop utilities
ii libgnome2-perl 1.042-1+b1 Perl interface to the GNOME librar
pn libnet-ldap-perl <none> (no description available)
pn libqt-perl <none> (no description available)
pn libterm-readline-gnu-perl <none> (no description available)
ii perl 5.10.0-19 Larry Wall's Practical Extraction
ii whiptail 0.52.2-11.3 Displays user-friendly dialog boxe
- -- debconf information:
debconf-apt-progress/title:
debconf-apt-progress/info:
* debconf/priority: medium
debconf-apt-progress/preparing:
debconf-apt-progress/media-change:
* debconf/frontend: Dialog
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iD8DBQFJr8vGynjLPm522B0RAm3lAJ9Ail1qIEnWoTEmgpvhcA13iGIdiQCdFlOZ
Nj4I3C6PFkhuJS6TfvowAhU=
=Vtku
-----END PGP SIGNATURE-----
More information about the Debconf-devel
mailing list