[pki-ra/f16] Resolves Ticket #310 - Dogtag 9: Rebuild official PKI packages as necessary . . .

awnuk awnuk at fedoraproject.org
Thu Sep 6 18:28:58 UTC 2012


commit 8aa6349e57f836e008846bd8b556c417f2ce468c
Author: Andrew Wnuk <awnuk at redhat.com>
Date:   Thu Sep 6 11:26:47 2012 -0700

    Resolves Ticket #310 - Dogtag 9: Rebuild official PKI packages as necessary . . .

 .gitignore  |    1 +
 clog        |    2 -
 pki-ra.spec |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 sources     |    2 +-
 4 files changed, 68 insertions(+), 11 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 5670744..fafe997 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ pki-ra-1.3.1.tar.gz
 /pki-ra-9.0.2.tar.gz
 /pki-ra-9.0.3.tar.gz
 /pki-ra-9.0.4.tar.gz
+/pki-ra-9.0.5.tar.gz
diff --git a/pki-ra.spec b/pki-ra.spec
index bcc3356..997f071 100644
--- a/pki-ra.spec
+++ b/pki-ra.spec
@@ -1,5 +1,5 @@
 Name:             pki-ra
-Version:          9.0.4
+Version:          9.0.5
 Release:          1%{?dist}
 Summary:          Certificate System - Registration Authority
 URL:              http://pki.fedoraproject.org/
@@ -10,6 +10,11 @@ BuildArch:        noarch
 
 BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+# specify '_unitdir' macro for platforms that don't use 'systemd'
+%if 0%{?rhel} || 0%{?fedora} < 16
+%define           _unitdir /lib/systemd/system
+%endif
+
 BuildRequires:    cmake
 BuildRequires:    nspr-devel
 BuildRequires:    nss-devel
@@ -24,16 +29,15 @@ Requires:         pki-setup
 Requires:         perl-DBD-SQLite
 Requires:         sqlite
 Requires:         /usr/sbin/sendmail
+%if 0%{?fedora} >= 16
+Requires(post):   systemd-units
+Requires(preun):  systemd-units
+Requires(postun): systemd-units
+%else
 Requires(post):   chkconfig
 Requires(preun):  chkconfig
 Requires(preun):  initscripts
 Requires(postun): initscripts
-%if 0%{?fedora} >= 15
-# Details:
-#
-#     * https://fedoraproject.org/wiki/Features/var-run-tmpfs
-#     * https://fedoraproject.org/wiki/Tmpfiles.d_packaging_draft
-#
 Requires:         initscripts
 %endif
 
@@ -102,7 +106,8 @@ chmod +x %{__perl_requires}
 %build
 %{__mkdir_p} build
 cd build
-%cmake -DVAR_INSTALL_DIR:PATH=/var -DBUILD_PKI_RA:BOOL=ON ..
+%cmake -DVAR_INSTALL_DIR:PATH=/var -DBUILD_PKI_RA:BOOL=ON .. \
+    -DSYSTEMD_LIB_INSTALL_DIR=%{_unitdir}
 %{__make} VERBOSE=1 %{?_smp_mflags}
 
 
@@ -139,7 +144,14 @@ echo "D /var/run/pki 0755 root root -"     >> %{buildroot}%{_sysconfdir}/tmpfile
 echo "D /var/run/pki/ra 0755 root root -"  >> %{buildroot}%{_sysconfdir}/tmpfiles.d/pki-ra.conf
 %endif
 
+%if 0%{?fedora} >= 16
+%{__rm} %{buildroot}%{_initrddir}/pki-rad
+%else
+%{__rm} -rf %{buildroot}%{_sysconfdir}/systemd/system/pki-rad.target.wants
+%{__rm} -rf %{buildroot}%{_unitdir}
+%endif
 
+%if 0%{?rhel} || 0%{?fedora} < 16
 %post
 # This adds the proper /etc/rc*.d links for the script
 /sbin/chkconfig --add pki-rad || :
@@ -157,11 +169,54 @@ if [ "$1" -ge "1" ] ; then
     /sbin/service pki-rad condrestart >/dev/null 2>&1 || :
 fi
 
+%else
+%post
+# Attempt to update ALL old "RA" instances to "systemd"
+if [ -d /etc/sysconfig/pki/ra ]; then
+    for inst in `ls /etc/sysconfig/pki/ra`; do
+        if [ ! -e "/etc/systemd/system/pki-rad.target.wants/pki-rad@${inst}.service" ]; then
+            ln -s "/lib/systemd/system/pki-rad at .service" \
+                  "/etc/systemd/system/pki-rad.target.wants/pki-rad@${inst}.service"
+
+            if [ -e /var/run/${inst}.pid ]; then
+                kill -9 `cat /var/run/${inst}.pid` || :
+                rm -f /var/run/${inst}.pid
+                echo "pkicreate.systemd.servicename=pki-rad@${inst}.service" >> \
+                     /var/lib/${inst}/conf/CS.cfg || :
+                /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+                /bin/systemctl restart pki-rad@${inst}.service || :
+            else
+                echo "pkicreate.systemd.servicename=pki-rad@${inst}.service" >> \
+                     /var/lib/${inst}/conf/CS.cfg || :
+            fi
+        fi
+    done
+fi
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+
+%preun
+if [ $1 = 0 ] ; then
+    /bin/systemctl --no-reload disable pki-rad.target > /dev/null 2>&1 || :
+    /bin/systemctl stop pki-rad.target > /dev/null 2>&1 || :
+fi
+
+%postun
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ "$1" -ge "1" ] ; then
+    /bin/systemctl try-restart pki-rad.target >/dev/null 2>&1 || :
+fi
+%endif
 
 %files
 %defattr(-,root,root,-)
 %doc base/ra/LICENSE
+%if 0%{?fedora} >= 16
+%dir %{_sysconfdir}/systemd/system/pki-rad.target.wants
+%{_unitdir}/pki-rad at .service
+%{_unitdir}/pki-rad.target
+%else
 %{_initrddir}/pki-rad
+%endif
 %dir %{_datadir}/pki/ra
 %{_datadir}/pki/ra/conf/
 %{_datadir}/pki/ra/docroot/
@@ -181,6 +236,9 @@ fi
 
 
 %changelog
+* Wed Aug 22 2012 Ade Lee <alee at redhat.com> 9.0.5-1
+- Added systemd scripts
+
 * Thu Sep 22 2011 Ade Lee <alee at redhat.com> 9.0.4-1
 - Bugzilla Bug #733065 - User enrollment with RA -- this fails with
   CA Connection Error
diff --git a/sources b/sources
index f2a7367..fb1b3b2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-248ae2573c409c3cd1672c5b35316125  pki-ra-9.0.4.tar.gz
+e90b6a889b70ddabf606a49712b93b4d  pki-ra-9.0.5.tar.gz


More information about the scm-commits mailing list