]>
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 | |
9 | version_min= 2 | |
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 | |
60 | e2fsprogs-devel | |
61 | flex | |
62 | gettext | |
63 | libselinux-devel | |
64 | ncurses-devel | |
65 | openldap-devel | |
66 | openssl-devel | |
67 | pam-devel | |
68 | perl | |
69 | systemd-units | |
70 | tcl-devel | |
71 | texinfo | |
72 | end | |
73 | ||
74 | prepare_cmds | |
75 | pushd src | |
76 | for file in appl/sample/sserver/sserver.M \ | |
77 | config-files/kdc.conf.M \ | |
78 | config-files/krb5.conf.M \ | |
79 | gen-manpages/kerberos.M \ | |
80 | kadmin/cli/kadmin.M \ | |
81 | slave/kpropd.M \ | |
82 | slave/kprop.M; do | |
83 | mv -v ${file} ${file}.in | |
84 | done | |
85 | ||
86 | rm -vf lib/krb5/krb/deltat.c | |
87 | ||
88 | # Regenerate configure scripts. | |
89 | autoheader | |
90 | autoconf | |
91 | popd | |
92 | end | |
93 | ||
94 | configure_options += \ | |
95 | --enable-shared \ | |
96 | --disable-rpath \ | |
97 | --localstatedir=/var/kerberos \ | |
98 | --with-system-et \ | |
99 | --with-system-ss \ | |
100 | --with-netlib=-lresolv \ | |
101 | --with-tcl \ | |
102 | --enable-dns-for-realm \ | |
103 | --with-dirsrv \ | |
104 | --enable-pkinit \ | |
105 | --with-crypto-impl=openssl \ | |
106 | --with-pam \ | |
107 | --with-selinux | |
108 | ||
109 | # Don't use strlcpy that comes with glibc. | |
110 | configure_options += \ | |
111 | ac_cv_func_strlcpy=no | |
112 | ||
113 | build | |
114 | cd %{DIR_APP}/src | |
115 | ./configure \ | |
116 | %{configure_options} | |
117 | ||
118 | make %{PARALLELISMFLAGS} | |
119 | end | |
120 | ||
121 | test | |
122 | make -C src fake-install | |
123 | tmpdir=$(mktemp -d) | |
124 | ||
125 | # Disable the following tests, because the don't work in the chroot env. | |
126 | #make -C src/lib check TMPDIR=${tmpdir} | |
127 | #make -C src/kdc check TMPDIR=${tmpdir} | |
128 | end | |
129 | ||
130 | install | |
131 | # Install krb5. | |
132 | make -C src install DESTDIR=%{BUILDROOT} | |
133 | ||
134 | # Sample KDC config files (bundled kdc.conf and kadm5.acl). | |
135 | mkdir -pv %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc | |
136 | install -pm 600 %{DIR_SOURCE}/kdc.conf %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc/ | |
137 | install -pm 600 %{DIR_SOURCE}/kadm5.acl %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc/ | |
138 | ||
139 | # Default configuration file for everything. | |
140 | mkdir -pv %{BUILDROOT}/etc | |
141 | install -pm 644 %{DIR_SOURCE}/krb5.conf %{BUILDROOT}/etc/krb5.conf | |
142 | ||
143 | # Plug-in directories. | |
144 | install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/preauth | |
145 | install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/kdb | |
146 | install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/authdata | |
147 | end | |
148 | end | |
149 | ||
150 | packages | |
151 | package %{name}-server | |
152 | summary = The KDC and related programs for Kerberos 5. | |
153 | description | |
154 | Kerberos is a network authentication system. The krb5-server package | |
155 | contains the programs that must be installed on a Kerberos 5 key | |
156 | distribution center (KDC). If you are installing a Kerberos 5 KDC, | |
157 | you need to install this package. | |
158 | end | |
159 | ||
160 | requires | |
161 | %{name}-libs = %{thisver} | |
162 | end | |
163 | ||
164 | script postin | |
165 | /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
166 | end | |
167 | ||
168 | script preun | |
169 | /usr/bin/systemctl --no-reload disable kadmin.service >/dev/null 2>&1 || : | |
170 | /usr/bin/systemctl --no-reload disable kprop.service >/dev/null 2>&1 || : | |
171 | /usr/bin/systemctl --no-reload disable krb5kdc.service >/dev/null 2>&1 || : | |
172 | /usr/bin/systemctl stop kadmin.service >/dev/null 2>&1 || : | |
173 | /usr/bin/systemctl stop kprop.service >/dev/null 2>&1 || : | |
174 | /usr/bin/systemctl stop krb5kdc.service >/dev/null 2>&1 || : | |
175 | end | |
176 | ||
177 | script postun | |
178 | /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
179 | end | |
180 | ||
181 | script postup | |
182 | /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : | |
183 | /usr/bin/systemctl try-restart kadmin.service >/dev/null 2>&1 || : | |
184 | /usr/bin/systemctl try-restart kprop.service >/dev/null 2>&1 || : | |
185 | /usr/bin/systemctl try-restart krb5kdc.service >/dev/null 2>&1 || : | |
186 | end | |
187 | end | |
188 | ||
189 | package %{name}-workstation | |
190 | summary = Kerberos 5 programs for use on workstations. | |
191 | description | |
192 | Kerberos is a network authentication system. The krb5-workstation | |
193 | package contains the basic Kerberos programs (kinit, klist, kdestroy, | |
194 | kpasswd). If your network uses Kerberos, this package should be | |
195 | installed on every workstation. | |
196 | end | |
197 | ||
198 | requires | |
199 | %{name}-libs = %{thisver} | |
200 | end | |
201 | ||
202 | files | |
203 | %{bindir}/kdestroy | |
204 | %{bindir}/kinit | |
205 | %{bindir}/klist | |
206 | %{bindir}/kpassword | |
207 | %{bindir}/kswitch | |
208 | %{bindir}/kvno | |
209 | %{bindir}/kadmin | |
210 | %{bindir}/k5srvutil | |
211 | %{bindir}/kutil | |
212 | %{bindir}/ksu | |
213 | %{bindir}/krb5-send-pr | |
214 | ||
215 | %{sysconfdir}/pam.d | |
216 | ||
217 | %{mandir}/man1/kdestroy.* | |
218 | %{mandir}/man1/kinit.* | |
219 | %{mandir}/man1/klist.* | |
220 | %{mandir}/man1/kpassword.* | |
221 | %{mandir}/man1/kswitch.* | |
222 | %{mandir}/man1/kvno.* | |
223 | %{mandir}/man1/kadmin.* | |
224 | %{mandir}/man1/k5srvutil.* | |
225 | %{mandir}/man1/kutil.* | |
226 | %{mandir}/man1/ksu.* | |
227 | end | |
228 | end | |
229 | ||
230 | package %{name}-libs | |
231 | template LIBS | |
232 | end | |
233 | ||
234 | package %{name}-devel | |
235 | template DEVEL | |
236 | ||
237 | requires | |
238 | libselinux-devel | |
239 | end | |
240 | end | |
241 | ||
242 | package %{name}-debuginfo | |
243 | template DEBUGINFO | |
244 | end | |
245 | end |