]> git.ipfire.org Git - people/ms/ipfire-3.x.git/commitdiff
freeradius: Splitt package, add scriptlets.
authorStefan Schantl <stefan.schantl@ipfire.org>
Tue, 1 Nov 2011 21:55:19 +0000 (22:55 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Tue, 1 Nov 2011 21:55:19 +0000 (22:55 +0100)
* 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
freeradius/freeradius.tmpfiles
freeradius/systemd/freeradius.service

index ba3c5f18010028d8faca266c8e8bc016780e7774..62b72897bd28d8cfb946285284b52b1556012916 100644 (file)
@@ -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
index 40b0b891c7d4cb8a257ac8468afddb723853bf03..613d0089215b6085574db5fefd02c11564e79676 100644 (file)
@@ -1,2 +1,2 @@
-d /run/radiusd 0750 root root -
+d /run/radiusd 0750 radiusd radiusd
 
index 0bdae0dc8cbca389b00ce44cb8673143f135234f..4f86f2140e473632857f906e7070bd123c173b8b 100644 (file)
@@ -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