[apt] convert to systemd

Tom Callaway spot at fedoraproject.org
Fri Sep 9 15:05:12 UTC 2011


commit 5d0d77b69d8f79ee660f67e13ea19d524ab09f68
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Fri Sep 9 11:05:00 2011 -0400

    convert to systemd

 apt.service |   13 +++++++++++++
 apt.spec    |   50 +++++++++++++++++++++-----------------------------
 2 files changed, 34 insertions(+), 29 deletions(-)
---
diff --git a/apt.service b/apt.service
new file mode 100644
index 0000000..c5d74bc
--- /dev/null
+++ b/apt.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=APT automatic updates.
+After=syslog.target
+
+[Service]
+Type=oneshot
+EnvironmentFile=-/etc/sysconfig/apt
+ExecStart=/bin/touch /var/lock/subsys/apt
+ExecStop=/bin/rm -f /var/lock/subsys/apt
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/apt.spec b/apt.spec
index dcf5244..3b022ee 100644
--- a/apt.spec
+++ b/apt.spec
@@ -10,7 +10,7 @@
 Summary: Debian's Advanced Packaging Tool with RPM support
 Name: apt
 Version: %{aptver}
-Release: 0.%{snapver}.1%{?dist}
+Release: 1.%{snapver}.1%{?dist}
 Group: System Environment/Base
 URL: http://apt-rpm.org/
 # SourceLicense: GPLv2+ except lua/ which is MIT
@@ -37,13 +37,13 @@ Source52: gpg-check.lua
 # "factory defaults"
 Source150: default.conf
 
+Source200: apt.service
+
 # Fix ppc mapping
 Patch0: apt-0.5.15lorg3.2-ppc.patch
 # band aid for mmap issues (#211254)
 Patch1: apt-0.5.15lorg3.x-cache-corruption.patch
 
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-
 # TODO: verify the required minimum Python version
 BuildRequires: python-devel >= 2.2
 BuildRequires: swig
@@ -65,12 +65,11 @@ BuildRequires: %{comps}
 # libxml2-devel, #183689
 BuildRequires: pkgconfig
 BuildRequires: lua-devel >= 5.1
+BuildRequires: systemd-units
 Requires: gnupg
 Requires: bzip2
 Requires: system-release >= 4
-Requires(post): chkconfig
-Requires(post): ldconfig
-Requires(preun): chkconfig
+Requires(post): systemd-sysv
 %if 0%{!?_with_groupinstall:1}
 Obsoletes: %{name}-plugins-groupinstall < %{version}-%{release}
 %endif
@@ -179,8 +178,6 @@ xsltproc -o rpmpriorities comps2prio.xsl %{comps}
 
 
 %install
-rm -rf %{buildroot}
-
 make install DESTDIR=%{buildroot} includedir=%{_includedir}/apt-pkg
 %find_lang %{name}
 
@@ -217,7 +214,8 @@ install -pm 644 python/apt.py* %{buildroot}%{python_sitearch}/
 touch %{buildroot}%{python_sitearch}/apt.pyo
 
 # Nightly updater scripts & default config
-install -Dpm 755 contrib/apt-cron/apt.init %{buildroot}/%{_initrddir}/apt
+mkdir -p %{buildroot}%{_unitdir}
+install -Dpm 755 %{SOURCE200} %{buildroot}%{_unitdir}/apt.service
 install -Dpm 755 contrib/apt-cron/apt.cron %{buildroot}/%{_sysconfdir}/cron.daily/apt.cron
 install -Dpm 644 contrib/apt-cron/apt.sysconfig %{buildroot}/%{_sysconfdir}/sysconfig/apt
 
@@ -246,25 +244,21 @@ install -pm 644 contrib/log/log.conf %{buildroot}/%{_sysconfdir}/apt/apt.conf.d/
 # nuke .la files
 rm -f %{buildroot}%{_libdir}/*.la
 
-
-%clean
-rm -rf %{buildroot}
-
-%post
-/sbin/ldconfig
-/sbin/chkconfig --add apt
-
-%preun
-if [ $1 -eq 0 ] ; then
- %{_initrddir}/apt stop &>/dev/null || :
- /sbin/chkconfig --del apt
-fi
+%post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
+%triggerun -- apt < 0.5.15lorg3.95-1.git522.1
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply apt
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save apt >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del apt >/dev/null 2>&1 || :
+/bin/systemctl try-restart apt.service >/dev/null 2>&1 || :
 
 %files -f %{name}.lang
-%defattr(-, root, root)
 %doc AUTHORS* COPYING* ABOUT* TODO comps2prio.xsl doc/examples/ contrib/
 %doc ChangeLog
 
@@ -285,7 +279,7 @@ fi
 %config(noreplace) %{_sysconfdir}/sysconfig/apt
 %{_sysconfdir}/cron.daily/apt.cron
 
-%{_initrddir}/apt
+%{_unitdir}/apt.service
 
 %{_bindir}/apt-cache
 %{_bindir}/apt-cdrom
@@ -307,19 +301,16 @@ fi
 %{_mandir}/man[58]/*.[58]*
 
 %files devel
-%defattr(-,root,root,-)
 %{_includedir}/apt-pkg/
 %{_libdir}/libapt-pkg*.so
 %{_libdir}/pkgconfig/libapt-pkg.pc
 
 %files python
-%defattr(-,root,root,-)
 %{python_sitearch}/_apt.so
 %{python_sitearch}/apt.py*
 
 %if 0%{?_with_groupinstall:1}
 %files plugins-groupinstall
-%defattr(-,root,root,-)
 # XXX not config?
 %{_sysconfdir}/apt/apt.conf.d/apt-groupinstall.conf
 %{_datadir}/apt/scripts/apt-groupinstall.lua
@@ -329,7 +320,6 @@ fi
 
 %if 0%{!?_without_list:1}
 %files plugins-list
-%defattr(-,root,root,-)
 %config %{_sysconfdir}/apt/apt.conf.d/list-extras.conf
 %config %{_sysconfdir}/apt/apt.conf.d/list-nodeps.conf
 %{_datadir}/apt/scripts/list-extras.lua
@@ -338,13 +328,15 @@ fi
 
 %if 0%{!?_without_log:1}
 %files plugins-log
-%defattr(-,root,root,-)
 %config %{_sysconfdir}/apt/apt.conf.d/log.conf
 %{_datadir}/apt/scripts/log.lua
 %endif
 
 
 %changelog
+* Fri Sep  9 2011 Tom Callaway <spot at fedoraproject.org> - 0.5.15lorg3.95-1.git522.1
+- convert to systemd
+
 * Wed Apr 13 2011 Panu Matilainen <pmatilai at redhat.com> - 0.5.15lorg3.95-0.git522.1
 - new upstream snapshot that has an actual chance of working...
 - drop now unnecessary pile of patches


More information about the scm-commits mailing list