- 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
|
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 PATCHVER P1
|
||||||
%define PREVER rc1
|
#%define PREVER rc1
|
||||||
#%define VERSION %{version}
|
#%define VERSION %{version}
|
||||||
#%define VERSION %{version}-%{PATCHVER}
|
#%define VERSION %{version}-%{PATCHVER}
|
||||||
%define VERSION %{version}%{PREVER}
|
%define VERSION %{version}
|
||||||
|
|
||||||
%{?!SDB: %define SDB 1}
|
%{?!SDB: %define SDB 1}
|
||||||
%{?!test: %define test 0}
|
%{?!test: %define test 0}
|
||||||
@ -20,7 +20,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv
|
|||||||
Name: bind
|
Name: bind
|
||||||
License: ISC
|
License: ISC
|
||||||
Version: 9.6.1
|
Version: 9.6.1
|
||||||
Release: 0.4.%{PREVER}%{?dist}
|
Release: 1%{?dist}
|
||||||
Epoch: 32
|
Epoch: 32
|
||||||
Url: http://www.isc.org/products/BIND/
|
Url: http://www.isc.org/products/BIND/
|
||||||
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -31,7 +31,6 @@ Source1: named.sysconfig
|
|||||||
Source2: named.init
|
Source2: named.init
|
||||||
Source3: named.logrotate
|
Source3: named.logrotate
|
||||||
Source5: rfc1912.txt
|
Source5: rfc1912.txt
|
||||||
Source6: bind-chroot.tar.bz2
|
|
||||||
Source7: bind-9.3.1rc1-sdb_tools-Makefile.in
|
Source7: bind-9.3.1rc1-sdb_tools-Makefile.in
|
||||||
Source8: dnszone.schema
|
Source8: dnszone.schema
|
||||||
Source12: README.sdb_pgsql
|
Source12: README.sdb_pgsql
|
||||||
@ -237,11 +236,6 @@ sed -i -e \
|
|||||||
's/RELEASEVER=\(.*\)/RELEASEVER=\1-RedHat-%{version}-%{release}/' \
|
's/RELEASEVER=\(.*\)/RELEASEVER=\1-RedHat-%{version}-%{release}/' \
|
||||||
version
|
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
|
libtoolize -c -f; aclocal -I m4 --force; autoheader -f; autoconf -f
|
||||||
|
|
||||||
%configure \
|
%configure \
|
||||||
@ -307,22 +301,24 @@ mkdir -p ${RPM_BUILD_ROOT}/var/run/named
|
|||||||
mkdir -p ${RPM_BUILD_ROOT}/var/log
|
mkdir -p ${RPM_BUILD_ROOT}/var/log
|
||||||
|
|
||||||
#chroot
|
#chroot
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}
|
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}/{dev,etc,var}
|
||||||
tar --no-same-owner -jxvf %{SOURCE6} --directory ${RPM_BUILD_ROOT}/%{chroot_prefix}
|
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
|
# these are required to prevent them being erased during upgrade of previous
|
||||||
# versions that included them (bug #130121):
|
# versions that included them (bug #130121):
|
||||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/null
|
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/null
|
||||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/random
|
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/random
|
||||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/zero
|
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/zero
|
||||||
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/localtime
|
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/localtime
|
||||||
|
|
||||||
|
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/named.conf
|
||||||
#end chroot
|
#end chroot
|
||||||
|
|
||||||
make DESTDIR=${RPM_BUILD_ROOT} install
|
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 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 755 %SOURCE2 ${RPM_BUILD_ROOT}/etc/rc.d/init.d/named
|
||||||
install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/logrotate.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
|
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
|
||||||
install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/named
|
install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/named
|
||||||
%if %{SDB}
|
%if %{SDB}
|
||||||
@ -346,6 +342,9 @@ touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/named.log
|
|||||||
|
|
||||||
# configuration files:
|
# configuration files:
|
||||||
tar -C ${RPM_BUILD_ROOT} -xjf %{SOURCE28}
|
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 %{SOURCE5} ./rfc1912.txt
|
||||||
install -m 644 %{SOURCE21} ./Copyright
|
install -m 644 %{SOURCE21} ./Copyright
|
||||||
@ -354,7 +353,7 @@ install -m 644 %{SOURCE21} ./Copyright
|
|||||||
mkdir -p sample/etc sample/var/named/{data,slaves}
|
mkdir -p sample/etc sample/var/named/{data,slaves}
|
||||||
install -m 644 %{SOURCE25} sample/etc/named.conf
|
install -m 644 %{SOURCE25} sample/etc/named.conf
|
||||||
# Copy default configuration to %%doc to make it usable from system-config-bind
|
# 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}/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
|
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
|
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
|
%files
|
||||||
# Hide configuration
|
# Hide configuration
|
||||||
%defattr(0640,root,named,0750)
|
%defattr(0640,root,named,0750)
|
||||||
|
%dir %{_sysconfdir}/named
|
||||||
%dir %{_localstatedir}/named
|
%dir %{_localstatedir}/named
|
||||||
%config(noreplace) %verify(not link) %{_sysconfdir}/named.conf
|
%config(noreplace) %verify(not link) %{_sysconfdir}/named.conf
|
||||||
%config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones
|
%config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones
|
||||||
@ -558,13 +558,16 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%dir %{chroot_prefix}
|
%dir %{chroot_prefix}
|
||||||
%dir %{chroot_prefix}/dev
|
%dir %{chroot_prefix}/dev
|
||||||
%dir %{chroot_prefix}/etc
|
%dir %{chroot_prefix}/etc
|
||||||
|
%dir %{chroot_prefix}/etc/named
|
||||||
|
%dir %{chroot_prefix}/etc/pki/dnssec-keys
|
||||||
%dir %{chroot_prefix}/var
|
%dir %{chroot_prefix}/var
|
||||||
%dir %{chroot_prefix}/var/run
|
%dir %{chroot_prefix}/var/run
|
||||||
%dir %{chroot_prefix}/var/named
|
%dir %{chroot_prefix}/var/named
|
||||||
|
%ghost %config(noreplace) %{chroot_prefix}/etc/named.conf
|
||||||
%defattr(0660,named,named,0770)
|
%defattr(0660,named,named,0770)
|
||||||
%dir %{chroot_prefix}/var/named/slaves
|
%ghost %dir %{chroot_prefix}/var/named/slaves
|
||||||
%dir %{chroot_prefix}/var/named/data
|
%ghost %dir %{chroot_prefix}/var/named/data
|
||||||
%dir %{chroot_prefix}/var/named/dynamic
|
%ghost %dir %{chroot_prefix}/var/named/dynamic
|
||||||
%dir %{chroot_prefix}/var/run/named
|
%dir %{chroot_prefix}/var/run/named
|
||||||
%dir %{chroot_prefix}/var/tmp
|
%dir %{chroot_prefix}/var/tmp
|
||||||
%dir %{chroot_prefix}/var/log
|
%dir %{chroot_prefix}/var/log
|
||||||
@ -575,6 +578,12 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%ghost %{chroot_prefix}/etc/localtime
|
%ghost %{chroot_prefix}/etc/localtime
|
||||||
|
|
||||||
%changelog
|
%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
|
* Wed May 27 2009 Adam Tkac <atkac redhat com> 32:9.6.1-0.4.rc1
|
||||||
- 9.6.1rc1 release
|
- 9.6.1rc1 release
|
||||||
|
|
||||||
|
47
named.init
47
named.init
@ -47,6 +47,47 @@ fi
|
|||||||
[ /etc/sysconfig/dnssec -nt /etc/named.conf ] && \
|
[ /etc/sysconfig/dnssec -nt /etc/named.conf ] && \
|
||||||
/usr/sbin/dnssec-configure -b --norestart --dnssec="$DNSSEC" --dlv="$DLV"
|
/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
|
# Check if all what named needs running
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
@ -70,6 +111,8 @@ start()
|
|||||||
|
|
||||||
named_conf=${named_conf:-/etc/named.conf};
|
named_conf=${named_conf:-/etc/named.conf};
|
||||||
|
|
||||||
|
mount_chroot_conf
|
||||||
|
|
||||||
if [ ! -r $ROOTDIR$named_conf ]; then
|
if [ ! -r $ROOTDIR$named_conf ]; then
|
||||||
echo 'Cannot find configuration file. You could create it by system-config-bind'
|
echo 'Cannot find configuration file. You could create it by system-config-bind'
|
||||||
exit 6;
|
exit 6;
|
||||||
@ -117,12 +160,14 @@ start()
|
|||||||
failure
|
failure
|
||||||
echo
|
echo
|
||||||
[ -x /usr/bin/logger ] && echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed;
|
[ -x /usr/bin/logger ] && echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed;
|
||||||
|
umount_chroot_conf
|
||||||
exit 2;
|
exit 2;
|
||||||
fi;
|
fi;
|
||||||
echo
|
echo
|
||||||
if [ $RETVAL -eq 0 ]; then
|
if [ $RETVAL -eq 0 ]; then
|
||||||
touch /var/lock/subsys/named;
|
touch /var/lock/subsys/named;
|
||||||
else
|
else
|
||||||
|
umount_chroot_conf
|
||||||
exit 7;
|
exit 7;
|
||||||
fi
|
fi
|
||||||
return 0;
|
return 0;
|
||||||
@ -148,6 +193,8 @@ stop() {
|
|||||||
fi;
|
fi;
|
||||||
done
|
done
|
||||||
|
|
||||||
|
umount_chroot_conf
|
||||||
|
|
||||||
# remove pid files
|
# remove pid files
|
||||||
if [ $RETVAL -eq 0 ]; then
|
if [ $RETVAL -eq 0 ]; then
|
||||||
rm -f /var/lock/subsys/named
|
rm -f /var/lock/subsys/named
|
||||||
|
@ -6,6 +6,22 @@
|
|||||||
# you must set up the chroot environment
|
# you must set up the chroot environment
|
||||||
# (install the bind-chroot package) before
|
# (install the bind-chroot package) before
|
||||||
# doing this.
|
# 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
|
# OPTIONS="whatever" -- These additional options will be passed to named
|
||||||
# at startup. Don't add -t here, use ROOTDIR instead.
|
# at startup. Don't add -t here, use ROOTDIR instead.
|
||||||
|
Loading…
Reference in New Issue
Block a user