Module Name:    src
Committed By:   kre
Date:           Sun Sep 23 02:15:25 UTC 2018

Modified Files:
        src/usr.sbin/ypserv/ypinit: ypinit.8 ypinit.sh

Log Message:
Switch from getopt to getopts - and as part of that, update the usage,
and the man page, to reflect modern usage rather than some ancient style
that getopt[s] does not support (options, and their args when they exist)
always come before non-option agrs.

While here, update uses of test(1) to avoid obsolescent forms (and
even when still defined, prefer sh structures over test when possible).


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/ypserv/ypinit/ypinit.8
cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/ypserv/ypinit/ypinit.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/ypserv/ypinit/ypinit.8
diff -u src/usr.sbin/ypserv/ypinit/ypinit.8:1.17 src/usr.sbin/ypserv/ypinit/ypinit.8:1.18
--- src/usr.sbin/ypserv/ypinit/ypinit.8:1.17	Mon Jul  3 21:35:33 2017
+++ src/usr.sbin/ypserv/ypinit/ypinit.8	Sun Sep 23 02:15:25 2018
@@ -1,4 +1,4 @@
-.\"	$NetBSD: ypinit.8,v 1.17 2017/07/03 21:35:33 wiz Exp $
+.\"	$NetBSD: ypinit.8,v 1.18 2018/09/23 02:15:25 kre Exp $
 .\"
 .\" Copyright (c) 1997 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -36,17 +36,17 @@
 .Sh SYNOPSIS
 .Nm
 .Fl c
-.Op Ar domainname
 .Op Fl l Ar server1,...,serverN
+.Op Ar domainname
 .Nm
 .Fl m
-.Op Ar domainname
 .Op Fl l Ar server1,...,serverN
+.Op Ar domainname
 .Nm
 .Fl s
 .Ar master_server
-.Op Ar domainname
 .Op Fl l Ar server1,...,serverN
+.Op Ar domainname
 .Sh DESCRIPTION
 .Nm
 initializes the files and directories that are required for a

Index: src/usr.sbin/ypserv/ypinit/ypinit.sh
diff -u src/usr.sbin/ypserv/ypinit/ypinit.sh:1.13 src/usr.sbin/ypserv/ypinit/ypinit.sh:1.14
--- src/usr.sbin/ypserv/ypinit/ypinit.sh:1.13	Fri Jul 20 13:11:01 2018
+++ src/usr.sbin/ypserv/ypinit/ypinit.sh	Sun Sep 23 02:15:25 2018
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-#	$NetBSD: ypinit.sh,v 1.13 2018/07/20 13:11:01 kre Exp $
+#	$NetBSD: ypinit.sh,v 1.14 2018/09/23 02:15:25 kre Exp $
 #
 # ypinit.sh - setup a master or slave YP server
 #
@@ -30,51 +30,44 @@ if [ $( ${ID} -u ) != 0 ]; then
 	exit 1
 fi
 
-args=$(getopt cl:ms: $*)		# XXX should switch to getopts
-if [ $? -eq 0 ]; then
-	set -- $args
-	for i; do
-		case $i in
-		"-c")
-			servertype=client
-			shift
-			;;
-		"-m")
-			servertype=master
-			shift
-			;;
-		"-s")
-			servertype=slave
-			master=${2}
-			shift
-			shift
-			;;
-		"-l")
-			noninteractive=yes
-			serverlist=${2}
-			shift
-			shift
-			;;
-		"--")
-			shift
-			break
-			;;
-		esac
-	done
+while getopts cl:ms: i
+do
+	case $i in
+	c)
+		servertype=client
+		;;
+	l)
+		noninteractive=yes
+		serverlist=${OPTARG}
+		;;
+	m)
+		servertype=master
+		;;
+	s)
+		servertype=slave
+		master=${OPTARG}
+		;;
+	\?)
+		echo >&2	# "Illegal option" message issued by getopts
+		servertype=	# force usage message just below
+		break
+		;;
+	esac
+done
+shift $((OPTIND - 1))
 
-	if [ $# -eq 1 ]; then
-		domain=${1}
-		shift;
-	else
-		domain=$( ${BIN_DOMAINNAME} )
-	fi
+if [ $# -eq 1 ]; then
+	domain=${1}
+	shift;
+else
+	domain=$( ${BIN_DOMAINNAME} )
 fi
 
 if [ -z ${servertype} ]; then
 	cat 1>&2 << __usage
-usage: 	${progname} -c [domainname] [-l server1,...,serverN]
-	${progname} -m [domainname] [-l server1,...,serverN]
-	${progname} -s master_server [domainname] [-l server1,...,serverN]
+usage: 	${progname} -c [-l server1,...,serverN] [domainname]
+	${progname} -m [-l server1,...,serverN] [domainname]
+	${progname} -s master_server [-l server1,...,serverN] [domainname]
 
 The \`-c' flag sets up a YP client, the \`-m' flag builds a master YP
 server, and the \`-s' flag builds a slave YP server.  When building a
@@ -104,14 +97,14 @@ __no_hostname
 
 	exit 1
 fi
-if [ "${servertype}" = "slave" -a "${host}" = "${master}" ]; then
+if [ "${servertype}" = slave ] && [ "${host}" = "${master}" ]; then
 	echo 1>&2 \
 	    "$progname: cannot setup a YP slave server off the local host."
 	exit 1
 fi
 
 # Check if the YP directory exists.
-if [ ! -d ${yp_dir} -o -f ${yp_dir} ]; then
+if ! [ -d "${yp_dir}" ]; then
 	cat 1>&2 << __no_dir
 $progname: The directory ${yp_dir} does not exist.
 	Restore it from the distribution.
@@ -128,7 +121,7 @@ fi
 echo ""
 
 binding_dir=${yp_dir}/binding
-if [ ! -d ${binding_dir} ]; then
+if ! [ -d ${binding_dir} ]; then
 	cat 1>&2 << __no_dir
 $progname: The directory ${binding_dir} does not exist.
 	Restore it from the distribution.
@@ -152,13 +145,13 @@ When finished, press RETURN on a blank l
 
 __list_of_servers
 
-		if [ "${servertype}" != "client" ]; then
-			echo ${host} >> ${tmpfile}
+		if [ "${servertype}" != client ]; then
+			echo "${host}" >> ${tmpfile}
 			echo "	next host: ${host}";
 		fi
 		echo -n "	next host: ";
 
-		while read nextserver ; test -n "${nextserver}"
+		while read nextserver && test -n "${nextserver}"
 		do
 			echo ${nextserver} >> ${tmpfile}
 			echo -n "	next host: ";
@@ -249,8 +242,8 @@ fi
 
 case ${servertype} in
 master)
-	if [ ! -f ${yp_dir}/Makefile ];	then
-		if [ ! -f ${yp_dir}/Makefile.main ]; then
+	if ! [ -f ${yp_dir}/Makefile ];	then
+		if ! [ -f ${yp_dir}/Makefile.main ]; then
 			echo 1>&2 \
 			    "$progname: Can't find ${yp_dir}/Makefile.main"
 			exit 1
@@ -283,7 +276,7 @@ master)
 	    ${yp_dir}/Makefile
 	rm ${yp_dir}/Makefile.tmp
 
-	if [ ! -f ${yp_dir}/Makefile.yp ]; then
+	if ! [ -f ${yp_dir}/Makefile.yp ]; then
 		echo 1>&2 "$progname: Can't find ${yp_dir}/Makefile.yp"
 		exit 1
 	fi

Reply via email to