diff --git a/bind.spec b/bind.spec index a78d486..aa79eec 100644 --- a/bind.spec +++ b/bind.spec @@ -1,5 +1,5 @@ %define beta %{nil} -%define rel 2 +%define rel 3 %if "%{beta}" != "" Release: 0.%{beta}.%{rel} %else @@ -22,11 +22,11 @@ Patch3: bind-9.1.3rc2-key.patch Patch4: bind-9.1.3-ttl.patch Url: http://www.isc.org/products/BIND/ Buildroot: %{_tmppath}/%{name}-root -BuildPrereq: tar >= 1.13.18 +BuildPrereq: tar >= 1.13.18 openssl-devel gcc glibc-devel Requires(pre,preun): shadow-utils Requires(post,preun): chkconfig Requires(post): textutils, fileutils, sed -Requires: bind-utils +Requires: bind-utils /bin/usleep %description BIND (Berkeley Internet Name Domain) is an implementation of the DNS @@ -140,7 +140,7 @@ fi /sbin/chkconfig --add named %clean -rm -rf ${RPM_BUILD_ROOT} ${RPM_BUILD_DIR}/%{name}-%{version} +#rm -rf ${RPM_BUILD_ROOT} ${RPM_BUILD_DIR}/%{name}-%{version} %post utils -p /sbin/ldconfig @@ -195,6 +195,13 @@ rm -rf ${RPM_BUILD_ROOT} ${RPM_BUILD_DIR}/%{name}-%{version} /usr/include/* %changelog +* Thu Jul 19 2001 Bernhard Rosenkraenzer 9.1.3-3 +- Add build dependencies (#49368) +- Make sure running service named start several times doesn't create + useless processes (#47596) +- Work around the named parent process returning 0 even if the config + file is broken (it's parsed later by the child processes) (#45484) + * Mon Jul 16 2001 Bernhard Rosenkraenzer 9.1.3-2 - Don't use rndc status, it's not yet implemented (#48839) diff --git a/named.init b/named.init index 636d9c6..c5d27b8 100755 --- a/named.init +++ b/named.init @@ -28,13 +28,28 @@ prog="named" start() { # Start daemons. + if [ -n "`/sbin/pidof named`" ]; then + echo -n $"$prog: already running" + return 1 + fi echo -n $"Starting $prog: " if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then OPTIONS="${OPTIONS} -t ${ROOTDIR}" fi - daemon named -u named ${OPTIONS} + # Since named doesn't return proper exit codes at the moment + # (won't be fixed before 9.2), we can't use daemon here - emulate + # its functionality + base=$prog + named -u named ${OPTIONS} RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named + usleep 100000 + if [ -z "`/sbin/pidof named`" ]; then + # The child processes have died after fork()ing, e.g. + # because of a broken config file + RETVAL=1 + fi + [ $RETVAL -ne 0 ] && failure $"$base startup" + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named && success $"$base startup" echo return $RETVAL }