]> git.ipfire.org Git - ipfire-3.x.git/blob - krb5/krb5.nm
json-c: Update to version 0.17-20230812
[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 = %{ver_maj}.%{ver_min}
8 ver_maj = 1.20
9 ver_min = 1
10 release = 4
11
12 groups = System/Libraries
13 url = https://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 source_dl = https://web.mit.edu/kerberos/dist/krb5/%{ver_maj}/
24
25 build
26 DIR_APP = %{DIR_SRC}/%{thisapp}/src
27
28 requires
29 autoconf
30 automake
31 bison >= 3.0.4-2
32 dejagnu
33 flex
34 gettext
35 libcom_err-devel
36 libss-devel
37 ncurses-devel
38 openldap-devel
39 openssl-devel
40 pam-devel
41 perl
42 systemd-units
43 tcl-devel
44 texinfo
45 end
46
47 configure_options += \
48 --enable-shared \
49 --disable-rpath \
50 --localstatedir=%{sharedstatedir}/kerberos \
51 --with-system-et \
52 --with-system-ss \
53 --with-netlib=-lresolv \
54 --with-tcl \
55 --enable-dns-for-realm \
56 --with-dirsrv \
57 --enable-pkinit \
58 --with-crypto-impl=openssl \
59 --with-pam
60
61 configure_cmds
62 # Add additional compiler flags to proper harden the binaries.
63 sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
64 clients/kpasswd/Makefile
65 sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
66 appl/simple/server/Makefile
67 sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
68 appl/sample/sserver/Makefile
69 end
70
71 install_cmds
72 # Sample KDC config files (bundled kdc.conf and kadm5.acl).
73 mkdir -pv %{BUILDROOT}%{sharedstatedir}/kerberos/krb5kdc
74 install -pm 600 %{DIR_SOURCE}/kdc.conf %{BUILDROOT}%{sharedstatedir}/kerberos/krb5kdc/
75 install -pm 600 %{DIR_SOURCE}/kadm5.acl %{BUILDROOT}%{sharedstatedir}/kerberos/krb5kdc/
76
77 # Default configuration file for everything.
78 mkdir -pv %{BUILDROOT}/etc
79 install -pm 644 %{DIR_SOURCE}/krb5.conf %{BUILDROOT}/etc/krb5.conf
80
81 # Plug-in directories.
82 install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/preauth
83 install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/kdb
84 install -pdm 755 %{BUILDROOT}%{libdir}/krb5/plugins/authdata
85 end
86 end
87
88 packages
89 package %{name}-server
90 summary = The KDC and related programs for Kerberos 5.
91 description
92 Kerberos is a network authentication system. The krb5-server package
93 contains the programs that must be installed on a Kerberos 5 key
94 distribution center (KDC). If you are installing a Kerberos 5 KDC,
95 you need to install this package.
96 end
97
98 requires
99 %{name}-libs = %{thisver}
100 end
101
102 script postin
103 /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
104 end
105
106 script preun
107 /usr/bin/systemctl --no-reload disable kadmin.service >/dev/null 2>&1 || :
108 /usr/bin/systemctl --no-reload disable kprop.service >/dev/null 2>&1 || :
109 /usr/bin/systemctl --no-reload disable krb5kdc.service >/dev/null 2>&1 || :
110 /usr/bin/systemctl stop kadmin.service >/dev/null 2>&1 || :
111 /usr/bin/systemctl stop kprop.service >/dev/null 2>&1 || :
112 /usr/bin/systemctl stop krb5kdc.service >/dev/null 2>&1 || :
113 end
114
115 script postun
116 /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
117 end
118
119 script postup
120 /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
121 /usr/bin/systemctl try-restart kadmin.service >/dev/null 2>&1 || :
122 /usr/bin/systemctl try-restart kprop.service >/dev/null 2>&1 || :
123 /usr/bin/systemctl try-restart krb5kdc.service >/dev/null 2>&1 || :
124 end
125 end
126
127 package %{name}-workstation
128 summary = Kerberos 5 programs for use on workstations.
129 description
130 Kerberos is a network authentication system. The krb5-workstation
131 package contains the basic Kerberos programs (kinit, klist, kdestroy,
132 kpasswd). If your network uses Kerberos, this package should be
133 installed on every workstation.
134 end
135
136 requires
137 %{name}-libs = %{thisver}
138 end
139
140 files
141 %{bindir}/kdestroy
142 %{bindir}/kinit
143 %{bindir}/klist
144 %{bindir}/kpassword
145 %{bindir}/kswitch
146 %{bindir}/kvno
147 %{bindir}/kadmin
148 %{bindir}/k5srvutil
149 %{bindir}/kutil
150 %{bindir}/ksu
151 %{bindir}/krb5-send-pr
152
153 %{sysconfdir}/pam.d
154
155 %{mandir}/man1/kdestroy.*
156 %{mandir}/man1/kinit.*
157 %{mandir}/man1/klist.*
158 %{mandir}/man1/kpassword.*
159 %{mandir}/man1/kswitch.*
160 %{mandir}/man1/kvno.*
161 %{mandir}/man1/kadmin.*
162 %{mandir}/man1/k5srvutil.*
163 %{mandir}/man1/kutil.*
164 %{mandir}/man1/ksu.*
165 end
166 end
167
168 package %{name}-libs
169 template LIBS
170 end
171
172 package %{name}-devel
173 template DEVEL
174
175 requires
176 libcom_err-devel
177 end
178 end
179
180 package %{name}-debuginfo
181 template DEBUGINFO
182 end
183 end