From 81d774856061df1a4029264ff50acad50b3bf03a Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Tue, 1 Nov 2011 22:55:19 +0100 Subject: [PATCH] freeradius: Splitt package, add scriptlets. * Splitt package into server and utils packages. * Add systemd scriptlet * Remove deprecated dependency to "make". In the past we used it for initial certificate generation. Now we do this with a script in the systemd file. Fixes #281 --- freeradius/freeradius.nm | 57 ++++++++++++++++++++++++--- freeradius/freeradius.tmpfiles | 2 +- freeradius/systemd/freeradius.service | 8 ++-- 3 files changed, 58 insertions(+), 9 deletions(-) diff --git a/freeradius/freeradius.nm b/freeradius/freeradius.nm index ba3c5f180..62b72897b 100644 --- a/freeradius/freeradius.nm +++ b/freeradius/freeradius.nm @@ -5,7 +5,7 @@ name = freeradius-server version = 2.1.12 -release = 2 +release = 3 groups = System/Daemons url = http://www.freeradius.org @@ -83,6 +83,9 @@ build # remove unsupported config file. rm -vf %{BUILDROOT}/etc/raddb/experimental.conf + + # Fix permissions. + chown -Rv root.radiusd %{BUILDROOT}/etc/raddb end end @@ -98,11 +101,55 @@ quality-agent end end -# Generate certificates after installation -# Command: cd /etc/raddb/certs/ && make Makefile - packages package %{name} - requires = make + configfiles + /etc/raddb/radiusd.conf + end + + prerequires = shadow-utils systemd-units + + script prein + %{create_user} + end + + script postin + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + end + + script preun + /bin/systemctl --no-reload disable freeradius.service >/dev/null 2>&1 || : + /bin/systemctl stop freeradius.service >/dev/null 2>&1 || : + end + + script postup + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + /bin/systemctl try-restart freeradius.service >/dev/null 2>&1 || : + end + end + + package freeradius-utils + summary = FreeRADIUS utilities. + description + Additional utilities to configure and manage FreeRADUIS + Servers. + end + + files + /usr/bin/* + /usr/share/man/man1/radclient.1 + /usr/share/man/man1/radeapclient.1 + /usr/share/man/man1/radlast.1 + /usr/share/man/man1/radtest.1 + /usr/share/man/man1/radwho.1 + /usr/share/man/man1/radzap.1 + /usr/share/man/man1/smbencrypt.1 + /usr/share/man/man5/checkrad.5 + /usr/share/man/man8/radconf2xml.8 + /usr/share/man/man8/radcrypt.8 + /usr/share/man/man8/radsniff.8 + /usr/share/man/man8/radsqlrelay.8 + /usr/share/man/man8/rlm_ippool_tool.8 + end end end diff --git a/freeradius/freeradius.tmpfiles b/freeradius/freeradius.tmpfiles index 40b0b891c..613d00892 100644 --- a/freeradius/freeradius.tmpfiles +++ b/freeradius/freeradius.tmpfiles @@ -1,2 +1,2 @@ -d /run/radiusd 0750 root root - +d /run/radiusd 0750 radiusd radiusd diff --git a/freeradius/systemd/freeradius.service b/freeradius/systemd/freeradius.service index 0bdae0dc8..4f86f2140 100644 --- a/freeradius/systemd/freeradius.service +++ b/freeradius/systemd/freeradius.service @@ -1,11 +1,13 @@ [Unit] -Description=Freeradius Server +Description=FreeRADIUS Server After=network.target [Service] -ExecStart=/usr/sbin/radiusd -f -d /etc/radvd/freeradius.conf +ExecStartPre=/etc/raddb/certs/bootstrap +ExecStartPre=/usr/sbin/radiusd -C +ExecStart=/usr/sbin/radiusd -f -d /etc/raddb +ExecReload=/usr/sbin/radiusd -C ExecReload=/bin/kill -HUP $MAINPID -ExecPostStop=/bin/rm -vf /var/run/radiusd/radiusd.sock [Install] WantedBy=multi-user.target -- 2.39.2