diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2012-09-26 01:10:42 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 22:51:55 +0200 |
commit | 9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch) | |
tree | b428a16618e36ed864a8d76ea3435e19a452bf90 /source/n/yptools | |
parent | 75a4a592e5ccda30715f93563d741b83e0dcf39e (diff) | |
download | current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.xz |
Slackware 14.0slackware-14.0
Wed Sep 26 01:10:42 UTC 2012
Slackware 14.0 x86_64 stable is released!
We're perfectionists here at Slackware, so this release has been a long
time a-brewing. But we think you'll agree that it was worth the wait.
Slackware 14.0 combines modern components, ease of use, and flexible
configuration... our "KISS" philosophy demands it.
The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a
dual-sided
32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware
project by picking up a copy from store.slackware.com. We're taking
pre-orders now, and offer a discount if you sign up for a subscription.
Thanks to everyone who helped make this happen. The Slackware team, the
upstream developers, and (of course) the awesome Slackware user
community.
Have fun! :-)
Diffstat (limited to 'source/n/yptools')
-rw-r--r-- | source/n/yptools/rc.yp | 153 | ||||
-rwxr-xr-x | source/n/yptools/yptools.SlackBuild | 15 |
2 files changed, 120 insertions, 48 deletions
diff --git a/source/n/yptools/rc.yp b/source/n/yptools/rc.yp index 4c3b8decf..eda9634e4 100644 --- a/source/n/yptools/rc.yp +++ b/source/n/yptools/rc.yp @@ -10,49 +10,114 @@ # documentation in /usr/doc/yp-tools, /usr/doc/ypbind, # /usr/doc/ypserv, and /usr/doc/Linux-HOWTOs/NIS-HOWTO. -# # First, we must setup the NIS domainname. NOTE: this is not necessarily -# # the same as your DNS domainname, set in /etc/resolv.conf. The NIS -# # domainname is the name of a domain served by your NIS server. -# -# if [ -r /etc/defaultdomain ]; then -# nisdomainname `cat /etc/defaultdomain` -# fi -# -# # NIS SERVER CONFIGURATION: -# # 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 -# 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. -# 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 -# fi -# -# # If you have NIS slave servers, you might also want to start up -# # rpc.ypxfrd, which transfers changes in the NIS domain to slave servers. -# # Alternatively, rpc.ypxfrd can be run out of inetd. -# if [ -x /usr/sbin/rpc.ypxfrd ]; then -# echo "Starting NIS transfer server: /usr/sbin/rpc.ypxfrd" -# /usr/sbin/rpc.ypxfrd -# fi -# -# # 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 [ -d /var/yp ]; then -# echo "Starting NIS services: /usr/sbin/ypbind -broadcast" -# /usr/sbin/ypbind -broadcast -# fi +# Set non-zero to enable yp client functions +YP_CLIENT_ENABLE=1 + +# Set non-zero to enable yp server functions +YP_SERVER_ENABLE=0 + +# If YP_SERVER_ENABLE is set, a non-zero YP_XFRD_ENABLE setting will +# enable ypxfrd. +YP_XFRD_ENABLE=0 + +PID_PATH=/var/run + +yp_start() { + + if [ $YP_SERVER_ENABLE -ne 0 ]; then + # NIS SERVER CONFIGURATION: + # 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 + 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. + + 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 + fi + + # If you have NIS slave servers, you might also want to start up + # rpc.ypxfrd, which transfers changes in the NIS domain to slave servers. + # 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 + 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 [ -d /var/yp ]; then + echo "Starting NIS services: /usr/sbin/ypbind -broadcast" + /usr/sbin/ypbind -broadcast + fi + fi +} + +yp_stop() { + if [ -r ${PID_PATH}/ypbind.pid ]; then + echo "Stopping NIS services." + kill $(cat ${PID_PATH}/ypbind.pid) + fi + + if [ -r ${PID_PATH}/ypxfrd.pid ]; then + echo "Stopping NIS transfer server." + kill $(cat ${PID_PATH}/ypxfrd.pid) + fi + + if [ -r ${PID_PATH}/yppasswdd.pid ]; then + echo "Stopping NIS master password server." + kill $(cat ${PID_PATH}/yppasswdd.pid) + fi + + if [ -r ${PID_PATH}/ypserv.pid ]; then + echo "Stopping NIS server." + kill $(cat ${PID_PATH}/ypserv.pid) + fi +} + +# First, we must setup the NIS domainname. NOTE: this is not necessarily +# the same as your DNS domainname, set in /etc/resolv.conf. The NIS +# 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` + fi +else + echo "/etc/rc.d/rc.yp: NIS not configured. Hint: set up /etc/defaultdomain." + exit 0 +fi + +case "$1" in +'start') + yp_start + ;; +'stop') + yp_stop + ;; +'restart') + yp_stop + yp_start + ;; +*) + echo "usage $0 start|stop|restart" +esac + # # Done setting up NIS. diff --git a/source/n/yptools/yptools.SlackBuild b/source/n/yptools/yptools.SlackBuild index 6a213b2a6..42d96a30b 100755 --- a/source/n/yptools/yptools.SlackBuild +++ b/source/n/yptools/yptools.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ # Package version number: VERSION=2.12 -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} YPTOOLS=$VERSION YPBINDMT=1.32 @@ -208,7 +208,7 @@ make CFLAGS="$SLKCFLAGS" || exit 1 mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/yp ( cd scripts for file in create_printcap match_printcap pwupdate ypinit ypxfr_1perday ypxfr_1perhour ypxfr_2perday ; do - cat $file > $PKG/usr/lib${LIBDIRSUFFIX}/yp/$file + cat $file | sed -e "s#/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" > $PKG/usr/lib${LIBDIRSUFFIX}/yp/$file chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/yp/$file done for file in pwupdate.8 ypinit.8 ; do @@ -246,7 +246,7 @@ chown root:root $PKG/usr/doc/ypserv-$YPSERV/* mkdir -p $PKG/etc/rc.d zcat $CWD/rc.yp.gz > $PKG/etc/rc.d/rc.yp.new -chmod 755 $PKG/etc/rc.d/rc.yp.new +chmod 644 $PKG/etc/rc.d/rc.yp.new find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null @@ -266,6 +266,13 @@ config() { # Otherwise, we leave the .new copy for the admin to consider... } +# Keep same perms on rc.yp.new: +if [ -e etc/rc.d/rc.yp ]; then + cp -a etc/rc.d/rc.yp etc/rc.d/rc.yp.new.incoming + cat etc/rc.d/rc.yp.new > etc/rc.d/rc.yp.new.incoming + mv etc/rc.d/rc.yp.new.incoming etc/rc.d/rc.yp.new +fi + config etc/nsswitch.conf-nis.new config etc/netgroup.new config etc/yp.conf.new |