[isdn4k-utils] - bz#717397, systemd unit file for isdn service - drop triggerpostun

Than Ngo than at fedoraproject.org
Thu Jul 21 11:57:59 UTC 2011


commit 27353cd14a25a67d9b3313de2c1ef7497d315a3e
Author: Than Ngo <than at redhat.com>
Date:   Thu Jul 21 13:58:52 2011 +0200

    - bz#717397, systemd unit file for isdn service
    - drop triggerpostun

 isdn.service      |   15 +++++
 isdn4k-utils.spec |  147 ++++++++--------------------------------------------
 2 files changed, 38 insertions(+), 124 deletions(-)
---
diff --git a/isdn.service b/isdn.service
new file mode 100644
index 0000000..3442737
--- /dev/null
+++ b/isdn.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=ISDN Services
+Requires=syslog.target network.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/isdn start
+ExecStop=/usr/libexec/isdn stop
+Environment=BOOTUP=serial
+Environment=CONSOLETYPE=serial
+StandardError=syslog
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/isdn4k-utils.spec b/isdn4k-utils.spec
index 3fa77a3..4776f9e 100644
--- a/isdn4k-utils.spec
+++ b/isdn4k-utils.spec
@@ -6,7 +6,7 @@
 Summary: Utilities for configuring an ISDN subsystem
 Name: isdn4k-utils
 Version: 3.2
-Release: 76%{?dist}
+Release: 77%{?dist}
 License: GPLv2+ and GPL+ and MIT and BSD and zlib
 Group: Applications/System
 Url: http://www.isdn4linux.de/
@@ -26,6 +26,7 @@ Source8: capi.service
 Source9: capiinit.8
 
 Source10: 40-isdn.rules
+Source11: isdn.service
 
 Patch0: isdn4k-utils-CVS-2009-10-20-redhat.patch
 Patch1: isdn4k-utils-CVS-2009-10-20-lib64.patch
@@ -255,10 +256,11 @@ rm -rf %{buildroot}/etc/isdn/stop \
        %{buildroot}/usr/lib*/X11
 
 # install isdn startup script
-mkdir -p %{buildroot}%{_initddir}
-install -m0755 %{SOURCE2} %{buildroot}%{_initddir}/isdn
+mkdir -p %{buildroot}%{_libexecdir}
+install -m0755 %{SOURCE2} %{buildroot}%{_libexecdir}/isdn
 install -m0755 -d %{buildroot}%{_unitdir}
-install -m0644 %{SOURCE8} %{buildroot}%{_unitdir}/capi.service
+install -m0644 %{SOURCE9} %{buildroot}%{_unitdir}/isdn.service
+install -m0644 %{SOURCE11} %{buildroot}%{_unitdir}/capi.service
 
 # move some binaries into /sbin
 mkdir -p %{buildroot}/sbin
@@ -308,134 +310,26 @@ echo "# config files" >> %{buildroot}/etc/ppp/ioptions
 
 %post
 /sbin/ldconfig
-/sbin/chkconfig --add isdn
-/sbin/chkconfig --add capi
-if ! test -s %{_datadir}/isdn/zone-de-dtag.cdb ; then
-	bzip2 -dc %{_docdir}/isdn4k-utils-3.2/zred.dtag.bz2 | \
-	/sbin/mkzonedb -d %{_datadir}/isdn/zone-de-dtag.cdb -r -
-fi
-exit 0
 
 %preun
 if [ "$1" = "0" ]; then
-	/sbin/service isdn stop > /dev/null 2>&1
-	/sbin/service capi stop > /dev/null 2>&1
-	/sbin/chkconfig --del isdn
-	/sbin/chkconfig --del capi
+   # Package removal, not upgrade
+   /bin/systemctl disable isdn.service > /dev/null 2>&1 || :
+   /bin/systemctl stop isdn.service > /dev/null 2>&1 || :
 fi
-exit 0
 
 %postun
 /sbin/ldconfig
-if [ "$1" -ge "1" ]; then
-	/sbin/service isdn condrestart > /dev/null 2>&1
-	/sbin/service capi condrestart > /dev/null 2>&1
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /bin/systemctl try-restart isdn.service >/dev/null 2>&1 || :
 fi
-exit 0
-
-%triggerpostun -- %{name} < 3.1-44
-PDIR=/etc/sysconfig/provider
-DEVPATH=/etc/sysconfig/networking/devices
-PROFILEPATH=/etc/sysconfig/networking/profiles/default
-NETDEV=ifcfg-
-provider=`ls $PDIR/conf-* 2>/dev/null | LANG=C egrep -v '(\.orig|\.save)' | \
-          LANG=C egrep -v '(~|\.bak)$'`
-
-function clear_env()
-{
-	PROVIDER=; USER=; PASSWORD=; ENCAP=; DIALMODE=; SECURE=; MSN=; PHONE_IN=
-	PREFIX=; AREACODE=; PHONE_OUT=; CITY=; BUNDLING=; LOCAL_IP=; REMOTE_IP=
-	NETWORK=; BROADCAST=; HUPTIMEOUT=; DNS=; ISDN_HOSTNAME=; ISDN_DOMAIN=; L2_PROT=
-	L3_PROT=; CALLBACK=; CHARGEHUP=; CHARGEINT=; CBHUP=; CBDELAY=; DIALMAX=
-	AUTH=; IHUP=; IP_FORWARD=; SLAVE_DELAY=; SLAVE_TRIGGER=; FIRMWARE=
-	VJ=; VJCCOMP=; AC=; PC=; BSDCOMP=; MTU=; MRU=; DRIVERTYPE=
-	SLAVE_DIALMODE=; SLAVE_MSN=; SLAVE_PHONE_IN=; SLAVE_PHONE_OUT=
-	SLAVE_HUPTIMEOUT=; SLAVE_CALLBACK=; SLAVE_CHARGEHUP=; SLAVE_CHARGEINT=
-	SLAVE_CBHUP=; SLAVE_CBDELAY=; SLAVE_DIALMAX=; SLAVE_IHUP=; DELDEFAULTROUTE=
-	CBCP=; DIALIN=; SLAVE_DEVICE=; PEERDNS=
-}
-
-n=0
-for i in $provider ; do
-	clear_env
-	. $i >/dev/null 2>&1
-	[ -n "$BOOT" ] || BOOT=no
-	touch $DEVPATH/${NETDEV}${PROVIDER}
-	chmod 700 $DEVPATH/${NETDEV}${PROVIDER}
-	if [ "$ENCAP" = "syncppp" ]; then
-		DEVICE=ippp${n}
-	else
-		DEVICE=isdn${n}
-	fi
-	if [ "$BUNDLING" = "yes" -o "$BUNDLING" = "on" ]; then
-		if [ "$ENCAP" = "syncppp" ] ; then
-			n=$[$n+1]
-			SLAVE_DEVICE=ippp${n}
-			echo "SLAVE_DEVICE=$SLAVE_DEVICE" >> $DEVPATH/${NETDEV}${PROVIDER}
-		fi
-	fi
-	echo "DEVICE=$DEVICE" >> $DEVPATH/${NETDEV}${PROVIDER}
-	if [ "$BOOT" = "on" ] ; then
-		echo "ONBOOT=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
-	else
-		echo "ONBOOT=no" >> $DEVPATH/${NETDEV}${PROVIDER}
-	fi
-	echo "PROVIDER=$PROVIDER" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "USER=$USER" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "PASSWORD=$PASSWORD" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "ENCAP=$ENCAP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "DIALMODE=$DIALMODE" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "SECURE=$SECURE" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "MSN=$MSN" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "PHONE_IN=$PHONE_IN" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "PREFIX=$PREFIX" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "AREACODE=$AREACODE" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "PHONE_OUT=$PHONE_OUT" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "BUNDLING=$BUNDLING" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "IPADDR=$LOCAL_IP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "GATEWAY=$REMOTE_IP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "HUPTIMEOUT=$HUPTIMEOUT" >> $DEVPATH/${NETDEV}${PROVIDER}
-	if [ -z "$DNS" ] ; then
-		echo "PEERDNS=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
-	else
-		l=1
-		for j in $DNS ; do
-			echo "DNS${l}=$j" >> $DEVPATH/${NETDEV}${PROVIDER}
-			l=$[$l+1]
-		done
-	fi
-	echo "NETMASK=$NETMASK" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "DOMAIN=$DOMAIN" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "CALLBACK=$CALLBACK" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "CHARGEHUP=$CHARGEHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "CHARGEINT=$CHARGEINT" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "CBHUP=$CBHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "CBDELAY=$CBDELAY" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "DIALMAX=$DIALMAX" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "AUTH=\"$AUTH\"" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "IHUP=$IHUP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	if [ "$DELDEFAULTROUTE" = "enabled" ] ; then
-		echo "DEFROUTE=yes" >> $DEVPATH/${NETDEV}${PROVIDER}
-	else
-		echo "DEFROUTE=no" >> $DEVPATH/${NETDEV}${PROVIDER}
-	fi
-	echo "CBCP=$CBCP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "VJ=$VJ" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "VJCCOMP=$VJCCOMP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "AC=$AC" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "PC=$PC" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "BSDCOMP=$BSDCOMP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "CCP=$CPP" >> $DEVPATH/${NETDEV}${PROVIDER}
-	echo "DIALIN=$DIALIN" >> $DEVPATH/${NETDEV}${PROVIDER}
-	(cd /etc/sysconfig/network-scripts/ && ln -f ../networking/devices/${NETDEV}${PROVIDER} ${NETDEV}${DEVICE})
-	(cd $PROFILEPATH && ln -f ../../devices/${NETDEV}${PROVIDER} .)
-	n=$[$n+1]
-done
 
-/sbin/chkconfig --del isdn >/dev/null 2>&1 || true
-/sbin/chkconfig --add isdn
-
-exit 0
+triggerun -- %{name} < 3.2-77
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del isdn >/dev/null 2>&1 || :
+/bin/systemctl try-restart isdn.service >/dev/null 2>&1 || :
 
 %clean
 rm -rf %{buildroot}
@@ -462,7 +356,8 @@ rm -rf %{buildroot}
 %{_libdir}/capi/*.so.*
 %defattr(755,root,root,755)
 /sbin/*
-%{_initddir}/isdn
+%{_libexecdir}/isdn
+%{_unitdir}/isdn.service
 %{_unitdir}/capi.service
 %{_bindir}/*
 %{_sbindir}/capiinit
@@ -544,6 +439,10 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Thu Jul 21 2011 Than Ngo <than at redhat.com> - 3.2-77
+- bz#717397, systemd unit file for isdn service
+- drop triggerpostun
+
 * Tue Jul 12 2011 Toshio Kuratomi <toshio at fedoraproject.org> - 3.2-76
 - Apply systemd unit file for capi service
 


More information about the scm-commits mailing list