[Pkg-bareos-devel] Bug#884234: bareos: Stable update fails to configure (no database version defined, FAILED to set Catalog MyCatalog dbdriver = postgresql)
Anthony DeRobertis
aderobertis at metrics.net
Tue Dec 12 20:06:11 UTC 2017
Package: bareos
Version: 14.2.1+20141017gitc6c5b56-3+deb8u3
Severity: serious
Justification: Policy 10.7.3
I've been happily using the bareos packages on jessie for a bit now (thank
you for maintaining them!)
I attempted to upgrade bareos to 14.2.1+20141017gitc6c5b56-3+deb8u3
(from +deb8u2) this afternoon, and it failed to configure. Here is
trying to configure it again:
root at Bennu:~# dpkg --configure -a
Setting up bareos-database-common (14.2.1+20141017gitc6c5b56-3+deb8u3) ...
Warning: no database version defined for release 14.2.1+20141017gitc6c5b56 (14.2.1+20141017gitc6c5b56-3+deb8u2). Using default version: 2003
(config) dbc_go() bareos-database-common configure 2003.
dbc_config() bareos-database-common configure 2003.
dbc_set_dbtype_defaults() .
dbc_register_debconf() .
dbc_read_package_config() .
dbc_preseed_package_debconf() .
dbc_detect_supported_dbtype() pgsql.
dbc_detect_installed_dbtype() pgsql.
_dbc_detect_installed_dbtype() pgsql.
dbc_config() bareos-database-common configure 2003.
dbc_set_dbtype_defaults() pgsql.
dbc_get_app_pass() .
Warning: no database version defined for release 14.2.1+20141017gitc6c5b56 (14.2.1+20141017gitc6c5b56-3+deb8u2). Using default version: 2003
dbconfig-common: writing config to /etc/dbconfig-common/bareos-database-common.conf
dbconfig-common: flushing administrative password
FAILED to set Catalog MyCatalog dbdriver = postgresql (/etc/bareos/bareos-dir.conf)
... which would make sense because I don't have a catalog called
MyCatalog, except reading /usr/lib/bareos/scripts/bareos-config-lib.sh
it turns out its actually nowhere near that robust; it's just looking
for "dbdriver = ..." and failing to find it. That's broken for at least
three reasons:
1) The documented parameter name is "DB Driver"; see
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#directiveDirCatalogDB%20Driver
and bareos of course doesn't care about capitalization or spacing
(which is why dbdriver also works).
2) Config files can include other config files, so the db config may
not even be in that file at all.
3) It blindly overwrites any configuration changes made by the admin,
which isn't permitted by Debian Policy §10.7.3. (In my case,
bareos-dir.conf is actually a generated file — directly editing it
is broken.)
Thankfully, there is a fairly easy approach that solves all these
problems: put the default Debian database config in its own file
(possibly under /var/lib/bareos/) and then @-include it into the shipped
bareos-dir.conf. Then you don't have to touch the configuration file.
(I fixed my system by commenting out the apply_dbconfig_settings line in
/var/lib/dpkg/info/bareos-database-common.postinst).
-- System Information:
Debian Release: 8.10
APT prefers oldstable-updates
APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.9.0-0.bpo.4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages bareos depends on:
ii bareos-client 14.2.1+20141017gitc6c5b56-3+deb8u3
iu bareos-director 14.2.1+20141017gitc6c5b56-3+deb8u3
ii bareos-storage 14.2.1+20141017gitc6c5b56-3+deb8u3
bareos recommends no packages.
bareos suggests no packages.
-- no debconf information
More information about the Pkg-bareos-devel
mailing list