]>
Commit | Line | Data |
---|---|---|
6cf77d05 SS |
1 | ############################################################################### |
2 | # IPFire.org - An Open Source Firewall Solution # | |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
4 | ############################################################################### | |
5 | ||
6 | name = krb5 | |
7 | version = %{version_maj}.%{version_min} | |
8 | version_maj= 1.10 | |
fe9ae676 | 9 | version_min= 3 |
6cf77d05 SS |
10 | release = 1 |
11 | ||
12 | groups = System/Libraries | |
13 | url = http://web.mit.edu/kerberos/www/ | |
14 | license = MIT | |
15 | summary = The Kerberos network authentication system. | |
16 | ||
17 | description | |
18 | Kerberos V5 is a trusted-third-party network authentication system, | |
19 | which can improve your network's security by eliminating the insecure | |
20 | practice of sending passwords over the network in unencrypted form. | |
21 | end | |
22 | ||
23 | # Upstream only provides a "signed" tarball which contains the actual | |
24 | # tar archive. | |
25 | #source_dl = http://we1b.mit.edu/kerberos/dist/krb5/%{version_maj}/ | |
26 | #sources = %{thisapp}-signed.tar | |
27 | ||
28 | patches | |
29 | krb5-1.10.2-pam.patch | |
30 | krb5-1.10.2-manpaths.patch | |
31 | krb5-1.10.2-selinux-label.patch | |
32 | krb5-1.3.1-dns.patch | |
33 | krb5-1.3.4-send-pr-tempfile.patch | |
34 | krb5-1.7-ktany.patch | |
35 | krb5-1.8-api.patch | |
36 | krb5-1.9-debuginfo.patch0 | |
37 | krb5-1.9-dirsrv-accountlock.patch | |
38 | krb5-1.10-buildconf.patch | |
39 | krb5-1.10-doublelog.patch | |
40 | krb5-1.10-gcc47.patch0 | |
41 | krb5-1.10-kpasswd_tcp.patch | |
42 | krb5-1.10-kprop-mktemp.patch | |
43 | krb5-1.10-ksu-access.patch | |
44 | krb5-1.10-ksu-path.patch | |
45 | krb5-1.10.2-keytab-etype.patch | |
46 | krb5-kvno-230379.patch | |
47 | krb5-tex-pdf.sh | |
48 | krb5-trunk-7046.patch | |
49 | krb5-trunk-7047.patch | |
50 | krb5-trunk-7048.patch | |
51 | krb5-trunk-pkinit-anchorsign.patch | |
52 | end | |
53 | ||
54 | build | |
55 | requires | |
56 | autoconf | |
57 | automake | |
58 | bison | |
59 | dejagnu | |
6cf77d05 SS |
60 | flex |
61 | gettext | |
fe9ae676 | 62 | libcom_err-devel |
6cf77d05 | 63 | libselinux-devel |
fe9ae676 | 64 | libss-devel |
6cf77d05 SS |
65 | ncurses-devel |
66 | openldap-devel | |
67 | openssl-devel | |
68 | pam-devel | |
69 | perl | |
70 | systemd-units | |
71 | tcl-devel | |
72 | texinfo | |
73 | end | |
74 | ||
75 | prepare_cmds | |
76 | pushd src | |
77 | for file in appl/sample/sserver/sserver.M \ | |
78 | config-files/kdc.conf.M \ | |
79 | config-files/krb5.conf.M \ | |
80 | gen-manpages/kerberos.M \ | |
81 | kadmin/cli/kadmin.M \ | |
82 | slave/kpropd.M \ | |
83 | slave/kprop.M; do | |
84 | mv -v ${file} ${file}.in | |
85 | done | |
86 | ||
87 | rm -vf lib/krb5/krb/deltat.c | |
88 | ||
89 | # Regenerate configure scripts. | |
90 | autoheader | |
91 | autoconf | |
92 | popd | |
93 | end | |
94 | ||
95 | configure_options += \ | |
96 | --enable-shared \ | |
97 | --disable-rpath \ | |
98 | --localstatedir=/var/kerberos \ | |
99 | --with-system-et \ | |
100 | --with-system-ss \ | |
101 | --with-netlib=-lresolv \ | |
102 | --with-tcl \ | |
103 | --enable-dns-for-realm \ | |
104 | --with-dirsrv \ | |
105 | --enable-pkinit \ | |
106 | --with-crypto-impl=openssl \ | |
107 | --with-pam \ | |
108 | --with-selinux | |
109 | ||
110 | # Don't use strlcpy that comes with glibc. | |
111 | configure_options += \ | |
112 | ac_cv_func_strlcpy=no | |
113 | ||
114 | build | |
115 | cd %{DIR_APP}/src | |
116 | ./configure \ | |
117 | %{configure_options} | |
118 | ||
119 | make %{PARALLELISMFLAGS} | |
120 | end | |
121 | ||
122 | test | |
123 | make -C src fake-install | |
124 | tmpdir=$(mktemp -d) | |
125 | ||
126 | # Disable the following tests, because the don't work in the chroot env. | |
127 | #make -C src/lib check TMPDIR=${tmpdir} | |
128 | #make -C src/kdc check TMPDIR=${tmpdir} | |
129 | end | |
130 | ||
131 | install | |
132 | # Install krb5. | |
133 | make -C src install DESTDIR=%{BUILDROOT} | |
134 | ||
135 | # Sample KDC config files (bundled kdc.conf and kadm5.acl). | |
136 | mkdir -pv %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc | |
137 | install -pm 600 %{DIR_SOURCE}/kdc.conf %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc/ | |
138 | install -pm 600 %{DIR_SOURCE}/kadm5.acl %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc/ | |
139 | ||
140 | # Default configuration file for everything. | |
141 | mkdir -pv %{BUILDROOT}/etc | |
142 | install -pm 644 %{DIR_SOURCE}/krb5.conf %{BUILDROOT}/etc/krb5.conf | |
143 | ||
144 | # Plug-in directories. | |
145 | install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/preauth | |
146 | install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/kdb | |
147 | install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/authdata | |
148 | end | |
149 | end | |
150 | ||
151 | packages | |
152 | package %{name}-server | |
153 | summary = The KDC and related programs for Kerberos 5. | |
154 | description | |
155 | Kerberos is a network authentication system. The krb5-server package | |
156 | contains the programs that must be installed on a Kerberos 5 key | |
157 | distribution center (KDC). If you are installing a Kerberos 5 KDC, | |
158 | you need to install this package. | |
159 | end | |
160 | ||
161 | requires | |
162 | %{name}-libs = %{thisver} | |
163 | end | |
164 | ||
165 | script postin | |
166 | /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
167 | end | |
168 | ||
169 | script preun | |
170 | /usr/bin/systemctl --no-reload disable kadmin.service >/dev/null 2>&1 || : | |
171 | /usr/bin/systemctl --no-reload disable kprop.service >/dev/null 2>&1 || : | |
172 | /usr/bin/systemctl --no-reload disable krb5kdc.service >/dev/null 2>&1 || : | |
173 | /usr/bin/systemctl stop kadmin.service >/dev/null 2>&1 || : | |
174 | /usr/bin/systemctl stop kprop.service >/dev/null 2>&1 || : | |
175 | /usr/bin/systemctl stop krb5kdc.service >/dev/null 2>&1 || : | |
176 | end | |
177 | ||
178 | script postun | |
179 | /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
180 | end | |
181 | ||
182 | script postup | |
183 | /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
184 | /usr/bin/systemctl try-restart kadmin.service >/dev/null 2>&1 || : | |
185 | /usr/bin/systemctl try-restart kprop.service >/dev/null 2>&1 || : | |
186 | /usr/bin/systemctl try-restart krb5kdc.service >/dev/null 2>&1 || : | |
187 | end | |
188 | end | |
189 | ||
190 | package %{name}-workstation | |
191 | summary = Kerberos 5 programs for use on workstations. | |
192 | description | |
193 | Kerberos is a network authentication system. The krb5-workstation | |
194 | package contains the basic Kerberos programs (kinit, klist, kdestroy, | |
195 | kpasswd). If your network uses Kerberos, this package should be | |
196 | installed on every workstation. | |
197 | end | |
198 | ||
199 | requires | |
200 | %{name}-libs = %{thisver} | |
201 | end | |
202 | ||
203 | files | |
204 | %{bindir}/kdestroy | |
205 | %{bindir}/kinit | |
206 | %{bindir}/klist | |
207 | %{bindir}/kpassword | |
208 | %{bindir}/kswitch | |
209 | %{bindir}/kvno | |
210 | %{bindir}/kadmin | |
211 | %{bindir}/k5srvutil | |
212 | %{bindir}/kutil | |
213 | %{bindir}/ksu | |
214 | %{bindir}/krb5-send-pr | |
215 | ||
216 | %{sysconfdir}/pam.d | |
217 | ||
218 | %{mandir}/man1/kdestroy.* | |
219 | %{mandir}/man1/kinit.* | |
220 | %{mandir}/man1/klist.* | |
221 | %{mandir}/man1/kpassword.* | |
222 | %{mandir}/man1/kswitch.* | |
223 | %{mandir}/man1/kvno.* | |
224 | %{mandir}/man1/kadmin.* | |
225 | %{mandir}/man1/k5srvutil.* | |
226 | %{mandir}/man1/kutil.* | |
227 | %{mandir}/man1/ksu.* | |
228 | end | |
229 | end | |
230 | ||
231 | package %{name}-libs | |
232 | template LIBS | |
233 | end | |
234 | ||
235 | package %{name}-devel | |
236 | template DEVEL | |
237 | ||
238 | requires | |
fe9ae676 | 239 | libcom_err-devel |
6cf77d05 SS |
240 | libselinux-devel |
241 | end | |
242 | end | |
243 | ||
244 | package %{name}-debuginfo | |
245 | template DEBUGINFO | |
246 | end | |
247 | end |