From 64c5615b07f2fc7a96fef5f5da5f10a827d38e33 Mon Sep 17 00:00:00 2001 From: Matt Domsch Date: Jan 06 2012 15:56:42 +0000 Subject: convert to systemd (BZ771504), with unit file by Jóhann B. Guðmundsson --- diff --git a/cntlm.NetworkManager b/cntlm.NetworkManager old mode 100755 new mode 100644 diff --git a/cntlm.service b/cntlm.service new file mode 100644 index 0000000..5d20c5a --- /dev/null +++ b/cntlm.service @@ -0,0 +1,11 @@ +[Unit] +Description=CNTLM HTTP Accelerator For NTLM Secured Proxies Authenticator +After=network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/sysconfig/cntlmd +ExecStart=/usr/sbin/cntlm -c /etc/cntlm.conf -U cntlm -P /run/cntlm/cntlmd.pid + +[Install] +WantedBy=multi-user.target diff --git a/cntlm.spec b/cntlm.spec index 0fb568c..603532c 100644 --- a/cntlm.spec +++ b/cntlm.spec @@ -1,22 +1,22 @@ -%{!?_initddir: %global _initddir %{_sysconfdir}/rc.d/init.d} - Summary: Fast NTLM authentication proxy with tunneling Name: cntlm Version: 0.92 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Daemons URL: http://cntlm.sourceforge.net/ Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Source2: cntlm.init.fedora -Source4: cntlm.NetworkManager -Source5: cntlm.tmpfiles -Patch0: cntlm-0.92-Makefile.patch +Source4: cntlm.NetworkManager +Source5: cntlm.tmpfiles +Source6: cntlm.service +Patch0: cntlm-0.92-Makefile.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -Requires(post): chkconfig -Requires(preun): chkconfig -Requires(preun): initscripts -Requires(pre): shadow-utils +BuildRequires: systemd-units +Requires(pre): shadow-utils +Requires(post): systemd-units, systemd-sysv +Requires(preun): systemd-units +Requires(postun): systemd-units %description Cntlm is a fast and efficient NTLM proxy, with support for TCP/IP tunneling, @@ -37,10 +37,10 @@ make %{?_smp_mflags} SYSCONFDIR=%{_sysconfdir} rm -rf %{buildroot} make BINDIR=%{buildroot}%{_sbindir} MANDIR=%{buildroot}%{_mandir} SYSCONFDIR=%{buildroot}%{_sysconfdir} install -install -D -m 0755 %{SOURCE2} %{buildroot}%{_initddir}/cntlmd install -D -m 0644 rpm/%{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cntlmd install -D -m 0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/10-%{name} install -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf +install -D -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}.service mkdir -p -m 0755 %{buildroot}%{_localstatedir}/run/%{name} %clean @@ -51,7 +51,6 @@ rm -rf %{buildroot} %doc LICENSE README COPYRIGHT %{_sbindir}/%{name} %{_mandir}/man1/%{name}.1* -%{_initddir}/cntlmd %attr(-,cntlm,cntlm) %{_localstatedir}/run/%{name} %config(noreplace) %{_sysconfdir}/%{name}.conf %config(noreplace) %{_sysconfdir}/sysconfig/cntlmd @@ -59,6 +58,8 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/NetworkManager/dispatcher.d %{_sysconfdir}/NetworkManager/dispatcher.d/10-%{name} %{_sysconfdir}/tmpfiles.d/%{name}.conf +%{_unitdir}/%{name}.service + %pre getent group %{name} > /dev/null || groupadd -r %{name} @@ -68,23 +69,43 @@ getent passwd %{name} > /dev/null || \ exit 0 %post -/sbin/chkconfig --add cntlmd -exit 0 +if [ $1 -eq 1 ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi %preun -if [ $1 = 0 ]; then - /sbin/service cntlmd stop > /dev/null 2>&1 - /sbin/chkconfig --del cntlmd +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || : + /bin/systemctl stop %{name}.service > /dev/null 2>&1 || : fi -exit 0 %postun -if [ "$1" -ge "1" ]; then - /sbin/service cntlmd 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 %{name}.service >/dev/null 2>&1 || : fi -exit 0 + +%triggerun -- cntlm < 0.92-2 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply cntlm +# to migrate them to systemd targets +/usr/bin/systemd-sysv-convert --save cntlm >/dev/null 2>&1 ||: + +# If the package is allowed to autostart: +/bin/systemctl --no-reload enable cntlm.service >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del cntlm >/dev/null 2>&1 || : +/bin/systemctl try-restart cntlm.service >/dev/null 2>&1 || : + %changelog +* Wed Jan 4 2012 Matt Domsch - 0.92-2 +- convert to systemd (BZ771504), with unit file by Jóhann B. Guðmundsson + * Mon Dec 5 2011 Matt Domsch - 0.92-1 - update to new bugfix release (BZ760164)