diff --git a/.gitignore b/.gitignore index 25b9b2d..8d4e9d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1 @@ ypbind-mt-1.32.tar.bz2 -/ypbind-mt-1.33.tar.bz2 -/ypbind-mt-1.35.tar.bz2 -/ypbind-mt-1.36.tar.bz2 -/ypbind-mt-1.37.1.tar.bz2 -/ypbind-mt-1.37.2.tar.bz2 -/ypbind-mt-1.38.tar.bz2 -/ypbind-mt-2.4.tar.gz -/ypbind-mt-2.5.tar.gz -/ypbind-mt-2.6.1.tar.gz -/ypbind-mt-2.7.2.tar.gz diff --git a/nis.sh b/nis.sh index 6f37461..03cb976 100755 --- a/nis.sh +++ b/nis.sh @@ -52,34 +52,38 @@ nis_config() { if [ -n "${new_nis_domain}" ]; then domainname "${new_nis_domain}" save_config_file + let contents=0 echo '# generated by /sbin/dhclient-script' > ${CONF} fix_context ${CONF} if [ -n "${new_nis_servers}" ]; then for i in ${new_nis_servers} ; do echo "domain ${new_nis_domain} server ${i}" >> ${CONF} + let contents=contents+1 done else echo "domain ${new_nis_domain} broadcast" >> ${CONF} + let contents=contents+1 fi + if [ ${contents} -gt 0 ]; then + service ypbind condrestart >/dev/null 2>&1 + fi elif [ -n "${new_nis_servers}" ]; then save_config_file echo '# generated by /sbin/dhclient-script' > ${CONF} fix_context ${CONF} + let contents=0 for i in ${new_nis_servers} ; do echo "ypserver ${i}" >> ${CONF} + let contents=contents+1 done - fi - - # dimainname or servers changed, restart ypbind - if [ "${old_nis_domain}" != "${new_nis_domain}" ] \ - || [ "${old_nis_servers}" != "${new_nis_servers}" ] - then + if [ $contents -gt 0 ]; then service ypbind condrestart >/dev/null 2>&1 - fi + fi + fi fi } diff --git a/sources b/sources index 69c0d78..6d1741a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ypbind-mt-2.7.2.tar.gz) = 415013ea003bb3d6162b1dac76462d13d1264a2a0dd3c4de057cf7239b9706a76d1f14ee1e3dcfba697aa48e25e3a972772c8210d87bbf847344e4a6c708a5b4 +54100619846ad0f428017bf0cb6de2f9 ypbind-mt-1.32.tar.bz2 diff --git a/ypbind-1.11-gettextdomain.patch b/ypbind-1.11-gettextdomain.patch index 0891dd5..2a96820 100644 --- a/ypbind-1.11-gettextdomain.patch +++ b/ypbind-1.11-gettextdomain.patch @@ -1,6 +1,5 @@ -diff -up ./po/Makevars.gettextdomain ./po/Makevars ---- ./po/Makevars.gettextdomain 2004-01-14 20:25:25.000000000 +0100 -+++ ./po/Makevars 2013-05-06 19:07:24.961484803 +0200 +--- ypbind-mt-1.11/po/Makevars.fixit Tue Jun 11 07:19:05 2002 ++++ ypbind-mt-1.11/po/Makevars Tue Jun 11 07:19:07 2002 @@ -1,7 +1,7 @@ # Makefile variables for PO directory in any package using GNU gettext. diff --git a/ypbind-2.5-helpman.patch b/ypbind-2.5-helpman.patch deleted file mode 100644 index 1d5c663..0000000 --- a/ypbind-2.5-helpman.patch +++ /dev/null @@ -1,148 +0,0 @@ -diff -up ypbind-mt-2.5/man/ypbind.8.xml.helpman ypbind-mt-2.5/man/ypbind.8.xml ---- ypbind-mt-2.5/man/ypbind.8.xml.helpman 2018-06-04 15:30:38.000000000 +0200 -+++ ypbind-mt-2.5/man/ypbind.8.xml 2018-06-07 16:16:56.967024495 +0200 -@@ -39,21 +39,33 @@ - - - ypbind -- -c -- -d -debug -- -verbose -- -n -forground -- -broadcast -- -broken-server -- -ypset -- -ypsetme -- -no-ping -+ -+ -broadcast -+ -ypset -+ -ypsetme -+ - -f configfile -+ -no-ping -+ -broken-server - -local-only -- -ping-interval ping-interval -+ -+ -+ -ping-interval ping-interval -+ -i ping-interval -+ -+ -+ -d -debug -+ -v -verbose -+ -n -foreground -+ -p port - - - ypbind -+ -c -+ -f configfile -+ -+ -+ ypbind - --version - - -@@ -88,6 +100,8 @@ - - Unless the option - -+or -+ - is used, ypbind detaches itself from the controlling terminal and puts - itself into background. - ypbind -@@ -132,6 +146,57 @@ If the file does not exist or if there a - ypbind - exit. - -+ -+In Fedora we use systemd for starting services. We need to finish starting -+process of ypbind service not before service is fully -+started, which means ypbind daemon is prepared to answer. -+There is a test script /usr/libexec/ypbind-post-waitbind -+used in ypbind.service, that waits for ypbind daemon to be -+fully connected to NIS server and waits by default up to 45s. Sometimes this -+is not enough, because network set up can take longer than 45s during boot, so -+starting ypbind.service fails. User can increase the timeout by setting an -+environment variable NISTIMEOUT in /etc/sysconfig/ypbind. -+For example NISTIMEOUT=180 means ypbind will wait up to 180 -+seconds for binding to a NIS server. Another option is to enable -+NetworkManager-wait- online.service, which will make ypbind -+to wait until network is properly set up. -+ -+ -+ -+In case something needs to be changed in the ypbind.service, it is adviced not -+to change the ypbind.service directly, but rather to create a new file under -+/etc/systemd/system/ypbind.service.d/, i.e. if we need to -+start ypbind before service foo.service, we can create file -+/etc/systemd/system/ypbind.service.d/wait-foo.conf with -+the following content: -+ -+ -+ -+ -+[Service] -+Before=foo.service -+ -+ -+ -+If you need to pass other arguments to ypbind daemon withing -+systemd unit file, you can set these arguments as OTHER_YPBIND_OPTS environment -+variable in /etc/sysconfig/ypbind. For example in order to -+set a fixed port ypbind should run on, you can specify -+OTHER_YPBIND_OPTS="-p 876" in /etc/sysconfig/ypbind. -+ -+ -+ -+DHCP client by defualt changes /etc/yp.conf in case DHCP -+server sends NIS configuration in the respond. In that case -+/etc/dhcp/dhclient.d/nis.sh changes -+/etc/yp.conf according such configuration and creates a -+back-up copy of the original configuration file into -+/var/lib/dhclient/nis.conf.predhclient.$interface. In -+order to disable changing /etc/yp.conf by DHCP client, add -+PEERNIS=no into /etc/sysconfig/network. -+ -+ -+ - - - -@@ -256,6 +321,15 @@ With this options another frequency in s - - - -+ port -+ -+Lets -+ypbind -+listen on a specified port number, rather than asking portmapper to assingn a -+port for it. -+ -+ -+ - - - Prints the version number -diff -up ypbind-mt-2.5/man/yp.conf.5.xml.helpman ypbind-mt-2.5/man/yp.conf.5.xml ---- ypbind-mt-2.5/man/yp.conf.5.xml.helpman 2018-06-07 16:29:01.853560699 +0200 -+++ ypbind-mt-2.5/man/yp.conf.5.xml 2018-06-07 16:33:59.302833043 +0200 -@@ -97,6 +97,14 @@ - first the given servers before falling back to broadcasting - for a running server. - -+ -+ Content of /etc/yp.conf can be changed by DHCP client, -+ for more info see -+ -+ ypbind -+ 8 -+ . -+ - - - diff --git a/ypbind-mt-1.32-dbus.patch b/ypbind-mt-1.32-dbus.patch new file mode 100644 index 0000000..107ff7d --- /dev/null +++ b/ypbind-mt-1.32-dbus.patch @@ -0,0 +1,50 @@ +diff -up ypbind-mt-1.32/src/ypbind_dbus_nm.c.dbus ypbind-mt-1.32/src/ypbind_dbus_nm.c +--- ypbind-mt-1.32/src/ypbind_dbus_nm.c.dbus 2010-07-07 14:27:26.000000000 +0200 ++++ ypbind-mt-1.32/src/ypbind_dbus_nm.c 2011-04-29 14:38:23.565951109 +0200 +@@ -32,6 +32,9 @@ + #include + #include + ++/* We have our own constant, NM uses directly "StateChanged" string */ ++#define NM_DBUS_SIGNAL_STATE_CHANGED "StateChanged" ++ + #ifdef HAVE_NETWORKMANAGER_NETWORKMANAGER_H + #include + #include +@@ -39,16 +42,21 @@ + #define NM_DBUS_INTERFACE "org.freedesktop.NetworkManager" + #define NM_DBUS_SERVICE "org.freedesktop.NetworkManager" + #define NM_DBUS_PATH "/org/freedesktop/NetworkManager" +-#define NM_DBUS_VPN_SIGNAL_STATE_CHANGE "StateChange" + + typedef enum NMState { +- NM_STATE_UNKNOWN = 0, +- NM_STATE_ASLEEP, +- NM_STATE_CONNECTING, +- NM_STATE_CONNECTED, +- NM_STATE_DISCONNECTED ++ NM_STATE_UNKNOWN = 0, ++ NM_STATE_ASLEEP = 10, ++ NM_STATE_DISCONNECTED = 20, ++ NM_STATE_DISCONNECTING = 30, ++ NM_STATE_CONNECTING = 40, ++ NM_STATE_CONNECTED_LOCAL = 50, ++ NM_STATE_CONNECTED_SITE = 60, ++ NM_STATE_CONNECTED_GLOBAL = 70 + } NMState; + ++/* For backwards compat */ ++#define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL ++ + #endif + + #define DBUS_MESSAGE_MATCH \ +@@ -150,7 +158,7 @@ dbus_filter (DBusConnection *connection, + handled = DBUS_HANDLER_RESULT_HANDLED; + } + else if (dbus_message_is_signal (message, NM_DBUS_INTERFACE, +- NM_DBUS_VPN_SIGNAL_STATE_CHANGE)) ++ NM_DBUS_SIGNAL_STATE_CHANGED)) + { + NMState state = NM_STATE_UNKNOWN; + diff --git a/ypbind-mt-1.32-typo.patch b/ypbind-mt-1.32-typo.patch new file mode 100644 index 0000000..be7a4fd --- /dev/null +++ b/ypbind-mt-1.32-typo.patch @@ -0,0 +1,12 @@ +diff -up ypbind-mt-1.32/src/serv_list.c.typo ypbind-mt-1.32/src/serv_list.c +--- ypbind-mt-1.32/src/serv_list.c.typo 2010-11-29 11:28:51.701891385 +0100 ++++ ypbind-mt-1.32/src/serv_list.c 2010-11-29 11:30:29.682891306 +0100 +@@ -830,7 +830,7 @@ ping_all (struct binding *list) + if (s_in.sin_port == 0) + { + if (verbose_flag && list->active == i) +- log_msg (LOG_NOTICE, "NIS server '%s' not repsonding " ++ log_msg (LOG_NOTICE, "NIS server '%s' not responding " + "for domain '%s'", list->server[i].host, list->domain); + + if (debug_flag) diff --git a/ypbind-mt-1.32-typo2.patch b/ypbind-mt-1.32-typo2.patch new file mode 100644 index 0000000..f8f6096 --- /dev/null +++ b/ypbind-mt-1.32-typo2.patch @@ -0,0 +1,42 @@ +diff -up ypbind-mt-1.32/man/ypbind.8.typo2 ypbind-mt-1.32/man/ypbind.8 +--- ypbind-mt-1.32/man/ypbind.8.typo2 2011-03-18 13:13:11.263707644 +0100 ++++ ypbind-mt-1.32/man/ypbind.8 2011-03-18 13:16:59.170866034 +0100 +@@ -313,7 +313,7 @@ versions\&. + \fBypbind\fR + will not check if the binding is alive\&. This option is for use with dialup connections to prevent + \fBypbind\fR +-from keeping the connection unnecessarily open or causing autodials\&. ++from keeping the connection unnecessarily open or causing auto-dials\&. + .RE + .PP + \fB\-f\fR configfile +@@ -335,7 +335,7 @@ will only bind to the loopback device an + .RS 4 + The default value for + \fBypbind\fR +-to check, if a NIS server is still reacheable, is 20 seconds\&. With this options another frequency in seconds can be specified\&. ++to check, if a NIS server is still reachable, is 20 seconds\&. With this options another frequency in seconds can be specified\&. + .RE + .PP + \fB\-no\-dbus\fR +diff -up ypbind-mt-1.32/man/ypbind.8.xml.typo2 ypbind-mt-1.32/man/ypbind.8.xml +--- ypbind-mt-1.32/man/ypbind.8.xml.typo2 2011-03-18 13:18:01.643651666 +0100 ++++ ypbind-mt-1.32/man/ypbind.8.xml 2011-03-18 13:19:03.137658398 +0100 +@@ -234,7 +234,7 @@ versions. + will not check if the binding is alive. This option is for use with + dialup connections to prevent + ypbind +-from keeping the connection unnecessarily open or causing autodials. ++from keeping the connection unnecessarily open or causing auto-dials. + + + +@@ -260,7 +260,7 @@ a remote network. + + The default value for + ypbind +-to check, if a NIS server is still reacheable, is 20 seconds. ++to check, if a NIS server is still reachable, is 20 seconds. + With this options another frequency in seconds can be specified. + + diff --git a/ypbind-post-waitbind b/ypbind-post-waitbind deleted file mode 100755 index e3ac27c..0000000 --- a/ypbind-post-waitbind +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# ypbind-domain -# -# description: This is part of former ypbind init script, which is used -# to fix problems with the init scripts continuing even when -# we are really not bound yet to a server, and then things -# that need NIS fail. -# - -# NISTIMEOUT should be a multiple of 15 since -# ypwhich has a hardcoded 15sec timeout -[ -z "$NISTIMEOUT" ] && NISTIMEOUT=45 - -logger -t ypbind $"Binding NIS service" - -timeout=$NISTIMEOUT -firsttime=1 -rpcbound=0 -SECONDS=0 -retval=0 -while [ $SECONDS -lt $timeout ] || [ $firsttime -eq 1 ] ; do -firsttime=0 -if /usr/sbin/rpcinfo -p | LC_ALL=C fgrep -q ypbind -then - rpcbound=1 - /usr/bin/ypwhich > /dev/null 2>&1 - retval=$? - if [ $retval -eq 0 ]; then - break; - fi -fi -sleep 2 -done - -logger -t ypbind "Binding took $SECONDS seconds" - -if [ $retval -eq 0 ]; then - if [ $rpcbound -eq 0 ]; then - logger -t ypbind \ - "NIS domain: `domainname`, ypbind not registered with rpcbind." - else - logger -t ypbind \ - "NIS domain: `domainname`, NIS server: `ypwhich 2> /dev/null`" - fi -else - logger -t ypbind \ - "NIS server for domain `domainname` is not responding." - logger -t ypbind \ - "Killing ypbind with PID $MAINPID." - kill -s 15 $MAINPID || : - logger -t ypbind \ - "Try increase NISTIMEOUT in /etc/sysconfig/ypbind" -fi - -exit $retval - diff --git a/ypbind-pre-setdomain b/ypbind-pre-setdomain deleted file mode 100755 index 9b22a8c..0000000 --- a/ypbind-pre-setdomain +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# -# ypbind-domain -# -# description: This is part of former ypbind init script, which is used -# to setup proper domainname before starting ypbind daemon -# itself. If $NISDOMAIN is not defined, it reads config file. -# - -TIMEOUT=5 -DOMAINNAME=`domainname` -if [ "$DOMAINNAME" = "(none)" -o "$DOMAINNAME" = "" ]; then - echo -n $"Setting NIS domain: " - seconds=0 - while [ $seconds -lt $TIMEOUT ]; do - if [ -n "$NISDOMAIN" ]; then - domainname $NISDOMAIN - echo $"'$NISDOMAIN' (environment variable)" - break - else # See if the domain is set in config file - NISDOMAIN=`awk '{ if ($1 == "domain") {print $2; exit} }' /etc/yp.conf` - if [ -n "$NISDOMAIN" ]; then - domainname $NISDOMAIN - echo $"'$NISDOMAIN' (/etc/yp.conf)" - break - else - seconds=$(($seconds+1)) - sleep 1 - fi - fi - done - # Give up if NISDOMAIN is still not set - [ -z "$NISDOMAIN" ] && logger -t ypbind $"domain not found" && exit 1 -fi - -#/etc/rpc check -grep ypbind /etc/rpc > /dev/null 2>&1 -if [ $? -ne 0 ]; then - logger -t ypbind $"Error: Missing ypbind entry in /etc/rpc." - exit 1 -fi - -echo - diff --git a/ypbind.init b/ypbind.init new file mode 100755 index 0000000..19930b0 --- /dev/null +++ b/ypbind.init @@ -0,0 +1,223 @@ +#!/bin/sh +# +# ypbind: Starts the ypbind daemon +# +# Version: @(#) /etc/init.d/ypbind.init 1.3 +# +# chkconfig: - 24 76 +# description: This is a daemon which runs on NIS/YP clients and binds them \ +# to a NIS domain. It must be running for systems based on glibc \ +# to work as NIS clients, but it should not be enabled on systems \ +# which are not using NIS. +# processname: ypbind +# config: /etc/yp.conf +# +# See https://fedoraproject.org/wiki/Packaging:SysVInitScript for +# the guidelines document. +### BEGIN INIT INFO +# Provides: ypbind +# Required-Start: $local_fs $remote_fs $network $rpcbind +# Required-Stop: $local_fs $remote_fs $network $rpcbind +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Starts the ypbind daemon +# Description: This is a daemon which runs on NIS/YP clients and binds them \ +# to a NIS domain. It must be running for systems based on glibc \ +# to work as NIS clients, but it should not be enabled on systems \ +# which are not using NIS. +### END INIT INFO + +OTHER_YPBIND_OPTS="" + +# Source function library. +[ -f /etc/rc.d/init.d/functions ] || exit 0 +. /etc/rc.d/init.d/functions + +# getting the YP domain name +[ -e /etc/sysconfig/network ] && . /etc/sysconfig/network + +# Check for and source configuration file otherwise set defaults +[ -f /etc/sysconfig/ypbind ] && . /etc/sysconfig/ypbind + +# NISTIMEOUT should be a multiple of 15 since +# ypwhich has a hardcoded 15sec timeout +[ -z "$NISTIMEOUT" ] && NISTIMEOUT=45 + +# Check that networking is configured. +[ "${NETWORKING}" = "no" ] && exit 0 + +exec="/usr/sbin/ypbind" +prog="ypbind" +lockfile=/var/lock/subsys/$prog + +selinux_on() { + [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || return + #echo $"Turning on allow_ypbind SELinux boolean" + setsebool allow_ypbind=1 +} + +selinux_off() { + [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || return + allow_ypbind=0 + . /etc/selinux/config + if [ -e /etc/selinux/${SELINUXTYPE}/modules/active/booleans.local ]; then + . /etc/selinux/${SELINUXTYPE}/modules/active/booleans.local + fi + if [ $allow_ypbind == 0 ]; then + #echo $"Turning off allow_ypbind SELinux boolean" + setsebool allow_ypbind=$allow_ypbind + fi +} + +start() { + [ $UID -eq 0 ] || exit 4 + [ -x $exec ] || exit 5 + DOMAINNAME=`domainname` + if [ "$DOMAINNAME" = "(none)" -o "$DOMAINNAME" = "" ]; then + echo -n $"Setting NIS domain: " + if [ -n "$NISDOMAIN" ]; then + action $"domain is '$NISDOMAIN' " domainname $NISDOMAIN + else # See if the domain is set in config file + NISDOMAIN=`awk '{ if ($1 == "domain") {print $2; exit} }' /etc/yp.conf` + if [ -n "$NISDOMAIN" ]; then + action $"domain is '$NISDOMAIN' " \ + domainname $NISDOMAIN + else + action $"domain not found" /bin/false + logger -t ypbind $"domain not found" + return 1 + fi + fi + fi + echo -n $"Starting NIS service: " + selinux_on + daemon $exec $OTHER_YPBIND_OPTS + retval=$? + echo + if [ $retval -ne 0 ]; then + #selinux_off + logger -t ypbind "failed to start!" + return $retval + fi + echo -n $"Binding NIS service: " + # the following fixes problems with the init scripts continuing + # even when we are really not bound yet to a server, and then things + # that need NIS fail. + timeout=$NISTIMEOUT + firsttime=1 + SECONDS=0 + while [ $SECONDS -lt $timeout ] || [ $firsttime -eq 1 ] ; do + firsttime=0 + if /usr/sbin/rpcinfo -p | LC_ALL=C fgrep -q ypbind + then + /usr/bin/ypwhich > /dev/null 2>&1 + retval=$? + if [ $retval -eq 0 ]; then + break; + fi + fi + sleep 2 + echo -n "." + done + if [ $retval -eq 0 ]; then + logger -t ypbind \ + "NIS domain: `domainname`, NIS server: `ypwhich 2> /dev/null`" + touch $lockfile + success + else + logger -t ypbind \ + "NIS server for domain `domainname` is not responding." + failure + #selinux_off + retval=100 + fi + echo + return $retval +} + +stop() { + [ $UID -eq 0 ] || exit 4 + [ -x $exec ] || exit 5 + echo -n $"Shutting down NIS service: " + killproc $prog + retval=$? + echo + if [ $retval -eq 0 ]; then + rm -f $lockfile + # if we used brute force (like kill -9) we don't want those around + if [ x$(domainname) != x ]; then + rm -f /var/yp/binding/$(domainname)* + fi + fi + #selinux_off + return $retval +} + +restart() { + stop + start +} + +reload() { + echo -n $"Reloading NIS service: " + killproc $prog -HUP + retval=$? + echo + return $retval +} + +force_reload() { + restart +} + +rh_status() { + # run checks to determine if the service is running or use generic status + status $prog +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + +usage() { + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" +} + +# See how we were called. +case "$1" in + start) + rh_status_q && exit 0 + $1 + retval=$? + if [ $retval -eq 100 ]; then stop; exit 1; fi + exit $retval + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + usage) + $1 + ;; + *) + usage + exit 2 +esac +exit $? diff --git a/ypbind.service b/ypbind.service deleted file mode 100644 index 2c45afe..0000000 --- a/ypbind.service +++ /dev/null @@ -1,22 +0,0 @@ -# For details how to adjust this file or change daemon settings, please, read ypbind(8). -[Unit] -Description=NIS/YP (Network Information Service) Clients to NIS Domain Binder -Requires=rpcbind.service -Wants=nss-user-lookup.target network-online.target -After=syslog.target rpcbind.service ypserv.service -Before=systemd-user-sessions.service -Before=nss-user-lookup.target - -[Service] -Type=notify -NotifyAccess=all -EnvironmentFile=-/etc/sysconfig/network -EnvironmentFile=-/etc/sysconfig/ypbind -ExecStartPre=/usr/libexec/ypbind-pre-setdomain -ExecStartPre=-/bin/bash -c 'selinuxenabled && /usr/sbin/setsebool allow_ypbind=1' -ExecStart=/usr/sbin/ypbind -n $OTHER_YPBIND_OPTS -ExecStartPost=/usr/libexec/ypbind-post-waitbind -PrivateTmp=true - -[Install] -WantedBy=multi-user.target diff --git a/ypbind.spec b/ypbind.spec index 77e5fc6..7a2b97c 100644 --- a/ypbind.spec +++ b/ypbind.spec @@ -1,42 +1,28 @@ Summary: The NIS daemon which binds NIS clients to an NIS domain Name: ypbind -Epoch: 3 -Version: 2.7.2 -Release: 16%{?dist} -License: GPL-2.0-only -Url: https://www.thkukuk.de/nis/nis/ypbind-mt/ - -Source0: https://github.com/thkukuk/ypbind-mt/archive/v%{version}.tar.gz#/ypbind-mt-%{version}.tar.gz -#Source1: ypbind.init +Version: 1.32 +Release: 8%{?dist}.3 +License: GPLv2 +Group: System Environment/Daemons +Source0: ftp://ftp.us.kernel.org/pub/linux/utils/net/NIS/ypbind-mt-%{version}.tar.bz2 +Url: http://www.linux-nis.org/nis/ypbind-mt/index.html +Source1: ypbind.init Source2: nis.sh -Source3: ypbind.service -Source4: ypbind-pre-setdomain -Source5: ypbind-post-waitbind - # Fedora-specific patch. Renaming 'ypbind' package to proper # 'ypbind-mt' would allow us to drop it. Patch1: ypbind-1.11-gettextdomain.patch # Not sent to upstream. -Patch2: ypbind-2.5-helpman.patch - -# This is for /bin/systemctl -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -Requires: rpcbind -Requires: yp-tools >= 4.2.2-2 -# New nss_nis package in F25+ -Requires: nss_nis -BuildRequires: make -BuildRequires: gcc +Patch2: ypbind-mt-1.32-typo.patch +Patch3: ypbind-mt-1.32-typo2.patch +Patch4: ypbind-mt-1.32-dbus.patch +Requires(post): chkconfig +Requires(preun): chkconfig +# This is for /sbin/service +Requires(preun): initscripts +Requires(postun): initscripts +Requires: rpcbind, yp-tools +Epoch: 3 BuildRequires: dbus-glib-devel, docbook-style-xsl -BuildRequires: systemd -BuildRequires: systemd-devel -BuildRequires: autoconf, automake -BuildRequires: gettext-devel -BuildRequires: libtirpc-devel -BuildRequires: libnsl2-devel -BuildRequires: libxslt %description The Network Information Service (NIS) is a system that provides @@ -56,345 +42,64 @@ Install the ypbind package on any machines running NIS client programs also need to install the ypserv package to a machine on your network. %prep -%autosetup -p1 -n ypbind-mt-%{version} - -autoreconf -fiv +%setup -q -n ypbind-mt-%{version} +%patch1 -p1 -b .gettextdomain +%patch2 -p1 -b .typo +%patch3 -p1 -b .typo2 +%patch4 -p1 -b .dbus %build -%ifarch s390 s390x -export CFLAGS="$RPM_OPT_FLAGS -fPIC" -%else -export CFLAGS="$RPM_OPT_FLAGS -fpic" -%endif -export LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" - -#export CFLAGS="$CFLAGS -H" - -%configure -%make_build +%configure --enable-dbus-nm +make %install -%make_install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/yp/binding -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d -mkdir -p $RPM_BUILD_ROOT%{_unitdir} -mkdir -p $RPM_BUILD_ROOT%{_libexecdir} -install -m 644 etc/yp.conf $RPM_BUILD_ROOT%{_sysconfdir}/yp.conf -install -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d/nis.sh -install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/ypbind.service -install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/ypbind-pre-setdomain -install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_libexecdir}/ypbind-post-waitbind +mkdir -p $RPM_BUILD_ROOT/%{_initrddir} $RPM_BUILD_ROOT/var/yp/binding $RPM_BUILD_ROOT/etc/dhcp/dhclient.d/ +install -m 644 etc/yp.conf $RPM_BUILD_ROOT/etc/yp.conf +install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_initrddir}/ypbind +install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/dhcp/dhclient.d/nis.sh %{find_lang} %{name} %post -%systemd_post %{name}.service +/sbin/chkconfig --add ypbind %preun -%systemd_preun %{name}.service +if [ $1 = 0 ] ; then + /sbin/service ypbind stop >/dev/null 2>&1 + /sbin/chkconfig --del ypbind +fi %postun -%systemd_postun_with_restart %{name}.service +if [ "$1" -ge "1" ] ; then + /sbin/service ypbind condrestart >/dev/null 2>&1 || : +fi %files -f %{name}.lang +%defattr(-,root,root) %{_sbindir}/* %{_mandir}/*/* -%{_libexecdir}/* -%{_unitdir}/* -%{_sysconfdir}/dhcp/dhclient.d/* -%config(noreplace) %{_sysconfdir}/yp.conf -%dir %{_localstatedir}/yp/binding -%doc README NEWS -%license COPYING +%{_initrddir}/* +/etc/dhcp/dhclient.d/* +%config(noreplace) /etc/yp.conf +%dir /var/yp/binding +%doc README NEWS COPYING %changelog -* Fri Jul 25 2025 Fedora Release Engineering - 3:2.7.2-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Mon Nov 21 2011 Honza Horak - 3:1.32-8.fc15.3 +- fixed firsttime handling in ypbind.init wait cycle -* Sun Jan 19 2025 Fedora Release Engineering - 3:2.7.2-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +* Tue Nov 15 2011 Honza Horak - 3:1.32-8.fc15.2 +- Fixed init script to handle long rpcinfo requests + (rhbz#624688) -* Sat Jul 20 2024 Fedora Release Engineering - 3:2.7.2-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jan 30 2024 Ondrej Sloup - 3:2.7.2-13 -- Update license tag to the SPDX format (GPL-2.0-only) - -* Sat Jan 27 2024 Fedora Release Engineering - 3:2.7.2-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 3:2.7.2-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 3:2.7.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 3:2.7.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 3:2.7.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Nov 12 2021 Björn Esser - 3:2.7.2-7 -- Rebuild(libnsl2) - -* Tue Sep 28 2021 Marek Kulik - 3:2.7.2-6 -- Fix setsebool message in logs, resolves: #1882069 - -* Fri Jul 23 2021 Fedora Release Engineering - 3:2.7.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3:2.7.2-4 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Thu Jan 28 2021 Fedora Release Engineering - 3:2.7.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 3:2.7.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Apr 20 2020 Filip Januš - 2.7.2-1 -- Update version to 2.7.2 -- Resolves: #1796030 -- Removing obsolete patches - -* Fri Jan 31 2020 Fedora Release Engineering - 3:2.6.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Jul 30 2019 Matej Mužila - 3:2.6.1-1 -- Update to version 2.6.1 -- Resolves: #1668439 - -* Sat Jul 27 2019 Fedora Release Engineering - 3:2.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 3:2.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 3:2.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 07 2018 Matej Mužila - 3:2.5-2 -- Fix man pages - -* Tue Jun 05 2018 Matej Mužila - 3:2.5-1 -- Update to version 2.5 - -* Mon Apr 30 2018 Petr Kubat - 3:2.4-8 -- Add the runtime dependency on nss_nis back - -* Fri Feb 09 2018 Igor Gnatenko - 3:2.4-7 -- Escape macros in %%changelog - -* Tue Jan 16 2018 Petr Kubat - 3:2.4-6 -- Temporarily remove nss_nis dependency as it got removed from glibc (#1534599) - -* Thu Sep 21 2017 Matej Mužila - 3:2.4-5 -- Add "Wants" dependency on network-online.target -- Remove "After" dependency on NetworkManager-wait-online.service - -* Thu Aug 03 2017 Fedora Release Engineering - 3:2.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 3:2.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon May 29 2017 Matej Mužila - 3:2.4-2 -- Require yp-tools >= 4.2.2-2 - -* Fri May 19 2017 Matej Mužila - 3:2.4-1 -- Update to version 2.4 supporting IPv6 - -* Wed Mar 29 2017 Petr Kubat - 3:1.38-10 -- Wait a while for dhcp to set up the domain (#1170400) - -* Mon Mar 20 2017 Petr Kubat - 3:1.38-9 -- Add a Wants dependency on nss-user-lookup.target (#1282440) - -* Sat Feb 11 2017 Fedora Release Engineering - 3:1.38-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Nov 23 2016 Ralf Corsépius - 3:1.38-7 -- Remove check for libsystemd-daemon from ypbind-systemdso.patch (RHBZ#1396893). -- Add check for systemd/sd-daemon.h to ypbind-systemdso.patch. -- Spec file cosmetics. -- Add %%license tag. - -* Mon Nov 07 2016 Petr Kubat - 3:1.38-6 -- Add runtime dependency on nss_nis - -* Fri Feb 05 2016 Fedora Release Engineering - 3:1.38-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Mon Jan 25 2016 Matej Muzila 3:1.38-4 -- Do not restart ypbind on dhcp renew if nis domain or nis servers - haven't changed - Resolves: rhbz#1301708 - -* Mon Nov 16 2015 Matej Muzila 3:1.38-3 -- Load ypbind.service before nss-user-lookup.target - Resolves: rhbz#1282440 - -* Fri Jun 19 2015 Fedora Release Engineering - 3:1.38-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Tue Oct 21 2014 Matej Mužila - 3:1.38-1 -- Update to 1.38 - -* Mon Aug 18 2014 Fedora Release Engineering - 3:1.37.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Aug 15 2014 Honza Horak - 3:1.37.2-2 -- link with systemd.so - -* Fri Aug 15 2014 Honza Horak - 3:1.37.2-1 -- Update to 1.37.2 - -* Sat Jun 07 2014 Fedora Release Engineering - 3:1.37.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon Nov 18 2013 Honza Horak - 3:1.37.1-9 -- Replace autoreconf with autoconf - -* Mon Nov 18 2013 Honza Horak - 3:1.37.1-8 -- DHCP changes documented - Related: #1031093 - -* Thu Aug 29 2013 Honza Horak - 3:1.37.1-7 -- Add network-online.target dependency - Resolves: #1002295 - -* Mon Aug 19 2013 Honza Horak - 3:1.37.1-6 -- Improve systemd documentation - -* Mon Jul 29 2013 Honza Horak - 3:1.37.1-5 -- Remove SysV init conversion and systemd macros compatible code -- Require systemd instead systemd-units -- Remove systemd-sysv - -* Thu May 09 2013 Honza Horak - 3:1.37.1-3 -- Enable PrivateTmp feature, just for the case - -* Tue May 07 2013 Honza Horak - 3:1.37.1-2 -- Syncing help and man pages - -* Mon May 06 2013 Honza Horak - 3:1.37.1-1 -- Update to new version 1.37.1 - -* Tue Jan 29 2013 Honza Horak - 3:1.36-10 -- Make re-bind interval a tune-able option -- Fixed bogus dates in changelog - -* Wed Dec 19 2012 Honza Horak - 3:1.36-9 -- Check presence of ypbind in /etc/rpc - Related: #888778 - -* Fri Nov 30 2012 Honza Horak - 3:1.36-8 -- Build with full relro - -* Thu Oct 04 2012 Honza Horak - 3:1.36-7 -- Run %%triggerun regardless of systemd_post variable definition - -* Mon Sep 24 2012 Honza Horak - 3:1.36-6 -- Use sdnotify to inform systemd that daemon is ready -- Minor spec file cleanup -- Use new systemd macros - Resolves: #850375 -- Add After: NetworkManager-wait-online.service - Related: #846767 - -* Thu Aug 23 2012 Honza Horak - 3:1.36-5 -- Enhance ypbind(8) with info about NISTIMEOUT -- Add suggestion about extending NISTIMEOUT if ypbind timeouts - -* Mon Jul 23 2012 Honza Horak - 3:1.36-4 -- Add SIGPIPE to proper signal set - Related: #842228 -- Fixed sending TERM signal in ypbind-post-waitbind - -* Sun Jul 22 2012 Fedora Release Engineering - 3:1.36-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed Jul 11 2012 Honza Horak - 3:1.36-2 -- Minor spec file fixes -- Helper scripts moved to /usr/libexec - -* Wed Jul 11 2012 Honza Horak - 3:1.36-1 -- Update to new version 1.36 - -* Tue Jul 10 2012 Honza Horak - 3:1.35-5 -- consider all 127.0.0.0/8 as localhost addresses - Related: #829487 - -* Mon Jul 09 2012 Honza Horak - 3:1.35-4 -- don't go offline when one of NIS servers is localhost - Related: #829487 - -* Fri Jun 01 2012 Honza Horak - 3:1.35-3 -- fixed kill call in ypbind-post-waitbind script - -* Wed Apr 18 2012 Honza Horak - 3:1.35-2 -- NetworkManager signal name changed - Resolves: #812501 - -* Mon Mar 26 2012 Honza Horak - 3:1.35-1 -- Update to new version with only minor changes - -* Tue Jan 24 2012 Honza Horak - 3:1.33-11 -- Don't fail when killing ypbind after unsuccessfull start fails -- Let ypbind start before systemd-user-sessions.service - Resolves: #783447 - -* Thu Jan 12 2012 Honza Horak - 3:1.33-10 -- Fail to start ypbind service if domainname is not set - -* Wed Nov 16 2011 Honza Horak - 3:1.33-9 -- Fixed ypbind-post-waitbind to stop the service when binding is not success - -* Tue Nov 15 2011 Honza Horak - 3:1.33-8 -- Fixed ypbind-post-waitbind to handle long rpcinfo requests - Resolves: #624688 - -* Mon Sep 26 2011 Honza Horak - 3:1.33-7 -- Don't turn off allow_ypbind SELinux boolean - Resolves: #741141 - -* Thu Sep 15 2011 Honza Horak - 3:1.33-6 -- Fixed systemd unit file -- Log messages when starting ypbind service made more verbose - -* Tue Aug 02 2011 Honza Horak - 3:1.33-5 -- Fixed rpmlint errors -- Fixed systemd unit files packaging - -* Mon Jun 13 2011 Honza Horak - 3:1.33-4 -- Changed -n option for staying in foreground to not overlap - with config-file option - -* Tue Jun 07 2011 Honza Horak - 3:1.33-3 -- Fixed ypbind.service when selinux is disabled - -* Tue May 10 2011 Honza Horak - 3:1.33-2 -- Added /etc/sysconfig/network to systemd service file - -* Tue May 10 2011 Honza Horak - 3:1.33-1 -- Update to new version - -* Fri Apr 29 2011 Honza Horak - 3:1.32-11 +* Fri Apr 29 2011 Honza Horak - 3:1.32-8.fc15.1 - Removed NM_DBUS_VPN_SIGNAL_STATE_CHANGE, use own constant NM_DBUS_SIGNAL_STATE_CHANGED. (rhbz#696629) -* Thu Apr 28 2011 Honza Horak - 3:1.32-10 -- Made EnvironmentFile in systemd definition optional - (rhbz#632620) - -* Thu Apr 14 2011 Honza Horak - 3:1.32-9 -- Add native systemd unit file. - (rhbz#693873) - * Thu Apr 14 2011 Honza Horak - 3:1.32-8 - Added rpcbind to LSB header in SysV init file. @@ -461,7 +166,7 @@ install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_libexecdir}/ypbind-post-waitbind the documentation, and it is also removed from the usage string in this version -* Thu Nov 19 2009 Karel Klic - 3:1.29.91-2 +* Fri Nov 19 2009 Karel Klic - 3:1.29.91-2 - Added signalstate patch, which fixes compilation with NetworkManaged-devel headers installed. Resolves #537064. @@ -543,7 +248,7 @@ install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_libexecdir}/ypbind-post-waitbind * Mon Sep 17 2007 Steve Dickson - 3:1.20.4-2 - Fixed a couple of typos in initscript (bz 281951) -* Thu May 3 2007 Steve Dickson - 3:1.20.4-1 +* Wed May 3 2007 Steve Dickson - 3:1.20.4-1 - updated to latest upstream version ypbind-mt-1.20.4 * Tue Apr 17 2007 Steve Dickson - 3:1.19-9 @@ -689,7 +394,7 @@ install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_libexecdir}/ypbind-post-waitbind * Sun Jun 24 2001 Elliot Lee - Bump release + rebuild. -* Mon Jun 4 2001 Preston Brown +* Fri Jun 4 2001 Preston Brown - small fixes for initscript. Sometimes had trouble on slower systems (#37463) * Sat Mar 3 2001 Preston Brown