]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blob - krb5/krb5.nm
Merge remote-tracking branch 'stevee/nfs-krb5-support'
[people/ms/ipfire-3.x.git] / krb5 / krb5.nm
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