On Mon, Oct 27, 2008 at 02:50:15PM +0200, Niko Tyni wrote: > On Mon, Oct 27, 2008 at 12:52:57PM +0100, Bastian Blank wrote: > > Package: request-tracker3.6 > > Version: 3.6.7-3 > > Severity: serious > > > > request-tracker3.6 uses debconf as a registry to detect which db > > informations are available. The debconf data is volatile and therefor > > not possible to be used in this way. > > The debconf information (rt3.6-db-*/available) is only > used on new installations or upgrades with an unmodified > /etc/request-tracker3.6/RT_SiteConfig.pm. > > The aim was (of course) to aid the administrator by offering only the > possible database choices. This is particularly hard to do otherwise in > the preconfiguration case, where there is no other information source > available because the rt3.6-db-* packages are usually not installed yet, > only preconfigured.
The attached patch simply ignores the debconf settings if a db backend package is already installed or selected for installation. This means the debconf information will only be used for preconfiguration. I think this is enough to fix the bug, but please let me know if you disagree. -- Niko Tyni [EMAIL PROTECTED]
diff --git a/debian/config b/debian/config index fbe8774..4bbc8c2 100755 --- a/debian/config +++ b/debian/config @@ -276,9 +276,9 @@ if [ -f /usr/share/dbconfig-common/dpkg/config ]; then pkg=rt3.6-db-sqlite ;; esac - db_get ${pkg}/available || true - if [ "$RET" = "true" ] - then + if dpkg-query -W -f='${Status}\n' $pkg 2>/dev/null | \ + grep -q '^install \| installed$' || \ + ( db_get ${pkg}/available && [ "$RET" = "true" ] ); then dbc_dbtypes="${dbc_dbtypes}, $dbtype" fi dbc_dbtypes=$(echo $dbc_dbtypes | sed 's/^, //')