[PATCH 4/4] Add systemd unit file for kojira
Dennis Gilmore
dennis at ausil.us
Sat Jun 6 20:05:19 UTC 2015
Signed-off-by: Dennis Gilmore <dennis at ausil.us>
---
koji.spec | 22 ++++++++++++++++++++++
util/Makefile | 23 ++++++++++++++++-------
util/kojira.service | 14 ++++++++++++++
3 files changed, 52 insertions(+), 7 deletions(-)
create mode 100644 util/kojira.service
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 <mikem at redhat.com> - 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
--
2.4.2
More information about the koji-devel
mailing list