From 8ea59c07e76e338288fca56796e9592ed3c9c63a Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 22 May 2021 18:03:48 -0400 Subject: [PATCH] rpm spec Signed-off-by: Christine Dodrill --- .rpm/printerfacts.service | 15 ++++++++++++++ .rpm/printerfacts.spec | 43 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 .rpm/printerfacts.service diff --git a/.rpm/printerfacts.service b/.rpm/printerfacts.service new file mode 100644 index 0000000..3fecadc --- /dev/null +++ b/.rpm/printerfacts.service @@ -0,0 +1,15 @@ +[Unit] +Description=Printer facts API +Wants=network-pre.target +After=network-pre.target + +[Service] +EnvironmentFile=/etc/default/printerfacts +ExecStart=/usr/bin/printerfacts +Restart=on-failure +User=printerfacts +WorkingDirectory=/var/lib/printerfacts +Environment=RUST_LOG=info + +[Install] +WantedBy=multi-user.target diff --git a/.rpm/printerfacts.spec b/.rpm/printerfacts.spec index 63df67d..3d96730 100644 --- a/.rpm/printerfacts.spec +++ b/.rpm/printerfacts.spec @@ -9,12 +9,55 @@ Release: @@RELEASE@@%{?dist} License: MIT Group: Applications/System Source0: %{name}-%{version}.tar.gz +Source1: printerfacts.service +Requires(pre): /usr/sbin/useradd, /usr/bin/getent +Requires(postun): /usr/sbin/userdel +BuildRequires: systemd-rpm-macros BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %description %{summary} +%pre +/usr/bin/getent group printerfacts || /usr/sbin/groupadd -r printerfacts +/usr/bin/getent passwd printerfacts || /usr/sbin/useradd -r -d /usr/bin/printerfacts -s /sbin/nologin printerfacts + +#Upgrading +if [ $1 -eq 2 ]; then + /usr/bin/systemctl stop %{pkgname}.service >/dev/null 2>&1 ||: +fi + +%post +%systemd_post %{pkgname}.service + +if [ $1 -eq 1 ]; then + /usr/bin/systemctl daemon-reload + /usr/bin/systemctl start %{pkgname}.service +fi +if [ $1 -eq 2 ]; then + /usr/bin/systemctl daemon-reload + /usr/bin/systemctl start %{pkgname}.service +fi + +%preun +%systemd_preun %{pkgname}.service +#old package +#uninstall +if [ $1 -eq 0 ]; then + /usr/bin/systemctl --no-reload disable %{pkgname}.service + /usr/bin/systemctl stop %{pkgname}.service >/dev/null 2>&1 ||: + /usr/bin/systemctl disable %{pkgname}.service + +fi +if [ $1 -eq 1 ]; then + /usr/bin/systemctl --no-reload disable %{pkgname}.service + /usr/bin/systemctl stop %{pkgname}.service +fi + +%postun +/usr/sbin/userdel printerfacts + %prep %setup -q