]>
Commit | Line | Data |
---|---|---|
1 | ############################################################################### | |
2 | # IPFire.org - An Open Source Firewall Solution # | |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
4 | ############################################################################### | |
5 | ||
6 | name = freeradius-server | |
7 | version = 2.1.12 | |
8 | release = 3 | |
9 | ||
10 | groups = System/Daemons | |
11 | url = http://www.freeradius.org | |
12 | license = GPLv2+ and LGPLv2+ | |
13 | summary = High-performance and highly configurable free RADIUS server. | |
14 | ||
15 | description | |
16 | The FreeRADIUS Server Project is a high performance and highly | |
17 | configurable GPL'd free RADIUS server. | |
18 | FreeRADIUS is an Internet authentication daemon, which implements | |
19 | the RADIUS protocol, as defined in RFC 2865. It allows | |
20 | Network Access Servers to perform authentication for dial-up users. | |
21 | end | |
22 | ||
23 | source_dl = ftp://ftp.freeradius.org/pub/freeradius/ | |
24 | ||
25 | build | |
26 | requires | |
27 | gdbm-devel | |
28 | libpcap-devel | |
29 | libtool | |
30 | libtool-devel | |
31 | openssl-devel | |
32 | perl | |
33 | shadow-utils | |
34 | end | |
35 | ||
36 | PARALLELISMFLAGS = # Disabled | |
37 | ||
38 | configure_options +=\ | |
39 | %{CONFIGURE_ARCH} \ | |
40 | --sysconfdir=/etc \ | |
41 | --libdir=/usr/lib/freeradius \ | |
42 | --localstatedir=/var \ | |
43 | --with-system-libtool \ | |
44 | --with-threads \ | |
45 | --with-thread-pool \ | |
46 | --disable-ltdl-install \ | |
47 | --with-gnu-ld \ | |
48 | --without-rlm_eap_ikev2 \ | |
49 | --without-rlm_sql_iodbc \ | |
50 | --without-rlm_sql_firebird \ | |
51 | --without-rlm_sql_db2 \ | |
52 | --without-rlm_sql_oracle | |
53 | ||
54 | prepare_cmds | |
55 | %{create_user} | |
56 | end | |
57 | ||
58 | make_build_targets = LINK_MODE=-pie | |
59 | ||
60 | install | |
61 | make install R=%{BUILDROOT} | |
62 | ||
63 | # Change freeradius user and group. | |
64 | perl -i -pe 's/^#user =.*$/user = radiusd/' %{BUILDROOT}/etc/raddb/radiusd.conf | |
65 | perl -i -pe 's/^#group =.*$/group = radiusd/' %{BUILDROOT}/etc/raddb/radiusd.conf | |
66 | ||
67 | # Create emty logfiles. | |
68 | mkdir -pv %{BUILDROOT}/var/log/radius/radacct | |
69 | touch %{BUILDROOT}/var/log/radius/{radutmp,radius.log} | |
70 | chown -Rv radiusd.radiusd %{BUILDROOT}/var/log/radius/ | |
71 | ||
72 | # Create tmpfiles folder. | |
73 | mkdir -pv %{BUILDROOT}/run/radiusd | |
74 | chown -Rv radiusd.radiusd %{BUILDROOT}/run/radiusd/ | |
75 | ||
76 | # Remove unneeded stuff. | |
77 | rm -vf %{BUILDROOT}/usr/sbin/rc.radiusd | |
78 | rm -rvf %{BUILDROOT}/etc/raddb/sql/ | |
79 | rm -rvf %{BUILDROOT}/var/run/ | |
80 | ||
81 | # Remove header files, we don't ship a devel package. | |
82 | rm -rvf %{BUILDROOT}/usr/include/ | |
83 | ||
84 | # remove unsupported config file. | |
85 | rm -vf %{BUILDROOT}/etc/raddb/experimental.conf | |
86 | ||
87 | # Fix permissions. | |
88 | chown -Rv root.radiusd %{BUILDROOT}/etc/raddb | |
89 | end | |
90 | end | |
91 | ||
92 | create_user | |
93 | getent group radiusd >/dev/null || /usr/sbin/groupadd -r radiusd | |
94 | getent passwd radiusd >/dev/null || /usr/sbin/useradd -r -g radiusd \ | |
95 | -d /var/lib/radiusd -s /sbin/nologin radiusd | |
96 | end | |
97 | ||
98 | quality-agent | |
99 | whitelist_rpath | |
100 | /usr/lib/freeradius | |
101 | end | |
102 | end | |
103 | ||
104 | packages | |
105 | package %{name} | |
106 | configfiles | |
107 | /etc/raddb/radiusd.conf | |
108 | end | |
109 | ||
110 | prerequires = shadow-utils systemd-units | |
111 | ||
112 | script prein | |
113 | %{create_user} | |
114 | end | |
115 | ||
116 | script postin | |
117 | /bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
118 | end | |
119 | ||
120 | script preun | |
121 | /bin/systemctl --no-reload disable freeradius.service >/dev/null 2>&1 || : | |
122 | /bin/systemctl stop freeradius.service >/dev/null 2>&1 || : | |
123 | end | |
124 | ||
125 | script postup | |
126 | /bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
127 | /bin/systemctl try-restart freeradius.service >/dev/null 2>&1 || : | |
128 | end | |
129 | end | |
130 | ||
131 | package freeradius-utils | |
132 | summary = FreeRADIUS utilities. | |
133 | description | |
134 | Additional utilities to configure and manage FreeRADUIS | |
135 | Servers. | |
136 | end | |
137 | ||
138 | files | |
139 | /usr/bin/* | |
140 | /usr/share/man/man1/radclient.1 | |
141 | /usr/share/man/man1/radeapclient.1 | |
142 | /usr/share/man/man1/radlast.1 | |
143 | /usr/share/man/man1/radtest.1 | |
144 | /usr/share/man/man1/radwho.1 | |
145 | /usr/share/man/man1/radzap.1 | |
146 | /usr/share/man/man1/smbencrypt.1 | |
147 | /usr/share/man/man5/checkrad.5 | |
148 | /usr/share/man/man8/radconf2xml.8 | |
149 | /usr/share/man/man8/radcrypt.8 | |
150 | /usr/share/man/man8/radsniff.8 | |
151 | /usr/share/man/man8/radsqlrelay.8 | |
152 | /usr/share/man/man8/rlm_ippool_tool.8 | |
153 | end | |
154 | end | |
155 | ||
156 | package %{name}-debuginfo | |
157 | template DEBUGINFO | |
158 | end | |
159 | end |