From 9c69602a65441b574bb55b1b561cdeec96d1cfbd Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Jun 07 2015 13:14:53 +0000 Subject: Add systemd unit file for kojira Signed-off-by: Dennis Gilmore --- diff --git a/koji.spec b/koji.spec index fbe04b7..d1e4181 100644 --- a/koji.spec +++ b/koji.spec @@ -132,6 +132,11 @@ Group: Applications/Internet License: LGPLv2 Requires: postgresql-python Requires: %{name} = %{version}-%{release} +%if %{use_systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif %description utils Utilities for the Koji system @@ -191,8 +196,12 @@ rm -rf $RPM_BUILD_ROOT %files utils %defattr(-,root,root) %{_sbindir}/kojira +%if %{use_systemd} +%{_unitdir}/kojira.service +%else %{_initrddir}/kojira %config(noreplace) %{_sysconfdir}/sysconfig/kojira +%endif %dir %{_sysconfdir}/kojira %config(noreplace) %{_sysconfdir}/kojira/kojira.conf %{_sbindir}/koji-gc @@ -288,6 +297,18 @@ if [ $1 = 0 ]; then fi %endif +%if %{use_systemd} + +%post utils +%systemd_post kojira.service + +%preun utils +%systemd_preun kojira.service + +%postun utils +%systemd_postun kojira.service + +%else %post utils /sbin/chkconfig --add kojira /sbin/service kojira condrestart &> /dev/null || : @@ -296,6 +317,7 @@ if [ $1 = 0 ]; then /sbin/service kojira stop &> /dev/null || : /sbin/chkconfig --del kojira fi +%endif %changelog * Mon Mar 24 2014 Mike McLean - 1.9.0-1 diff --git a/util/Makefile b/util/Makefile index 79ac64f..5ea8bde 100644 --- a/util/Makefile +++ b/util/Makefile @@ -1,4 +1,6 @@ BINFILES = kojira koji-gc koji-shadow +SYSTEMDSYSTEMUNITDIR = $(shell pkg-config systemd --variable=systemdsystemunitdir) +TYPE = systemd _default: @echo "nothing to make. try make install" @@ -6,7 +8,7 @@ _default: clean: rm -f *.o *.so *.pyc *~ -install: +_install: @if [ "$(DESTDIR)" = "" ]; then \ echo " "; \ echo "ERROR: A destdir is required"; \ @@ -15,12 +17,6 @@ install: mkdir -p $(DESTDIR)/usr/sbin install -p -m 755 $(BINFILES) $(DESTDIR)/usr/sbin - mkdir -p $(DESTDIR)/etc/rc.d/init.d - install -p -m 755 kojira.init $(DESTDIR)/etc/rc.d/init.d/kojira - - mkdir -p $(DESTDIR)/etc/sysconfig - install -p -m 644 kojira.sysconfig $(DESTDIR)/etc/sysconfig/kojira - mkdir -p $(DESTDIR)/etc/kojira install -p -m 644 kojira.conf $(DESTDIR)/etc/kojira/kojira.conf @@ -29,3 +25,16 @@ install: mkdir -p $(DESTDIR)/etc/koji-shadow install -p -m 644 koji-shadow.conf $(DESTDIR)/etc/koji-shadow/koji-shadow.conf + +install-systemd: _install + mkdir -p $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR) + install -p -m 644 kojira.service $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR) + +install-sysv: _install + mkdir -p $(DESTDIR)/etc/rc.d/init.d + install -p -m 755 kojira.init $(DESTDIR)/etc/rc.d/init.d/kojira + + mkdir -p $(DESTDIR)/etc/sysconfig + install -p -m 644 kojira.sysconfig $(DESTDIR)/etc/sysconfig/kojira + +install: install-$(TYPE) diff --git a/util/kojira.service b/util/kojira.service new file mode 100644 index 0000000..beaea18 --- /dev/null +++ b/util/kojira.service @@ -0,0 +1,14 @@ +[Unit] +Description=Koji repo administration +Documentation=https://fedoraproject.org/wiki/Koji/ServerHowTo + +After=network.target + +[Service] +ExecStart=/usr/sbin/kojira \ + --fg \ + --force-lock \ + --verbose + +[Install] +WantedBy=multi-user.target