summaryrefslogtreecommitdiff
path: root/source/n/yptools
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/yptools')
-rw-r--r--source/n/yptools/rc.yp49
-rw-r--r--source/n/yptools/slack-desc8
-rw-r--r--source/n/yptools/yp.default37
-rwxr-xr-xsource/n/yptools/yptools.SlackBuild21
4 files changed, 86 insertions, 29 deletions
diff --git a/source/n/yptools/rc.yp b/source/n/yptools/rc.yp
index eda9634e..a1a99746 100644
--- a/source/n/yptools/rc.yp
+++ b/source/n/yptools/rc.yp
@@ -3,25 +3,34 @@
#
# Start NIS (Network Information Service). NIS provides network-wide
# distribution of hostname, username, and other information databases.
-# After configuring NIS, you will need to uncomment the parts of this
-# script that you want to run.
+# After configuring NIS, you will either need to uncomment the parts
+# of this script that you want to run, or tweak /etc/default/yp
#
# NOTE: for detailed information about setting up NIS, see the
# documentation in /usr/doc/yp-tools, /usr/doc/ypbind,
# /usr/doc/ypserv, and /usr/doc/Linux-HOWTOs/NIS-HOWTO.
# Set non-zero to enable yp client functions
+# Can also be used in /etc/default/yp to override this default:
YP_CLIENT_ENABLE=1
# Set non-zero to enable yp server functions
+# Can also be used in /etc/default/yp to override this default:
YP_SERVER_ENABLE=0
# If YP_SERVER_ENABLE is set, a non-zero YP_XFRD_ENABLE setting will
# enable ypxfrd.
+# Can also be used in /etc/default/yp to override this default:
YP_XFRD_ENABLE=0
PID_PATH=/var/run
+# Source options. Doing this here makes it possible
+# to override YP_*_ENABLE set above
+if [ -r /etc/default/yp ]; then
+ . /etc/default/yp
+fi
+
yp_start() {
if [ $YP_SERVER_ENABLE -ne 0 ]; then
@@ -29,21 +38,17 @@ yp_start() {
# If you are the master server for the NIS domain, you must run ypserv to
# service clients on the domain.
if [ -x /usr/sbin/ypserv ]; then
- echo "Starting NIS server: /usr/sbin/ypserv"
- /usr/sbin/ypserv
+ echo "Starting NIS server: /usr/sbin/ypserv $YPSERV_OPTS"
+ /usr/sbin/ypserv $YPSERV_OPTS
fi
# If you are the master server for the NIS domain, you must also run
# rpc.yppasswdd, which is the RPC server that lets users change their
- # passwords. You might also want users to be able to change their shell
- # and GECOS information, in which case you should comment out the first
- # yppasswdd line and uncomment out the second one.
+ # passwords.
if [ -x /usr/sbin/rpc.yppasswdd ]; then
- echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd"
- /usr/sbin/rpc.yppasswdd
- # echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd -e chsh -e chfn"
- # /usr/sbin/rpc.yppasswdd -e chsh -e chfn
+ echo "Starting NIS master password server: /usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS"
+ /usr/sbin/rpc.yppasswdd $YPPASSWDD_OPTS
fi
# If you have NIS slave servers, you might also want to start up
@@ -51,20 +56,22 @@ yp_start() {
# Alternatively, rpc.ypxfrd can be run out of inetd.
if [ $YP_XFRD_ENABLE -ne 0 ]; then
if [ -x /usr/sbin/rpc.ypxfrd ]; then
- echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd"
- /usr/sbin/rpc.ypxfrd
+ echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd $YPXFRD_OPTS"
+ /usr/sbin/rpc.ypxfrd $YPXFRD_OPTS
fi
fi
fi
if [ $YP_CLIENT_ENABLE -ne 0 ]; then
# NIS CLIENT CONFIGURATION:
- # If you are a NIS client, all you need to do is run ypbind, which will
- # broadcast across the network to find a server. Your NIS server might
- # also be a client.
+ # If you are a NIS client, all you need to do is run ypbind.
+ # Your NIS server might also be a client.
if [ -d /var/yp ]; then
- echo "Starting NIS services: /usr/sbin/ypbind -broadcast"
- /usr/sbin/ypbind -broadcast
+ if [ -z "$YPBIND_OPTS" ]; then
+ YPBIND_OPTS="-broadcast"
+ fi
+ echo "Starting NIS services: /usr/sbin/ypbind $YPBIND_OPTS"
+ /usr/sbin/ypbind $YPBIND_OPTS
fi
fi
}
@@ -96,9 +103,9 @@ yp_stop() {
# domainname is the name of a domain served by your NIS server.
#
# If /etc/defaultdomain has not been configured we'll bail out.
-if [ -r /etc/defaultdomain -a -x /bin/nisdomainname ]; then
- if [ "$(nisdomainname)" == "(none)" ]; then
- nisdomainname `cat /etc/defaultdomain`
+if [ -r /etc/defaultdomain ] && [ -x /bin/nisdomainname ]; then
+ if ! /bin/nisdomainname 1>/dev/null 2>/dev/null ; then
+ nisdomainname $(cat /etc/defaultdomain)
fi
else
echo "/etc/rc.d/rc.yp: NIS not configured. Hint: set up /etc/defaultdomain."
diff --git a/source/n/yptools/slack-desc b/source/n/yptools/slack-desc
index bedfb39e..32af2065 100644
--- a/source/n/yptools/slack-desc
+++ b/source/n/yptools/slack-desc
@@ -1,14 +1,14 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
yptools: yptools (NIS servers and clients)
yptools:
-yptools: NIS stands for Network Information Service. NIS is usually used to
+yptools: NIS stands for Network Information Service. NIS is usually used to
yptools: provide /etc/passwd and /etc/group information throughout the network.
yptools: Most Sun-based networks run NIS, and Linux machines can take full
yptools: advantage of existing NIS service or provide NIS service themselves.
diff --git a/source/n/yptools/yp.default b/source/n/yptools/yp.default
new file mode 100644
index 00000000..539d7753
--- /dev/null
+++ b/source/n/yptools/yp.default
@@ -0,0 +1,37 @@
+# This file can be used to tweak the way YP (NIS) services
+# are started.
+#
+# Optional arguments to pass ypserv upon startup:
+#YPSERV_OPTS=""
+#
+# Example:
+# If you run NIS in a firewalled environment you might want
+# to bind ypserv to a specific port:
+# YPSERV_OPTS="-p 12345"
+# See ypserv(8) for more details.
+#
+#
+# Optional arguments to pass rpc.yppasswdd upon startup:
+#YPPASSWDD_OPTS=""
+#
+# Example:
+# You might want users to be able to change their shell
+# and GECOS information, in which case you should add
+# these options:
+# YPPASSWDD_OPTS="-e chsh -e chfn"
+# See rpc.yppasswdd(8) for more details.
+#
+#
+# Optional arguments to pass rpc.ypxfrd upon startup:
+#YPXFRD_OPTS=""
+#
+# Example:
+# If you run NIS in a firewalled environment you might want
+# to bind rpc.ypxfrd to a specific port:
+# YPXFRD_OPTS="-p 54321"
+#
+#
+# Optional arguments to pass ypbind upon startup. The default
+# is to use -broadcast if YPBIND_OPTS is not set. This ignores
+# /etc/yp.conf and broadcasts across the network to find a server.
+#YPBIND_OPTS="-broadcast"
diff --git a/source/n/yptools/yptools.SlackBuild b/source/n/yptools/yptools.SlackBuild
index 3b876935..1205874d 100755
--- a/source/n/yptools/yptools.SlackBuild
+++ b/source/n/yptools/yptools.SlackBuild
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,10 +20,12 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
# Package version number:
+PKGNAM=yptools
VERSION=2.14
-BUILD=${BUILD:-7}
+BUILD=${BUILD:-10}
YPTOOLS=$VERSION
YPBINDMT=1.38
@@ -40,6 +42,14 @@ if [ -z "$ARCH" ]; then
esac
fi
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -54,7 +64,6 @@ else
LIBDIRSUFFIX=""
fi
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-yptools
rm -rf $PKG
@@ -84,6 +93,9 @@ make clean
--disable-domainname \
$ARCH-slackware-linux
make CFLAGS="$SLKCFLAGS" || exit 1
+
+mkdir -p $PKG/etc/default
+cat $CWD/yp.default > $PKG/etc/default/yp.new
mkdir -p $PKG/var/yp
cat etc/nicknames > $PKG/var/yp/nicknames.new
mkdir -p $PKG/usr/share/locale/de/LC_MESSAGES
@@ -279,6 +291,7 @@ fi
config etc/nsswitch.conf-nis.new
config etc/netgroup.new
config etc/yp.conf.new
+config etc/default/yp.new
config etc/rc.d/rc.yp.new
config var/yp/nicknames.new
config var/yp/Makefile.new