[netatalk] added systemd unit file, SysV initscript moved to subpackage
Jiri Skala
jskala at fedoraproject.org
Thu Aug 4 14:47:56 UTC 2011
commit d08cb32fc9731ca89d6a153ff767c7099d447444
Author: Jiri Skala <jskala at redhat.com>
Date: Thu Aug 4 16:47:42 2011 +0200
added systemd unit file, SysV initscript moved to subpackage
netatalk.service | 11 ++++++++++
netatalk.sh | 47 ++++++++++++++++++++++++++++++++++++++++++++++
netatalk.spec | 55 ++++++++++++++++++++++++++++++++++++++---------------
3 files changed, 97 insertions(+), 16 deletions(-)
---
diff --git a/netatalk.service b/netatalk.service
new file mode 100644
index 0000000..7e24a36
--- /dev/null
+++ b/netatalk.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=File and Printer sharing via AppleTalk Protocol
+After=syslog.target network.target
+
+[Service]
+Type=oneshot
+ExecStart=/bin/bash -c "exec /usr/libexec/netatalk/netatalk.sh"
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/netatalk.sh b/netatalk.sh
new file mode 100755
index 0000000..d16a1c3
--- /dev/null
+++ b/netatalk.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+ATALK_BIN=/usr/bin
+ATALK_CONF_DIR=/etc/netatalk/
+ATALK_SBIN=/usr/sbin
+
+# read in netatalk configuration
+if [ -f ${ATALK_CONF_DIR}/netatalk.conf ]; then
+ . ${ATALK_CONF_DIR}/netatalk.conf
+fi
+
+if [ x"${ATALKD_RUN}" != x"no" -a -x ${ATALK_SBIN}/atalkd ]; then
+ ${ATALK_SBIN}/atalkd
+
+ if [ x"${PAPD_RUN}" = x"yes" -a -x ${ATALK_SBIN}/papd ]; then
+ ${ATALK_SBIN}/papd
+ fi
+
+ # check for timelord in bin directory
+ if [ x"${TIMELORD_RUN}" = x"yes" -a -x ${ATALK_BIN}/timelord ]; then
+ ${ATALK_BIN}/timelord
+ fi
+
+ # check for timelord in sbin directory
+ if [ x"${TIMELORD_RUN}" = x"yes" -a -x ${ATALK_SBIN}/timelord ]; then
+ ${ATALK_SBIN}/timelord
+ fi
+
+ # check for a2boot in bin directory
+ if [ x"${A2BOOT_RUN}" = x"yes" -a -x ${ATALK_BIN}/a2boot ]; then
+ ${ATALK_BIN}/a2boot
+ fi
+
+ # check for a2boot in sbin directory
+ if [ x"${A2BOOT_RUN}" = x"yes" -a -x ${ATALK_SBIN}/a2boot ]; then
+ ${ATALK_SBIN}/a2boot
+ fi
+fi
+
+if [ x"${CNID_METAD_RUN}" = x"yes" -a -x ${ATALK_SBIN}/cnid_metad ]; then
+ ${ATALK_SBIN}/cnid_metad $CNID_CONFIG
+fi
+
+if [ x"${AFPD_RUN}" = x"yes" -a -x ${ATALK_SBIN}/afpd ]; then
+ ${ATALK_SBIN}/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
+ -c ${AFPD_MAX_CLIENTS} -n \"${ATALK_NAME}${ATALK_ZONE}\"
+fi
diff --git a/netatalk.spec b/netatalk.spec
index fa1bffe..e79bb1c 100644
--- a/netatalk.spec
+++ b/netatalk.spec
@@ -1,22 +1,22 @@
Summary: Daemon which provides POSIX-compliant *NIX/*BSD systems with the ability to share files and printers with Apple Macintosh
Name: netatalk
Version: 2.2.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Epoch: 4
License: GPLv2+
Group: System Environment/Daemons
Source0: http://download.sourceforge.net/netatalk/netatalk-%{version}.tar.bz2
+Source1: netatalk.service
Source2: netatalk.pam-system-auth
+Source3: netatalk.sh
Patch1: netatalk-2.0.2-uams_no_pie.patch
Patch2: netatalk-2.0.4-extern_ucreator.patch
Url: http://netatalk.sourceforge.net/
Requires: pam
-Requires(post): /sbin/chkconfig /sbin/ldconfig
+Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
-Requires(preun): /sbin/service
-Requires(postun): /sbin/service /sbin/ldconfig
BuildRequires: cracklib-devel openssl-devel pam quota-devel libtool automake autoconf db4-devel pam-devel tcp_wrappers-devel libgcrypt-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -36,6 +36,16 @@ Group: Development/Libraries
This package contains the header files for building Appletalk networking
programs.
+%package sysvinit
+Group: System Environment/Daemons
+Summary: SysV initscript for netatalk
+Requires: %{name} = %{version}-%{release}
+Requires(preun): /sbin/service
+Requires(postun): /sbin/service
+
+%description sysvinit
+The netatalk-sysvinit contains SysV initscritps support.
+
%prep
%setup -q
@@ -106,6 +116,11 @@ cp -fp %{SOURCE2} config.example
# XXX bad hack until this file is updated in glibc-headers:
rm -f $RPM_BUILD_ROOT/usr/include/netatalk/at.h
+mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
+mkdir -p $RPM_BUILD_ROOT/usr/libexec/netatalk
+install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/lib/systemd/system
+install -m 755 %{SOURCE3} $RPM_BUILD_ROOT/usr/libexec/netatalk
+
# Clean up .a and .la files
find $RPM_BUILD_ROOT -name \*.a -exec rm {} \;
find $RPM_BUILD_ROOT -name \*.la -exec rm {} \;
@@ -114,23 +129,23 @@ find $RPM_BUILD_ROOT -name \*.la -exec rm {} \;
rm -rf $RPM_BUILD_ROOT
%post
-/sbin/chkconfig --add netatalk
-/sbin/ldconfig
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%preun
if [ "$1" = "0" ] ; then
- # check for existence due to renaming initscritp
- if [ -x %{_initrddir}/netatalk ] ; then
- /sbin/service netatalk stop > /dev/null 2>&1
- /sbin/chkconfig --del netatalk
- fi
+ /bin/systemctl disable netatalk.service > /dev/null 2>&1 || :
+ /bin/systemctl stop netatalk.service > /dev/null 2>&1 || :
fi
%postun
-if [ "$1" -ge "1" ]; then
- /sbin/service netatalk condrestart > /dev/null 2>&1 || :
-fi
-/sbin/ldconfig
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+
+%triggerun -- %{name} < 2.2.0-2
+ /sbin/chkconfig --del netatalk >/dev/null 2>&1 || :
+ /bin/systemctl try-restart netatalk.service >/dev/null 2>&1 || :
+
+%triggerpostun -n %{name}-sysvinit -- %{name} < 2.2.0-2
+ /sbin/chkconfig --add netatalk >/dev/null 2>&1 || :
%files
%defattr(-,root,root)
@@ -138,7 +153,8 @@ fi
%doc doc
%doc config.example
%dir %{_sysconfdir}/netatalk
-%attr(755,root,root) %{_initrddir}/netatalk
+/lib/systemd/system/netatalk.service
+/usr/libexec/netatalk/netatalk.sh
%config(noreplace) %{_sysconfdir}/netatalk/AppleVolumes.default
%config(noreplace) %{_sysconfdir}/netatalk/AppleVolumes.system
%config(noreplace) %{_sysconfdir}/netatalk/netatalk.conf
@@ -166,7 +182,14 @@ fi
%{_bindir}/netatalk-config
%{_mandir}/man*/netatalk-config.1*
+%files sysvinit
+%attr(755,root,root) %{_initrddir}/netatalk
+
%changelog
+* Thu Aug 04 2011 Jiri Skala <jskala at redhat.com> - 4:2.2.0-2
+- fixes #714448 - systemd-service
+- moves SysV initscript to subpackage
+
* Fri Jul 29 2011 Jiri Skala <jskala at redhat.com> - 4:2.2.0-1
- update to latest upstream netatalk-2.2.0
More information about the scm-commits
mailing list