diff --git a/ypserv-pre-setdomain b/ypserv-pre-setdomain new file mode 100644 index 0000000..0c1f4e8 --- /dev/null +++ b/ypserv-pre-setdomain @@ -0,0 +1,21 @@ +#!/bin/sh +# +# ypserv-domain +# +# description: This is part of former ypserv init script, which is used +# to setup proper domainname before starting ypserv daemon +# itself. If $NISDOMAIN is not defined, it fails. +# + +DOMAINNAME=`domainname` +if [ "$DOMAINNAME" = "(none)" -o "$DOMAINNAME" = "" ]; then + echo -n $"Setting NIS domain: " + if [ -n "$NISDOMAIN" ]; then + domainname $NISDOMAIN + echo $"'$NISDOMAIN' (environment variable)" + else # no domainname found + logger -t ypserv $"domain not found" + exit 1 + fi +fi + diff --git a/ypserv.service b/ypserv.service index 0868394..0733a70 100644 --- a/ypserv.service +++ b/ypserv.service @@ -5,6 +5,7 @@ After=syslog.target network.target rpcbind.service [Service] EnvironmentFile=-/etc/sysconfig/network +ExecStartPre=/usr/lib/ypserv/ypserv-pre-setdomain ExecStart=/usr/sbin/ypserv -f $YPSERV_ARGS [Install] diff --git a/ypserv.spec b/ypserv.spec index 6b21089..4fe5831 100644 --- a/ypserv.spec +++ b/ypserv.spec @@ -2,7 +2,7 @@ Summary: The NIS (Network Information Service) server Url: http://www.linux-nis.org/nis/ypserv/index.html Name: ypserv Version: 2.26 -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv2 Group: System Environment/Daemons Source0: ftp://ftp.kernel.org/pub/linux/utils/net/NIS/ypserv-%{version}.tar.bz2 @@ -10,6 +10,7 @@ Source1: ypserv.service Source2: yppasswdd.service Source3: ypxfrd.service Source4: rpc.yppasswdd.env +Source5: ypserv-pre-setdomain Requires: gawk, make, portmap, bash >= 2.0 Requires(post): systemd-units @@ -36,6 +37,9 @@ Patch15: ypserv-2.26-retval.patch BuildRequires: compat-gdbm-devel BuildRequires: systemd-units +# Location where helper scripts are located +%define scripts_path /usr/lib/%{name} + %description The Network Information Service (NIS) is a system that provides network information (login names, passwords, home directories, group @@ -86,11 +90,12 @@ rm -rf $RPM_BUILD_ROOT #make install ROOT=$RPM_BUILD_ROOT %makeinstall libexecdir=$RPM_BUILD_ROOT%{_libdir}/yp INSTALL_PROGRAM=install -mkdir -p $RPM_BUILD_ROOT%{_unitdir} $RPM_BUILD_ROOT%{_sysconfdir} -install -m644 etc/ypserv.conf $RPM_BUILD_ROOT%{_sysconfdir} -install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/ypserv.service -install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/yppasswdd.service -install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/ypxfrd.service +mkdir -p $RPM_BUILD_ROOT%{_unitdir} $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT%{scripts_path} +install -m 644 etc/ypserv.conf $RPM_BUILD_ROOT%{_sysconfdir} +install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/ypserv.service +install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/yppasswdd.service +install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/ypxfrd.service +install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{scripts_path}/ypserv-pre-setdomain mkdir -p $RPM_BUILD_ROOT/etc/sysconfig cat >$RPM_BUILD_ROOT/etc/sysconfig/yppasswdd < - 2.26-10 +- Respect NISDOMAIN environment variable and set domainname if empty + Resolves: #699826 + * Mon Dec 12 2011 Honza Horak - 2.26-9 - Rebuild against compat_gdbm, because gdbm has changed license to GPLv3+ and it is not compatible with ypserv GPLv2