Red Hat Bugzilla – Bug 227600
bind-chroot update overwrites user supplied ROOTDIR setting
Last modified: 2013-04-30 19:35:13 EDT
Description of problem:
The bind update overwrites any settings like
with the default ROOTDIR
Version-Release number of selected component (if applicable):
3/3 on FC6, 1/1 on FC5
Steps to Reproduce:
1.Use a custom ROOTDIR
2.upgrade bind packages
ROOTDIR gets reset
Should not touch uncommented ROOTDIR setting
Hit me on FC5/FC6 alike and for consistency (?) filed under devel.
If the ROOTDIR is not to be changed by the user it should be hardcoded and not
part of sysconfig files. Otherwise the user's choice needs to be preserved.
Together with bug #226982 this bind update causes lots of grief on
(semi-advanced) bind/ldap server setups.
Could you tell me if this problem is caused by replacement of
/etc/sysconfig/named? And if old configfile is saved as .rpmnew? Thanks much, Adam
Also the full output of rpm -Uvv bind-*rpm would be helpful, is this 100%
(In reply to comment #2)
> Also the full output of rpm -Uvv bind-*rpm would be helpful, is this 100%
I found the bug, see below. It is 100% reproducable, and is not related to rpm
(In reply to comment #1)
> Could you tell me if this problem is caused by replacement of
> /etc/sysconfig/named? And if old configfile is saved as .rpmnew?
After the update there is only the "new" /etc/sysconfig/named with the wrong
ROOTDIR in place, no *.rpmsave, *.rpmnew etc.
I took a closer look and found the bug (or feature): If bach-chroot is installed
on each upgrade of bind (which of course updates the bind-chroot subpackage) the
ROOTDIR is always reset to /var/named/chroot by
The script seems to want to preserve ROOTDIR if found in /etc/sysconfig/named,
but fails due to setting BIND_CHROOT_PREFIX to the default value early in the
script and later only looking at ROOTDIR if BIND_CHROOT_PREFIX is empty, e.g. never.
The easiest fix is probably simply unconditionally calling rootdir at the top of
bind-chroot-admin is going on with monopolizing ROOTDIR by removing it
completely when uninstalled. That should probably only happen iff ROOTDIR was
still the default.
Bottom line is: If one installs the current bind-chroot one is tied to
ROOTDIR=/var/named/chroot for as long as bind-chroot is installed. If this is
indended behaviour it should be loudly commented as such in
/etc/sysconfig/named. But I think the intended behaviour is to honour user
I suggest to source /etc/sysconfig/named at the very top and eliminate
BIND_CHROOT_PREFIX in favour of ROOTDIR everywhere.
Perfect catch. I've improved bind-chroot-admin script in fedora devel. Could you
tell me if problem is now solved, please? (with bind*-9.3.4-5.fc7, package will
be avaliable during day)
This could be fixed in bind-*9.3.4-3.fc6 . If this problem still exists, please