rpms/bind/FC-4 named.init,1.33,1.34

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Oct 19 21:50:36 UTC 2005


Author: jvdias

Update of /cvs/dist/rpms/bind/FC-4
In directory cvs.devel.redhat.com:/tmp/cvs-serv10413

Modified Files:
	named.init 
Log Message:
handle named -c option properly; allow -D option to be used with bind-chroot


Index: named.init
===================================================================
RCS file: /cvs/dist/rpms/bind/FC-4/named.init,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- named.init	10 Oct 2005 22:50:35 -0000	1.33
+++ named.init	19 Oct 2005 21:50:33 -0000	1.34
@@ -19,6 +19,8 @@
 
 [ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
 
+[ -n "$ROOTDIR" ] && ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`
+
 RETVAL=0
 named='named'
 if [[ "$ENABLE_SDB" = [yY1]* ]] && [ -x /usr/sbin/named_sdb ]; then
@@ -28,20 +30,20 @@
 
 [ -x /usr/sbin/$named ] || exit 1
 
-named_conf=/etc/named.conf
-c_opt=0
-if [[ "${OPTIONS}" = *-c* ]]; then
-   named_conf=`echo ${OPTIONS} | sed 's/^.*-c[\ \	]//;s/[\ \	].*$//'`;
-   c_opt=1;
-fi;
-
-[ -r ${ROOTDIR}/${named_conf} ] || exit 1
-
-if [ ${c_opt} -eq 0 ]; then
-   named_conf='';
-fi;
-
-[ -n "$ROOTDIR" ] && ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`
+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; 
+}
+named_conf=`nmdcOption $OPTIONS`;
+[ -r ${ROOTDIR}/${named_conf:-etc/named.conf} ] || exit 1
 
 start() {
         # Start daemons.
@@ -62,9 +64,17 @@
 		if [ ! -d ${ROOTDIR}/proc ]; then
 		    mkdir -p ${ROOTDIR}/proc
 		fi
-		if ! egrep -q "${ROOTDIR}/proc proc" /etc/mtab; then
-		    mount -tproc none ${ROOTDIR}/proc >/dev/null 2>&1 
+		if ! egrep -q "/proc ${ROOTDIR}/proc" /proc/mounts; then
+		    mount --bind /proc ${ROOTDIR}/proc >/dev/null 2>&1 
 		fi
+		if echo "$OPTIONS" | egrep -q '(\<|['"'"'"\ ])-D(\>|['"'"'"\ ])'; then
+		    if ! /bin/mount | egrep -q "^/var/run/dbus/system_bus_socket on ${ROOTDIR}/var/run/dbus/system_bus_socket"; then
+			mkdir -p ${ROOTDIR}/var/run/dbus
+			touch ${ROOTDIR}/var/run/dbus/system_bus_socket;
+			mount --bind /var/run/dbus/system_bus_socket ${ROOTDIR}/var/run/dbus/system_bus_socket > /dev/null 2>&1;
+		    fi;		    
+		fi;
+		
 	fi
 	no_write_master_zones=0
 	if [ -e /etc/selinux/config ]; then




More information about the fedora-cvs-commits mailing list