Re: Broken bind (Re: rawhide report: 20060321 changes)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dnia 22-03-2006, śro o godzinie 13:42 -0800, Jesse Keating napisał(a):
[..] 
> Tomasz, before (or if) you renamed the named.caching-nameserver.conf, did 
> named prefer this file over your modified named.conf ?

No, named.caching-nameserver.conf was preffered but this doesn't metter
now because inti script from today bind-9.3.2-12.FC6 seems works
correctly.
Still IMO adding special handling for named.caching-nameserver.conf in
separated bind-config package is IMO wrong way (IMO best will be put
caching only configuration as default configura example .

BTW I found next bug in current bind. Iin libbind.pc in Libs: is
specyfied -L/usr/lib - this will break 64bit archs
Patch in attachment.

I second atachemnt is patch for init scrips (use tabs instead spaces,
removed trailing spaces and tabs, removed ";" on EOF; rolled in multipe
rm commands to single run with more than one file for remove).

In next attachment are bind.spec cleanups:
- removed trailig spaces and tabs,
- use tabs instead spaces,
- remove gcc and tar from BuildRequires (this is esential BR so specify
  this directly isn't neccessary),
- simplified BuildRequires rules,
- s/textutils, fileutils/coreutils/ in Requires rules,
- removed not neccessatry specs conditions (%if in packages descriptions
  and %post/%postun scripts can be ommited),
- simplifications in %build,
- s/\${RPM_BUILD_ROOT}/$RPM_BUILD_ROOT/
- %clean moved after %install and before all %post/%pre/%post/%postun
  scripts,
- s,/usr/share,%{_datadir},
- cleanups in %prep,
- move unpack RFC docs to %prep (fixes for --short-circuit build),
- remove nit neccessary ";" in scripts and 
- rewrited sdb %postun for use only sed (this allow minimize number of
  Requires it will be also good rewrite %post script in sed because
  using this allow remove from sdb Requires(post) mktemp and SELinux
  utils because sed preserves SElinux context on files).

kloczek

Index: libbind.pc
===================================================================
RCS file: /cvs/dist/devel/bind/libbind.pc,v
retrieving revision 1.1
diff -u -r1.1 libbind.pc
--- libbind.pc	8 Mar 2006 18:21:32 -0000	1.1
+++ libbind.pc	23 Mar 2006 16:56:31 -0000
@@ -2,5 +2,5 @@
 Name:           libbind
 Description:    BIND 8 compatible DNS Resolver Library
 Version:	9.3.2
-Libs:   	-L/usr/lib -lbind
+Libs:   	-lbind
 Cflags: 	-I/usr/include/bind
\ No newline at end of file
Index: named.init
===================================================================
RCS file: /cvs/dist/devel/bind/named.init,v
retrieving revision 1.42
diff -u -r1.42 named.init
--- named.init	22 Mar 2006 17:55:16 -0000	1.42
+++ named.init	23 Mar 2006 16:59:34 -0000
@@ -1,12 +1,12 @@
 #!/bin/bash
 #
-# named           This shell script takes care of starting and stopping
-#                 named (BIND DNS server).
+# named		This shell script takes care of starting and stopping
+#		named (BIND DNS server).
 #
-# chkconfig: - 13 87
-# description: named (BIND) is a Domain Name Server (DNS) \
+# chkconfig:	- 13 87
+# description:	named (BIND) is a Domain Name Server (DNS) \
 # that is used to resolve host names to IP addresses.
-# probe: true
+# probe:	true
 
 # Source function library.
 . /etc/rc.d/init.d/functions
@@ -20,52 +20,53 @@
 [ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
 
 if [ -n "$ROOTDIR" ]; then
-   ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`;
-   rdl=`/usr/bin/readlink $ROOTDIR`;
-   if [ -n "$rdl" ]; then
-      ROOTDIR="$rdl";
-   fi;
+	ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`
+	rdl=`/usr/bin/readlink $ROOTDIR`
+	if [ -n "$rdl" ]; then
+	    ROOTDIR="$rdl"
+	fi
 fi
 
 RETVAL=0
 named='named'
 if [[ "$ENABLE_SDB" = [yY1]* ]] && [ -x /usr/sbin/named_sdb ]; then
-    named='named_sdb';
-fi;
+	named='named_sdb'
+fi
 prog=$named
 
 [ -x /usr/sbin/$named ] || exit 1
 
 nmdcOption()
-{ let i=0; 
-  for a in $*; 
-  do ((++i)); 
-     if [ $a = -c ]; then 
-	 ((++i)); 
-	 eval 'echo $'$i;
-     elif [[ $a = -c* ]]; then 
-	 echo ${a#-c}; 
-     fi; 
-  done; 
+{
+	let i=0
+	for a in $*
+	do ((++i))
+	if [ $a = -c ]; then
+		((++i))
+		eval 'echo $'$i
+	elif [[ $a = -c* ]]; then
+		echo ${a#-c}
+	fi
+	done
 }
 
-named_c_option=`nmdcOption $OPTIONS`;
-named_conf=${named_c_option:-/etc/named.conf};
+named_c_option=`nmdcOption $OPTIONS`
+named_conf=${named_c_option:-/etc/named.conf}
 
 if [ ! -r ${ROOTDIR}${named_conf} ] ; then
-   if [ -z "$named_c_option" ] && [ -r ${ROOTDIR}/etc/named.caching-nameserver.conf ]; then
-       named_conf='/etc/named.caching-nameserver.conf';
-       OPTIONS="$OPTIONS -c ${named_conf}";
-   else
-       echo Locating $ROOTDIR/${named_conf} failed:
-       failure
-       echo;
-   fi;
-fi;
+	if [ -z "$named_c_option" ] && [ -r ${ROOTDIR}/etc/named.caching-nameserver.conf ]; then
+		named_conf='/etc/named.caching-nameserver.conf'
+		OPTIONS="$OPTIONS -c ${named_conf}"
+	else
+		echo Locating $ROOTDIR/${named_conf} failed:
+		failure
+		echo
+	fi
+fi
 
 start() {
-        # Start daemons.
-        echo -n $"Starting $named: "
+	# Start daemons.
+	echo -n $"Starting $named: "
 	if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
 		echo -n $"$named: already running"
 		failure
@@ -75,140 +76,135 @@
 	ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
 	if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
 		OPTIONS="${OPTIONS} -t ${ROOTDIR}"
-		ckcf_options="$ckcf_options -t ${ROOTDIR}";
+		ckcf_options="$ckcf_options -t ${ROOTDIR}"
 		if [ -s /etc/localtime ]; then
-		    cp -fp /etc/localtime ${ROOTDIR}/etc/localtime
-		fi;
+			cp -fp /etc/localtime ${ROOTDIR}/etc/localtime
+		fi
 		if [ ! -d ${ROOTDIR}/proc ]; then
-		    mkdir -p ${ROOTDIR}/proc
+			mkdir -p ${ROOTDIR}/proc
 		fi
 		if ! egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' /proc/mounts; then
-		    mount --bind /proc ${ROOTDIR}/proc >/dev/null 2>&1 
+			mount --bind /proc ${ROOTDIR}/proc >/dev/null 2>&1
 		fi
-		dbus=0;
+		dbus=0
 		for a in $OPTIONS; do
-		    if [ $a  = "-D" ]; then
-			dbus=1;
-	            fi;
-	        done
+			if [ $a  = "-D" ]; then
+				dbus=1
+			fi
+		done
 		if [ $dbus -eq 1 ]; then
-		    if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; then
-			mkdir -p ${ROOTDIR}/var/run/dbus
-			if [ ! -d  /var/run/dbus ] ; then
-			    mkdir -p /var/run/dbus ;
-			fi;
-			mount --bind /var/run/dbus ${ROOTDIR}/var/run/dbus > /dev/null 2>&1;
-		    fi;		    
-		fi;		
+			if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; then
+				mkdir -p ${ROOTDIR}/var/run/dbus
+				if [ ! -d /var/run/dbus ] ; then
+					mkdir -p /var/run/dbus 
+				fi
+				mount --bind /var/run/dbus ${ROOTDIR}/var/run/dbus > /dev/null 2>&1
+			fi
+		fi
 	fi
 	no_write_master_zones=0
 	if [ -e /etc/selinux/config ]; then
-           .  /etc/selinux/config
-           if [[ ( "$SELINUX" != 'disabled') && ("$SELINUXTYPE" != "") && (-d /etc/selinux/${SELINUXTYPE}) && (-e /etc/selinux/${SELINUXTYPE}/booleans || (-e /etc/selinux/${SELINUXTYPE}/booleans.local)) ]]; then
-	       if [ -e /etc/selinux/${SELINUXTYPE}/booleans.local ]; then
-		   . /etc/selinux/${SELINUXTYPE}/booleans.local;
-	       else
-		   . /etc/selinux/${SELINUXTYPE}/booleans;
-               fi;
-	       if echo "$named_write_master_zones" | /bin/egrep -q '^[0-9]+$'; then
-		   if [ "$named_write_master_zones" -eq 1 ] ; then
-		       /bin/chown -f --from=root:named named:named $ROOTDIR/var/named
-		   elif [ "$named_write_master_zones" -eq 0 ] ; then
-		       /bin/chown -f --from=named:named root:named $ROOTDIR/var/named
-		   fi;
-               fi;
-	   else
-	       no_write_master_zones=1
-	   fi;
+		. /etc/selinux/config
+		if [[ ( "$SELINUX" != 'disabled') && ("$SELINUXTYPE" != "") && (-d /etc/selinux/${SELINUXTYPE}) && (-e /etc/selinux/${SELINUXTYPE}/booleans || (-e /etc/selinux/${SELINUXTYPE}/booleans.local)) ]]; then
+			if [ -e /etc/selinux/${SELINUXTYPE}/booleans.local ]; then
+				. /etc/selinux/${SELINUXTYPE}/booleans.local
+			else
+				. /etc/selinux/${SELINUXTYPE}/booleans
+			fi
+			if echo "$named_write_master_zones" | /bin/egrep -q '^[0-9]+$'; then
+				if [ "$named_write_master_zones" -eq 1 ] ; then
+					/bin/chown -f --from=root:named named:named $ROOTDIR/var/named
+				elif [ "$named_write_master_zones" -eq 0 ] ; then
+					/bin/chown -f --from=named:named root:named $ROOTDIR/var/named
+				fi
+			fi
+		else
+			no_write_master_zones=1
+		fi
 	else
-	    no_write_master_zones=1
-        fi;
+		no_write_master_zones=1
+	fi
 	if [ "$no_write_master_zones" -eq 1 ]; then
-	    if [[ "$ENABLE_ZONE_WRITE" =  [yY1]* ]]; then
-		/bin/chown -f --from=root:named named:named $ROOTDIR/var/named
-	    elif [[ "$ENABLE_ZONE_WRITE" =  [nN0]* ]]; then	        
-		/bin/chown -f --from=named:named root:named $ROOTDIR/var/named
-	    fi;
+		if [[ "$ENABLE_ZONE_WRITE" = [yY1]* ]]; then
+			/bin/chown -f --from=root:named named:named $ROOTDIR/var/named
+		elif [[ "$ENABLE_ZONE_WRITE" = [nN0]* ]]; then
+			/bin/chown -f --from=named:named root:named $ROOTDIR/var/named
+		fi
 	fi
-        conf_ok=0;
+	conf_ok=0
 	if [ -x /usr/sbin/named-checkconf ] && [ -x /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf $ckcf_options ${named_conf} >/dev/null 2>&1; then
-           conf_ok=1;
-        else
-	   RETVAL=$?;
-	fi
-	if [ $conf_ok -eq 1 ]; then	   
-	   daemon /usr/sbin/$named -u named ${OPTIONS};
-	   RETVAL=$?;
-	   if [ $RETVAL -eq 0 ]; then
-	       rm -f /var/run/named.pid
-	       rm -f /var/run/named_sdb.pid 2>/dev/null
-	       ln -s $ROOTDIR/var/run/named/named.pid /var/run/named.pid;
-	       if [ "$named" = "named_sdb" ]; then
-		   ln -s $ROOTDIR/var/run/named/named.pid /var/run/named_sdb.pid;
-	       fi;
-	   fi;
+		conf_ok=1
 	else
-	   named_err="`/usr/sbin/named-checkconf $ckcf_options $named_conf 2>&1`";	   
-	   echo
-	   echo $"Error in named configuration"':';
-	   echo "$named_err";
-	   failure
-	   echo
-	   if [ -x /usr/bin/logger ]; then
-	       echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed 
-           fi;
-           return $RETVAL;
-        fi;
- 	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/named 
-        echo
+		RETVAL=$?
+	fi
+	if [ $conf_ok -eq 1 ]; then
+		daemon /usr/sbin/$named -u named ${OPTIONS}
+		RETVAL=$?
+		if [ $RETVAL -eq 0 ]; then
+			rm -f /var/run/named{,_sdb}.pid
+			ln -s $ROOTDIR/var/run/named/named.pid /var/run/named.pid
+			if [ "$named" = "named_sdb" ]; then
+				ln -s $ROOTDIR/var/run/named/named.pid /var/run/named_sdb.pid
+			fi
+		fi
+	else
+		named_err="`/usr/sbin/named-checkconf $ckcf_options $named_conf 2>&1`"
+		echo
+		echo $"Error in named configuration"':'
+		echo "$named_err"
+		failure
+		echo
+		if [ -x /usr/bin/logger ]; then
+			echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed
+		fi
+		return $RETVAL
+	fi
+ 	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
+	echo
 	return $RETVAL
 }
 stop() {
-        # Stop daemons.
-        echo -n $"Stopping $named: "
-	/usr/sbin/rndc stop >/dev/null 2>&1 
+	# Stop daemons.
+	echo -n $"Stopping $named: "
+	/usr/sbin/rndc stop >/dev/null 2>&1
 	RETVAL=$?
 	if [ $RETVAL -eq 0 ]; then
-	    rm -f /var/lock/subsys/named
-	    rm -f /var/run/named.pid	    
-	    rm -f /var/run/named_sdb.pid 2>/dev/null	    
+		rm -f /var/lock/subsys/named /var/run/named{,_sdb}.pid
 	elif /sbin/pidof -o %PPID $named >/dev/null; then
-	    killproc $named -TERM >/dev/null 2>&1
-	    RETVAL=$?
-	    if [ $RETVAL -eq 0 ]; then
-		rm -f /var/lock/subsys/named
-		rm -f /var/run/named.pid
-		rm -f /var/run/named_sdb.pid 2>/dev/null	    
-	    fi;
-	fi;
+		killproc $named -TERM >/dev/null 2>&1
+		RETVAL=$?
+		if [ $RETVAL -eq 0 ]; then
+			rm -f /var/lock/subsys/named /var/run/named{,_sdb}.pid
+		fi
+	fi
 	if [ $RETVAL -eq 0 ]; then
-	    success
+		success
 	else
-	    failure
-        fi;
+		failure
+	fi
 	echo
 	return $RETVAL
 }
 rhstatus() {
 	/usr/sbin/rndc status
 	return $?
-}	
+}
 restart() {
 	stop
 # wait a couple of seconds for the named to finish closing down
 	sleep 2
 	start
-}	
+}
 reload() {
-        echo -n $"Reloading $named: "
-	p=`/sbin/pidof -o %PPID $named`	
+	echo -n $"Reloading $named: "
+	p=`/sbin/pidof -o %PPID $named`
 	RETVAL=$?
-	if [ "$RETVAL" -eq 0 ]; then 
-	    /usr/sbin/rndc reload >/dev/null 2>&1 || /bin/kill -HUP $p;
-	    RETVAL=$?
-        fi
+	if [ "$RETVAL" -eq 0 ]; then
+		/usr/sbin/rndc reload >/dev/null 2>&1 || /bin/kill -HUP $p
+		RETVAL=$?
+	fi
 	[ "$RETVAL" -eq 0 ] && success $"$named reload" || failure $"$named reload"
-        echo
+	echo
 	return $?
 }
 probe() {
@@ -218,15 +214,15 @@
 	return $?
 }
 checkconfig() {
-        ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
+	ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
 	if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
 		OPTIONS="${OPTIONS} -t ${ROOTDIR}"
-		ckcf_options="$ckcf_options -t ${ROOTDIR}";  
-	fi;
+		ckcf_options="$ckcf_options -t ${ROOTDIR}"
+	fi
 	if [ -x /usr/sbin/named-checkconf ] && [ -x /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf $ckcf_options ${named_conf} | cat ; then
-	    return 0;
+		return 0
 	else
-	    return 1;
+		return 1
 	fi
 }
 
@@ -253,13 +249,12 @@
 	probe)
 		probe
 		;;
-        checkconfig|configtest|check|test)
-	        checkconfig
+	checkconfig|configtest|check|test)
+		checkconfig
 		;;
 	*)
-        	echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|probe}"
+		echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|probe}"
 		exit 1
 esac
 
 exit $?
-
Index: bind.spec
===================================================================
RCS file: /cvs/dist/devel/bind/bind.spec,v
retrieving revision 1.98
diff -u -r1.98 bind.spec
--- bind.spec	22 Mar 2006 18:02:50 -0000	1.98
+++ bind.spec	23 Mar 2006 18:22:13 -0000
@@ -1,11 +1,11 @@
 #
 #               Red Hat BIND package .spec file
-# 
+#
 %{?!SDB:        %define SDB         1}
 %{?!LIBBIND:    %define LIBBIND	    1}
 %{?!efence:     %define efence      0}
 %{?!test:       %define test        0}
-%{?!WITH_DBUS:  %define WITH_DBUS   1} # + dynamic forwarder table management with D-BUS 
+%{?!WITH_DBUS:  %define WITH_DBUS   1} # + dynamic forwarder table management with D-BUS
 %{?!DEBUGINFO:  %define DEBUGINFO   1}
 %{?!bind_uid:   %define bind_uid   25}
 %{?!bind_gid:   %define bind_gid   25}
@@ -84,27 +84,27 @@
 Patch28: 	bind-9.3.2rc1-dbus-0.6.patch
 Patch29: 	bind-9.3.2-bz177854.patch
 #
-Requires:		bind-libs = %{epoch}:%{version}-%{release}, glibc  >= 2.2
-Requires(post): 	bash, textutils, fileutils, sed, grep
-Requires(pre): 		shadow-utils
-Requires(post,preun): 	chkconfig >= 1.3.26
-%if %{selinux}
-Requires(post):	        policycoreutils
-%endif
-%if %{SDB}
 %if %{WITH_DBUS}
-BuildRequires: 		openssl-devel gcc dbus-devel glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar openldap-devel postgresql-devel
-%else
-BuildRequires: 		openssl-devel gcc glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar openldap-devel postgresql-devel
+BuildRequires:	dbus-devel
 %endif
-%else
-%if %{WITH_DBUS}
-BuildRequires: 		openssl-devel gcc dbus-devel glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar
-%else
-BuildRequires: 		openssl-devel gcc glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar
+BuildRequires: 	openssl-devel
+BuildRequires:	glibc-devel >= 2.2.5-26
+BuildRequires:	glibc-kernheaders >= 2.4-7.10
+BuildRequires:	libtool
+BuildRequires:	pkgconfig
+%if %{SDB}
+BuildRequires:	openldap-devel
+BuildRequires:	postgresql-devel
 %endif
+Requires:	bind-libs = %{epoch}:%{version}-%{release}, glibc  >= 2.2
+Requires(post): bash, coreutils, sed, grep
+Requires(pre): 	shadow-utils
+Requires(post): chkconfig >= 1.3.26
+Requires(preun):chkconfig >= 1.3.26
+%if %{selinux}
+Requires(post):	policycoreutils
 %endif
-# fix bug 176100: do not Require: perl just for namedGetForwarders ! 
+# fix bug 176100: do not Require: perl just for namedGetForwarders !
 %define __perl_requires %SOURCE15
 %define __find_requires %SOURCE15
 %define _use_internal_dependency_generator 0
@@ -118,7 +118,7 @@
 tools for verifying that the DNS server is operating properly.
 
 
-%package  libs
+%package libs
 Summary:  Libraries used by various DNS packages
 Group:    Applications/System
 
@@ -126,10 +126,10 @@
 Contains libraries used by both the bind server package as well as the utils packages.
 
 
-%package  utils
-Summary:  Utilities for querying DNS name servers.
-Group:    Applications/System
-Requires: bind-libs = %{epoch}:%{version}-%{release}
+%package utils
+Summary:	Utilities for querying DNS name servers.
+Group:		Applications/System
+Requires:	bind-libs = %{epoch}:%{version}-%{release}
 
 %description utils
 Bind-utils contains a collection of utilities for querying DNS (Domain
@@ -142,10 +142,10 @@
 servers.
 
 
-%package   devel
-Summary:   Include files and libraries needed for bind DNS development.
-Group:     Development/Libraries
-Requires:  bind-libs = %{epoch}:%{version}-%{release}
+%package devel
+Summary:	Header files and libraries needed for bind DNS development.
+Group:		Development/Libraries
+Requires:	bind-libs = %{epoch}:%{version}-%{release}
 
 %description devel
 The bind-devel package contains all the include files and the library
@@ -153,35 +153,34 @@
 9.x.x.
 
 
-%package   config
-Summary:   Default BIND configuration files for a caching nameserver
-Group: 	   System Environment/Daemons
-Obsoletes: caching-nameserver
-Provides:  caching-nameserver
-Requires:  bind = %{epoch}:%{version}-%{release}
-Requires(post): bash, textutils, fileutils, sed, grep
+%package config
+Summary:	Default BIND configuration files for a caching nameserver
+Group:		System Environment/Daemons
+Obsoletes:	caching-nameserver
+Provides:	caching-nameserver
+Requires:	bind = %{epoch}:%{version}-%{release}
+Requires(post):	bash, coreutils, sed, grep
 %if %{selinux}
-Requires(post): policycoreutils
+Requires(post):	policycoreutils
 %endif
 
 %description config
-The bind-config package includes the configuration files which will make 
+The bind-config package includes the configuration files which will make
 the ISC BIND named DNS name server act as a simple caching nameserver.
 A caching nameserver is a DNS Resolver, as defined in RFC 1035, section 7.
-ISC BIND named(8) provides a very efficient, flexible and robust resolver as 
-well as a server of authoritative DNS data - many users use this package 
+ISC BIND named(8) provides a very efficient, flexible and robust resolver as
+well as a server of authoritative DNS data - many users use this package
 along with BIND to implement their primary system DNS resolver service.
 If you would like to set up a caching name server, you'll need to install
-bind, bind-libs, and bind-utils along with this package.  
+bind, bind-libs, and bind-utils along with this package.
 This package replaces the caching-nameserver package.
 
-
-%package   chroot
+%package chroot
 Summary:   A chroot runtime environment for the ISC BIND DNS server, named(8)
 Group: 	   System Environment/Daemons
 Prefix:    %{chroot_prefix}
 Requires:  bind = %{epoch}:%{version}-%{release}
-Requires(post): bash, textutils, fileutils, sed, grep
+Requires(post): bash, coreutils, sed, grep
 %if %{selinux}
 Requires(post): policycoreutils
 %endif
@@ -191,9 +190,6 @@
 chroot(2) jail for the named(8) program from the BIND package.
 Based off code from Jan "Yenya" Kasprzak <kas@xxxxxxxxxx>
 
-
-%if %{LIBBIND}
-
 %package libbind-devel
 Summary: Include files and library needed to use the BIND resolver library.
 Group: Development/Libraries
@@ -204,16 +200,14 @@
 compatible with that from ISC BIND 8, and the /usr/include/bind include files
 necessary to develop software that uses it.
 
-%endif
-
-
-%if %{SDB}
-
 %package sdb
-Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server with database backends.
-Group: System Environment/Daemons
-Requires: bind-libs = %{epoch}:%{version}-%{release}, bind-utils = %{epoch}:%{version}-%{release},  glibc  >= 2.2
-Requires(post): bash, textutils, fileutils, sed, grep, mktemp
+Summary:	The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server with database backends.
+Group:		System Environment/Daemons
+Requires:	bind-libs = %{epoch}:%{version}-%{release}
+Requires:	bind-utils = %{epoch}:%{version}-%{release}
+Requires:	glibc >= 2.2
+Requires(post):	bash, coreutils, sed, grep, mktemp
+Requires(postun):sed
 %if %{selinux}
 Requires(post): policycoreutils
 %endif
@@ -225,38 +219,14 @@
 (routines for applications to use when interfacing with DNS); and
 tools for verifying that the DNS server is operating properly.
 
-BIND SDB (Simplified Database Backend) provides named_sdb, the DNS 
-name server compiled to include support for using alternative Zone Databases 
-stored in an LDAP server (ldapdb), a postgreSQL database (pgsqldb), or in the 
-filesystem (dirdb), in addition  to the standard in-memory RBT (Red Black Tree) 
-zone database. 
-
-%endif
-
+BIND SDB (Simplified Database Backend) provides named_sdb, the DNS
+name server compiled to include support for using alternative Zone Databases
+stored in an LDAP server (ldapdb), a postgreSQL database (pgsqldb), or in the
+filesystem (dirdb), in addition  to the standard in-memory RBT (Red Black Tree)
+zone database.
 
 %prep
-%setup -q -n %{name}-%{version}
-%patch -p1 -b .varrun
-%patch1 -p1 -b .key
-%patch2 -p1 -b .openssl_suffix
-#%define         posix_threads       0
-#%if %{posix_threads}
-#%patch3 -p1 -b .posixthreads
-#^- This patch is no longer required and would not work anyway (see BZ 87525).
-#%endif
-%patch4 -p1 -b .bsdcompat
-%patch5 -p1 -b .nonexec
-%patch6 -p1 -b .nsl
-#%patch7 -p1 -b .pie
-# This patch now in patch10
-#%patch8 -p1 -b .handle_send_errors
-# This patch is now in ISC bind-9.3.1x
-# 
-#%patch9 -p1 -b .missing_dnssec_tools
-#RIP dnssec-signkey and dnssec-makekeyset:
-#1852.	[cleanup]	Remove last vestiges of dnssec-signkey and
-#			dnssec-makekeyset (removed from Makefile years ago).
-#
+%setup -q
 %patch10 -p1 -b .PIE
 %if %{SDB}
 %patch11 -p1 -b .sdbsrc
@@ -316,11 +286,12 @@
 %endif
 %endif
 
+cp %{SOURCE5} doc/rfc
+gzip -9 doc/rfc/*
 
 %build
 libtoolize --copy --force; aclocal; autoconf
 cp -f /usr/share/libtool/config.{guess,sub} .
-export CFLAGS="$RPM_OPT_FLAGS"
 %if %{WITH_DBUS}
 %ifarch s390x x86_64 ppc64
 # every 64-bit arch EXCEPT ia64 has dbus architecture dependant
@@ -333,55 +304,38 @@
 	export CPPFLAGS="$CPPFLAGS `pkg-config --cflags-only-I openssl`"
 	export LDFLAGS="$LDFLAGS `pkg-config --libs-only-L openssl`"
 fi
-#export CFLAGS="-g $CFLAGS"
 %if %{efence}
 export LDFLAGS=-lefence
 %endif
-%if %{LIBBIND}
-%configure --with-libtool --localstatedir=/var \
+%configure \
+	--with-libtool \
+	--localstatedir=/var \
 	--enable-threads \
 	--enable-ipv6 \
 	--with-pic \
 	--with-openssl=/usr \
+%if %{LIBBIND}
 	--enable-libbind
-%else
-%configure --with-libtool --localstatedir=/var \
-	--enable-threads \
-	--enable-ipv6 \
-	--with-pic \
-	--with-openssl=/usr
 %endif
 make %{?_smp_mflags}
-if [ $? -ne 0 ]; then
-   exit $?;
-fi;
-
-
-%if !%{DEBUGINFO}
-%define debug_package %{nil}
-%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-cp %{SOURCE5} doc/rfc
-gzip -9       doc/rfc/*
-mkdir -p ${RPM_BUILD_ROOT}/etc/{rc.d/init.d,logrotate.d}
-mkdir -p ${RPM_BUILD_ROOT}/usr/{bin,lib,sbin,include}
-mkdir -p ${RPM_BUILD_ROOT}/var/named
-mkdir -p ${RPM_BUILD_ROOT}/var/named/slaves
-mkdir -p ${RPM_BUILD_ROOT}/var/named/data
-mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/{man1,man5,man8}
-mkdir -p ${RPM_BUILD_ROOT}/var/run/named
+mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d}
+mkdir -p $RPM_BUILD_ROOT/var/named
+mkdir -p $RPM_BUILD_ROOT/var/named/slaves
+mkdir -p $RPM_BUILD_ROOT/var/named/data
+mkdir -p $RPM_BUILD_ROOT/var/run/named
 #chroot
-mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}
-tar --no-same-owner -zxvf %{SOURCE6} --directory ${RPM_BUILD_ROOT}/%{chroot_prefix} 
+mkdir -p $RPM_BUILD_ROOT%{chroot_prefix}
+tar --no-same-owner -zxvf %{SOURCE6} --directory $RPM_BUILD_ROOT%{chroot_prefix}
 # these are required to prevent them being erased during upgrade of previous
 # versions that included them (bug #130121):
-touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/named.conf
-touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/named.rfc1912.zones
-touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/etc/rndc.key
-touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/null
-touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/dev/random
+touch $RPM_BUILD_ROOT%{chroot_prefix}/etc/named.conf
+touch $RPM_BUILD_ROOT%{chroot_prefix}/etc/named.rfc1912.zones
+touch $RPM_BUILD_ROOT%{chroot_prefix}/etc/rndc.key
+touch $RPM_BUILD_ROOT%{chroot_prefix}/dev/null
+touch $RPM_BUILD_ROOT%{chroot_prefix}/dev/random
 #end chroot
 make DESTDIR=$RPM_BUILD_ROOT install
 install -c -m 640 bin/rndc/rndc.conf $RPM_BUILD_ROOT%{_sysconfdir}
@@ -393,28 +347,26 @@
 key "rndckey" {
         algorithm       hmac-md5;
         secret "@KEY@";
-};
+}
 __EOF
 %{__cc} $RPM_OPT_FLAGS -o $RPM_BUILD_ROOT%{_sbindir}/dns-keygen %{SOURCE4}
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
 cp %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/named
-#mv $RPM_BUILD_ROOT/usr/share/man/man8/named.conf.* $RPM_BUILD_ROOT/usr/share/man/man5
 %if %{SDB}
 mkdir -p $RPM_BUILD_ROOT/etc/openldap/schema
-install -c -m 644 %{SOURCE8} $RPM_BUILD_ROOT/etc/openldap/schema/dnszone.schema
+install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/etc/openldap/schema/dnszone.schema
 cp -fp %{SOURCE12} contrib/sdb/pgsql/
 %endif
 %if %{LIBBIND}
 gunzip < %{SOURCE9} | (cd $RPM_BUILD_ROOT/usr/share; tar -xpf -)
-mkdir -p $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
-cp -fp %{SOURCE28} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/libbind.pc
-chmod 644 $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/libbind.pc
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+install -m 644 %{SOURCE28} $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libbind.pc
 %endif
 %if %{WITH_DBUS}
 mkdir -p $RPM_BUILD_ROOT/etc/dbus-1/system.d
-mkdir -p $RPM_BUILD_ROOT/usr/share/dbus-1/services
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/dbus-1/services
 cp -fp %{SOURCE10} $RPM_BUILD_ROOT/etc/dbus-1/system.d/named.conf
-cp -fp %{SOURCE11} $RPM_BUILD_ROOT/usr/share/dbus-1/services/named.service
+cp -fp %{SOURCE11} $RPM_BUILD_ROOT%{_datadir}/dbus-1/services/named.service
 cp -fp %{SOURCE13} $RPM_BUILD_ROOT%{_sbindir}/namedSetForwarders
 cp -fp %{SOURCE14} $RPM_BUILD_ROOT%{_sbindir}/namedGetForwarders
 %endif
@@ -427,29 +379,29 @@
    ./ifconfig.sh up
    popd
    make test
-   e=$?   
+   e=$?
    pushd system
-   ./ifconfig.sh down	
+   ./ifconfig.sh down
    popd
    popd
    if [ "$e" -ne 0 ]; then
       echo "ERROR: this build of BIND failed 'make test'. Aborting."
-      exit $e;
-   fi;
+      exit $e
+   fi
 else
-   echo 'test==1 : only root can run the tests (they require an ifconfig).';   
+   echo 'test==1 : only root can run the tests (they require an ifconfig).'
 fi
-:;
 %endif
+
 # Files required to run test-suite outside of build tree:
 cp -fp config.h $RPM_BUILD_ROOT/%{_includedir}/bind9
 cp -fp lib/dns/include/dns/forward.h $RPM_BUILD_ROOT/%{_includedir}/dns
 cp -fp lib/isc/unix/include/isc/keyboard.h $RPM_BUILD_ROOT/%{_includedir}/isc
 cp -fp lib/isc/include/isc/hash.h $RPM_BUILD_ROOT/%{_includedir}/isc
 # Remove libtool .la files:
-find $RPM_BUILD_ROOT/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';';
+find $RPM_BUILD_ROOT/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';'
 # /usr/lib/rpm/brp-compress
-# 
+#
 # Ghost config files:
 touch $RPM_BUILD_ROOT/etc/named.conf
 # bind-config files:
@@ -464,20 +416,142 @@
 install -m 644 %{SOURCE22} $RPM_BUILD_ROOT/var/named/named.broadcast
 install -m 644 %{SOURCE23} $RPM_BUILD_ROOT/var/named/named.zero
 for f in /etc/named.caching-nameserver.conf /var/named/{named.ca,named.local,localhost.zone,localdomain.zone,named.ip6.local,named.broadcast,named.zero}; do
-    touch $RPM_BUILD_ROOT/%{chroot_prefix}/$f;
+    touch $RPM_BUILD_ROOT/%{chroot_prefix}/$f
 done
 install -m 644 %{SOURCE24} ./rfc1912.txt
 install -m 644 %{SOURCE25} ./Copyright
 # bind-chroot-admin script:
-sed -e 's^@BIND_CHROOT_PREFIX@^'%{chroot_prefix}'^;s^@BIND_DIR@^'%{bind_dir}'^' < %SOURCE26 > bind-chroot-admin;
+sed -e 's^@BIND_CHROOT_PREFIX@^'%{chroot_prefix}'^;s^@BIND_DIR@^'%{bind_dir}'^' < %{SOURCE26} > bind-chroot-admin
 install -m 754 bind-chroot-admin $RPM_BUILD_ROOT/%{_sbindir}
 %if !%{DEBUGINFO}
 echo 'WARNING - NOT generating debuginfo!'
 /usr/lib/rpm/brp-compress
 exit 0
 %endif
-:;
 
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+if [ "$1" -eq 1 ]; then
+	/usr/sbin/groupadd -g %{bind_gid} -f -r named >/dev/null 2>&1 || :
+	/usr/sbin/useradd  -u %{bind_uid} -r -n -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :
+fi
+
+%post
+/sbin/ldconfig
+/sbin/chkconfig --add named
+if [ "$1" -eq 1 ]; then
+	if [ -f /etc/named.boot -a -x /usr/sbin/named-bootconf -a ! -f /etc/named.conf ]; then
+		# Convert BIND 4 named.bootconf syntax to BIND 9 syntax (should never be used!)
+		cat /etc/named.boot | /usr/sbin/named-bootconf > /etc/named.bootconf-converted.conf
+		if [ "$?" -eq 0 ]; then
+			chmod 644 /etc/named.bootconf-converted.conf
+			cp -fp /etc/named.bootconf-converted.conf /etc/named.conf
+		fi
+	fi
+	if /bin/egrep -q '@KEY@' /etc/rndc.key; then
+		/bin/sed -i -e "s^@KEY@^`/usr/sbin/dns-keygen`^" /etc/rndc.key
+		chmod 0640  /etc/rndc.key
+		chown root:named /etc/rndc.key
+	fi
+	[ -e /selinux/enforce ] && [ -x /sbin/restorecon ] && /sbin/restorecon /etc/rndc.* /etc/named.* >/dev/null 2>&1
+fi
+
+%preun
+if [ "$1" = 0 ]; then
+	/etc/rc.d/init.d/named stop >/dev/null 2>&1 || :
+	/sbin/chkconfig --del named || :
+fi
+
+%postun
+if [ "$1" -ge 1 ]; then
+	/etc/rc.d/init.d/named condrestart >/dev/null 2>&1 || :   
+fi
+
+%triggerpostun -- bind < 8.2.2_P5-15
+/sbin/chkconfig --add named
+/sbin/ldconfig
+
+%triggerpostun -n bind -- bind <= 24:9.3.1-11
+if [ "$1" -gt 0 ]; then
+# bind <= 22:9.3.0-2:
+# These versions of bind installed named service at order 55 in
+# runlevel startup order, after programs like  nis / ntp / nfs
+# which may need its services if using no nameservers in resolv.conf.
+# bind <= 24:9.3.1-11:
+# These versions ran bind with order 11 in runlevel 2, after syslog
+# at order 12 . BIND should run after syslog and now has order '- 13 87'.
+#
+    /sbin/chkconfig named resetpriorities
+fi
+
+%post   libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%postun utils
+if [ $1 = 0 ]; then
+	if [ -f /var/lock/subsys/named ]; then
+		etc/rc.d/init.d/named stop >/dev/null 2>&1 || :
+	fi
+fi
+
+%post config
+if [ "$1" -gt 0 ]; then
+	/usr/bin/chcon system_u:object_r:named_conf_t /etc/named.caching-nameserver.conf >/dev/null 2>&1 || :
+	/usr/bin/chcon system_u:object_r:named_conf_t /etc/named.rfc1912.zones >/dev/null 2>&1 || :
+fi
+if [ "$1" -eq 1 ]; then
+	/usr/sbin/bind-chroot-admin --sync
+fi
+
+%postun config
+if [ "$1" -eq 0 ]; then
+	/usr/sbin/bind-chroot-admin --sync
+fi
+
+%post chroot
+if [ "$1" -gt 0 ]; then
+	/usr/sbin/bind-chroot-admin --enable
+fi
+
+%preun chroot
+if [ "$1" = "0" ]; then
+	/usr/sbin/bind-chroot-admin --disable
+fi
+
+%post   libbind-devel -p /sbin/ldconfig
+%postun libbind-devel -p /sbin/ldconfig
+
+%post sdb
+if [ "$1" -ge 1 ]; then
+	# check that dnszone.schema is installed in OpenLDAP's slapd.conf
+	if [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then
+		# include the LDAP dnszone.schema in slapd.conf:
+		if ! /bin/egrep -q '^include.*\dnszone.schema' /etc/openldap/slapd.conf; then
+			tf=`/bin/mktemp /tmp/XXXXXX`
+			lt n=`/bin/grep -n '^include.*\.schema' /etc/openldap/slapd.conf | /usr/bin/tail -1 | /bin/sed 's/:.*//'`
+			if [ "$n" -gt 0 ]; then
+				/bin/cp -fp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.rpmsave
+				/usr/bin/head -$n /etc/openldap/slapd.conf > $tf
+    				echo 'include         /etc/openldap/schema/dnszone.schema' >> $tf
+				let n='n+1'
+				/usr/bin/tail -n +$n /etc/openldap/slapd.conf >> $tf
+				/bin/mv -f $tf /etc/openldap/slapd.conf
+				/bin/chmod --reference=/etc/openldap/slapd.conf.rpmsave /etc/openldap/slapd.conf
+				[ -e /selinux/enforce ] && [ -x /sbin/restorecon ] && /sbin/restorecon /etc/openldap/slapd.conf >/dev/null 2>&1 || :
+				[ -x /etc/init.d/ldap ] && /etc/init.d/ldap condrestart >/dev/null 2>&1
+			fi
+			rm -f $tf >/dev/null 2>&1 || :
+		fi
+	fi
+fi
+
+%preun sdb
+if [ "$1" -eq 0 ] && [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then
+	sed -i '/^include.*\dnszone.schema/d /etc/openldap/slapd.conf
+	[ -x /etc/init.d/ldap ] && /etc/init.d/ldap condrestart >/dev/null 2>&1 || :
+fi
 
 %files
 %defattr(-,root,root)
@@ -489,7 +563,7 @@
 %config(noreplace) /etc/sysconfig/named
 %verify(not size,not md5) %config(noreplace) %attr(0640,root,named) /etc/rndc.key
 # %verify(not size,not md5) %config(noreplace) %attr(0640,root,named) /etc/rndc.conf
-# ^- Let the named internal default rndc.conf be used - 
+# ^- Let the named internal default rndc.conf be used -
 #    rndc.conf not required unless it differs from default.
 %ghost %config(noreplace) /etc/named.conf
 # ^- Ensure something owns named.conf, even though it may not be installed at all
@@ -524,7 +598,7 @@
 
 %files libs
 %defattr(-,root,root)
-%{_libdir}/*so*
+%{_libdir}/*so.*
 
 %files utils
 %defattr(-,root,root)
@@ -539,6 +613,7 @@
 
 %files devel
 %defattr(-,root,root)
+%{_libdir}/*so
 %{_libdir}/libbind9.a
 %{_libdir}/libdns.a
 %{_libdir}/libisc.a
@@ -554,7 +629,7 @@
 %{_includedir}/lwres
 %{_mandir}/man3/lwres*
 %{_bindir}/isc-config.sh
-%doc doc/draft doc/rfc 
+%doc doc/draft doc/rfc
 
 %files config
 %defattr(-,root,root)
@@ -628,167 +703,6 @@
 
 %endif
 
-
-%pre
-if [ "$1" -eq 1 ]; then
-   /usr/sbin/groupadd -g %{bind_gid} -f -r named >/dev/null 2>&1 || :;
-   /usr/sbin/useradd  -u %{bind_uid} -r -n -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :;
-fi;
-:;
-
-%post
-/sbin/ldconfig
-/sbin/chkconfig --add named
-if [ "$1" -eq 1 ]; then
-	if [ -f /etc/named.boot -a -x /usr/sbin/named-bootconf -a ! -f /etc/named.conf ]; then
-	   # Convert BIND 4 named.bootconf syntax to BIND 9 syntax (should never be used!) 
-	   cat /etc/named.boot | /usr/sbin/named-bootconf > /etc/named.bootconf-converted.conf
-	   if [ "$?" -eq 0 ]; then
-	      chmod 644 /etc/named.bootconf-converted.conf
-	      cp -fp /etc/named.bootconf-converted.conf /etc/named.conf;
-	   fi;
-	fi
-	if /bin/egrep -q '@KEY@' /etc/rndc.key; then
-	   /bin/sed -i -e "s^@KEY@^`/usr/sbin/dns-keygen`^" /etc/rndc.key ;
-  	   chmod 0640  /etc/rndc.key
-	   chown root:named /etc/rndc.key
-	fi
-        [ -e /selinux/enforce ] && [ -x /sbin/restorecon ] && /sbin/restorecon /etc/rndc.* /etc/named.* >/dev/null 2>&1 ;
-fi
-:;
-
-%preun
-if [ "$1" = 0 ]; then
-   /etc/rc.d/init.d/named stop >/dev/null 2>&1 || :;
-   /sbin/chkconfig --del named || :;
-fi
-:;
-
-%postun
-/sbin/ldconfig
-if [ "$1" -ge 1 ]; then
-   /etc/rc.d/init.d/named condrestart >/dev/null 2>&1 || :   	   
-fi;
-:;
-
-%triggerpostun -- bind < 8.2.2_P5-15
-/sbin/chkconfig --add named
-/sbin/ldconfig
-:;
-
-%triggerpostun -n bind -- bind <= 24:9.3.1-11
-if [ "$1" -gt 0 ]; then
-# bind <= 22:9.3.0-2:
-# These versions of bind installed named service at order 55 in 
-# runlevel startup order, after programs like  nis / ntp / nfs 
-# which may need its services if using no nameservers in resolv.conf.
-# bind <= 24:9.3.1-11:
-# These versions ran bind with order 11 in runlevel 2, after syslog
-# at order 12 . BIND should run after syslog and now has order '- 13 87'.
-# 
-    /sbin/chkconfig named resetpriorities
-fi
-:;
-
-%postun utils
-if [ $1 = 0 ]; then
-   if [ -f /var/lock/subsys/named ]; then
-      /etc/rc.d/init.d/named stop >/dev/null  2>&1 || :;
-   fi;
-fi;
-:;
-
-
-%post libs -p /sbin/ldconfig
-
-%postun libs -p /sbin/ldconfig
-
-
-%post config
-if [ "$1" -gt 0 ]; then
-   /usr/bin/chcon system_u:object_r:named_conf_t  /etc/named.caching-nameserver.conf >/dev/null 2>&1 || :;
-   /usr/bin/chcon system_u:object_r:named_conf_t  /etc/named.rfc1912.zones >/dev/null 2>&1 || :;
-fi
-if [ "$1" -eq 1 ]; then
-   /usr/sbin/bind-chroot-admin --sync;
-fi;
-:;
-
-%postun config
-if [ "$1" -eq 0 ]; then
-   /usr/sbin/bind-chroot-admin --sync
-fi;
-:;
-
-
-%post chroot
-if [ "$1" -gt 0 ]; then
-   /usr/sbin/bind-chroot-admin --enable;
-fi;
-:;
-
-%preun chroot
-if [ "$1" = "0" ]; then
-   /usr/sbin/bind-chroot-admin --disable;
-fi
-:;
-
-
-%if %{LIBBIND}
-
-%post libbind-devel -p /sbin/ldconfig
-
-%postun libbind-devel -p /sbin/ldconfig
-
-%endif
-
-
-%if %{SDB}
-
-%post sdb
-if [ "$1" -ge 1 ]; then
-   # check that dnszone.schema is installed in OpenLDAP's slapd.conf
-   if [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then
-   # include the LDAP dnszone.schema in slapd.conf:
-      if ! /bin/egrep -q '^include.*\dnszone.schema' /etc/openldap/slapd.conf; then
-         tf=`/bin/mktemp /tmp/XXXXXX`
-         let n=`/bin/grep -n '^include.*\.schema' /etc/openldap/slapd.conf | /usr/bin/tail -1 | /bin/sed 's/:.*//'`
-         if [ "$n" -gt 0 ]; then
-   	    /bin/cp -fp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.rpmsave;
-	    /usr/bin/head -$n /etc/openldap/slapd.conf > $tf
-            echo 'include         /etc/openldap/schema/dnszone.schema' >> $tf
-            let n='n+1'
-            /usr/bin/tail -n +$n /etc/openldap/slapd.conf >> $tf
-            /bin/mv -f $tf /etc/openldap/slapd.conf;
-            /bin/chmod --reference=/etc/openldap/slapd.conf.rpmsave /etc/openldap/slapd.conf
-            [ -e /selinux/enforce ] && [ -x /sbin/restorecon ] && /sbin/restorecon /etc/openldap/slapd.conf >/dev/null 2>&1 || :;
-            [ -x /etc/init.d/ldap ] && /etc/init.d/ldap condrestart >/dev/null 2>&1
-         fi
-         rm -f $tf >/dev/null 2>&1 || :;
-      fi;
-   fi;
-fi;
-:;
-
-%preun sdb
-if [ "$1" -eq 0 ] && [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then
-   if /bin/egrep -q '^include.*\dnszone.schema' /etc/openldap/slapd.conf; then
-      tf=`/bin/mktemp /tmp/XXXXXX`
-      /bin/egrep -v '^include.*dnszone\.schema' /etc/openldap/slapd.conf > $tf
-      /bin/mv -f $tf /etc/openldap/slapd.conf;
-      rm -f $tf >/dev/null 2>&1
-      [ -e /selinux/enforce ] && [ -x /sbin/restorecon ] && /sbin/restorecon /etc/openldap/slapd.conf >/dev/null 2>&1 || :;
-      [ -x /etc/init.d/ldap ] && /etc/init.d/ldap condrestart >/dev/null 2>&1 || :;
-   fi;
-fi;
-:;
-
-%endif # SDB
-
-%clean
-rm -rf ${RPM_BUILD_ROOT}
-:;
-
 %changelog
 * Wed Mar 22 2006 Jason Vas Dias <jvdias@xxxxxxxxxx> - 30:9.3.2-12
 - fix typo in initscript
-- 
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux