- 9.6.1 release
- simplify chroot maintenance. Important files and directories are mounted into chroot (see /etc/sysconfig/named for more info, #504596) - fix doc/named.conf.default perms
This commit is contained in:
parent
7ffd8214d5
commit
91895cfac2
@ -1,3 +1,2 @@
|
||||
bind-9.6.1.tar.gz
|
||||
config-4.tar.bz2
|
||||
bind-chroot.tar.bz2
|
||||
bind-9.6.1rc1.tar.gz
|
||||
|
43
bind.spec
43
bind.spec
@ -3,10 +3,10 @@
|
||||
#
|
||||
|
||||
#%define PATCHVER P1
|
||||
%define PREVER rc1
|
||||
#%define PREVER rc1
|
||||
#%define VERSION %{version}
|
||||
#%define VERSION %{version}-%{PATCHVER}
|
||||
%define VERSION %{version}%{PREVER}
|
||||
%define VERSION %{version}
|
||||
|
||||
%{?!SDB: %define SDB 1}
|
||||
%{?!test: %define test 0}
|
||||
@ -20,7 +20,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv
|
||||
Name: bind
|
||||
License: ISC
|
||||
Version: 9.6.1
|
||||
Release: 0.4.%{PREVER}%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Epoch: 32
|
||||
Url: http://www.isc.org/products/BIND/
|
||||
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
@ -31,7 +31,6 @@ Source1: named.sysconfig
|
||||
Source2: named.init
|
||||
Source3: named.logrotate
|
||||
Source5: rfc1912.txt
|
||||
Source6: bind-chroot.tar.bz2
|
||||
Source7: bind-9.3.1rc1-sdb_tools-Makefile.in
|
||||
Source8: dnszone.schema
|
||||
Source12: README.sdb_pgsql
|
||||
@ -237,11 +236,6 @@ sed -i -e \
|
||||
's/RELEASEVER=\(.*\)/RELEASEVER=\1-RedHat-%{version}-%{release}/' \
|
||||
version
|
||||
|
||||
# Substitute libtool -version-info parameter by -version-number
|
||||
for all in `find . |grep Makefile.in`; do
|
||||
sed -i 's/-version-info/-version-number/' $all
|
||||
done
|
||||
|
||||
libtoolize -c -f; aclocal -I m4 --force; autoheader -f; autoconf -f
|
||||
|
||||
%configure \
|
||||
@ -307,22 +301,24 @@ mkdir -p ${RPM_BUILD_ROOT}/var/run/named
|
||||
mkdir -p ${RPM_BUILD_ROOT}/var/log
|
||||
|
||||
#chroot
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}
|
||||
tar --no-same-owner -jxvf %{SOURCE6} --directory ${RPM_BUILD_ROOT}/%{chroot_prefix}
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/{dev,etc,var}
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var/{log,named,run/named,tmp}
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/{pki/dnssec-keys,named}
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/var/named/{data,slaves,dynamic}
|
||||
# these are required to prevent them being erased during upgrade of previous
|
||||
# versions that included them (bug #130121):
|
||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/null
|
||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/random
|
||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/zero
|
||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/localtime
|
||||
|
||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/named.conf
|
||||
#end chroot
|
||||
|
||||
make DESTDIR=${RPM_BUILD_ROOT} install
|
||||
touch ${RPM_BUILD_ROOT}%{_sysconfdir}/rndc.conf
|
||||
install -m 755 contrib/named-bootconf/named-bootconf.sh ${RPM_BUILD_ROOT}%{_sbindir}/named-bootconf
|
||||
install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/etc/rc.d/init.d/named
|
||||
install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/logrotate.d/named
|
||||
touch ${RPM_BUILD_ROOT}%{_sysconfdir}/rndc.key
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
|
||||
install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/named
|
||||
%if %{SDB}
|
||||
@ -346,6 +342,9 @@ touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/named.log
|
||||
|
||||
# configuration files:
|
||||
tar -C ${RPM_BUILD_ROOT} -xjf %{SOURCE28}
|
||||
touch ${RPM_BUILD_ROOT}/etc/rndc.key
|
||||
touch ${RPM_BUILD_ROOT}/etc/rndc.conf
|
||||
mkdir ${RPM_BUILD_ROOT}/etc/named
|
||||
|
||||
install -m 644 %{SOURCE5} ./rfc1912.txt
|
||||
install -m 644 %{SOURCE21} ./Copyright
|
||||
@ -354,7 +353,7 @@ install -m 644 %{SOURCE21} ./Copyright
|
||||
mkdir -p sample/etc sample/var/named/{data,slaves}
|
||||
install -m 644 %{SOURCE25} sample/etc/named.conf
|
||||
# Copy default configuration to %%doc to make it usable from system-config-bind
|
||||
cp -fp ${RPM_BUILD_ROOT}/etc/named.conf named.conf.default
|
||||
install -m 644 ${RPM_BUILD_ROOT}/etc/named.conf named.conf.default
|
||||
install -m 644 ${RPM_BUILD_ROOT}/etc/named.rfc1912.zones sample/etc/named.rfc1912.zones
|
||||
install -m 644 ${RPM_BUILD_ROOT}/var/named/{named.ca,named.localhost,named.loopback,named.empty} sample/var/named
|
||||
for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do
|
||||
@ -458,6 +457,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%files
|
||||
# Hide configuration
|
||||
%defattr(0640,root,named,0750)
|
||||
%dir %{_sysconfdir}/named
|
||||
%dir %{_localstatedir}/named
|
||||
%config(noreplace) %verify(not link) %{_sysconfdir}/named.conf
|
||||
%config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones
|
||||
@ -558,13 +558,16 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%dir %{chroot_prefix}
|
||||
%dir %{chroot_prefix}/dev
|
||||
%dir %{chroot_prefix}/etc
|
||||
%dir %{chroot_prefix}/etc/named
|
||||
%dir %{chroot_prefix}/etc/pki/dnssec-keys
|
||||
%dir %{chroot_prefix}/var
|
||||
%dir %{chroot_prefix}/var/run
|
||||
%dir %{chroot_prefix}/var/named
|
||||
%ghost %config(noreplace) %{chroot_prefix}/etc/named.conf
|
||||
%defattr(0660,named,named,0770)
|
||||
%dir %{chroot_prefix}/var/named/slaves
|
||||
%dir %{chroot_prefix}/var/named/data
|
||||
%dir %{chroot_prefix}/var/named/dynamic
|
||||
%ghost %dir %{chroot_prefix}/var/named/slaves
|
||||
%ghost %dir %{chroot_prefix}/var/named/data
|
||||
%ghost %dir %{chroot_prefix}/var/named/dynamic
|
||||
%dir %{chroot_prefix}/var/run/named
|
||||
%dir %{chroot_prefix}/var/tmp
|
||||
%dir %{chroot_prefix}/var/log
|
||||
@ -575,6 +578,12 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%ghost %{chroot_prefix}/etc/localtime
|
||||
|
||||
%changelog
|
||||
* Wed Jun 17 2009 Adam Tkac <atkac redhat com> 32:9.6.1-1
|
||||
- 9.6.1 release
|
||||
- simplify chroot maintenance. Important files and directories are mounted into
|
||||
chroot (see /etc/sysconfig/named for more info, #504596)
|
||||
- fix doc/named.conf.default perms
|
||||
|
||||
* Wed May 27 2009 Adam Tkac <atkac redhat com> 32:9.6.1-0.4.rc1
|
||||
- 9.6.1rc1 release
|
||||
|
||||
|
47
named.init
47
named.init
@ -47,6 +47,47 @@ fi
|
||||
[ /etc/sysconfig/dnssec -nt /etc/named.conf ] && \
|
||||
/usr/sbin/dnssec-configure -b --norestart --dnssec="$DNSSEC" --dlv="$DLV"
|
||||
|
||||
ROOTDIR_MOUNT='/etc/named /etc/pki/dnssec-keys /var/named /etc/named.conf
|
||||
/etc/named.dnssec.keys /etc/named.rfc1912.zones /etc/rndc.conf /etc/rndc.key'
|
||||
|
||||
mount_chroot_conf()
|
||||
{
|
||||
if [ -n "$ROOTDIR" ]; then
|
||||
for all in $ROOTDIR_MOUNT; do
|
||||
# Skip nonexistant files
|
||||
[ -e "$all" ] || continue
|
||||
|
||||
# If mount source is a file
|
||||
if ! [ -d "$all" ]; then
|
||||
# mount it only if it is not present in chroot or it is empty
|
||||
if ! [ -e "$ROOTDIR$all" ] ||
|
||||
[ `ls -s "$ROOTDIR$all" | awk '{ print $1 };'` -eq 0 ]; then
|
||||
touch "$ROOTDIR$all"
|
||||
mount --bind "$all" "$ROOTDIR$all"
|
||||
fi
|
||||
else
|
||||
# Mount source is a directory. Mount it only if directory in chroot is
|
||||
# empty.
|
||||
[ `ls -1A $ROOTDIR$all | wc -l` -eq 0 ] && \
|
||||
mount --bind "$all" "$ROOTDIR$all"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
umount_chroot_conf()
|
||||
{
|
||||
for all in $ROOTDIR_MOUNT; do
|
||||
# Check if file is mount target. Do not use /proc/mounts because detecting
|
||||
# of modified mounted files can fail.
|
||||
if mount | grep -q '.* on '"$ROOTDIR$all"' .*'; then
|
||||
umount "$ROOTDIR$all"
|
||||
# Remove temporary created files
|
||||
[ -f "$all" ] && rm -f "$ROOTDIR$all"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Check if all what named needs running
|
||||
start()
|
||||
{
|
||||
@ -70,6 +111,8 @@ start()
|
||||
|
||||
named_conf=${named_conf:-/etc/named.conf};
|
||||
|
||||
mount_chroot_conf
|
||||
|
||||
if [ ! -r $ROOTDIR$named_conf ]; then
|
||||
echo 'Cannot find configuration file. You could create it by system-config-bind'
|
||||
exit 6;
|
||||
@ -117,12 +160,14 @@ start()
|
||||
failure
|
||||
echo
|
||||
[ -x /usr/bin/logger ] && echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed;
|
||||
umount_chroot_conf
|
||||
exit 2;
|
||||
fi;
|
||||
echo
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
touch /var/lock/subsys/named;
|
||||
else
|
||||
umount_chroot_conf
|
||||
exit 7;
|
||||
fi
|
||||
return 0;
|
||||
@ -148,6 +193,8 @@ stop() {
|
||||
fi;
|
||||
done
|
||||
|
||||
umount_chroot_conf
|
||||
|
||||
# remove pid files
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
rm -f /var/lock/subsys/named
|
||||
|
@ -6,6 +6,22 @@
|
||||
# you must set up the chroot environment
|
||||
# (install the bind-chroot package) before
|
||||
# doing this.
|
||||
# NOTE:
|
||||
# Those directories are automatically mounted to chroot if they are
|
||||
# empty in the ROOTDIR directory. It will simplify maintenance of your
|
||||
# chroot environment.
|
||||
# - /var/named
|
||||
# - /etc/pki/dnssec-keys
|
||||
# - /etc/named
|
||||
#
|
||||
# Those files are mounted as well if target file doesn't exist in
|
||||
# chroot.
|
||||
# - /etc/named.conf
|
||||
# - /etc/rndc.conf
|
||||
# - /etc/rndc.key
|
||||
# - /etc/named.rfc1912.zones
|
||||
# - /etc/named.dnssec.keys
|
||||
#
|
||||
#
|
||||
# OPTIONS="whatever" -- These additional options will be passed to named
|
||||
# at startup. Don't add -t here, use ROOTDIR instead.
|
||||
|
Loading…
Reference in New Issue
Block a user