Fix autoconf 2.70 compatibility
[platform/upstream/krb5.git] / packaging / krb5.spec
1 #
2 # spec file for package krb5
3 #
4 # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 #
6 # All modifications and additions to the file contributed by third parties
7 # remain the property of their copyright owners, unless otherwise agreed
8 # upon. The license for this file, and modifications and additions to the
9 # file, is the same license as for the pristine package itself (unless the
10 # license for the pristine package is not an Open Source License, in which
11 # case the license is the MIT License). An "Open Source License" is a
12 # license that conforms to the Open Source Definition (Version 1.9)
13 # published by the Open Source Initiative.
14
15 # Please submit bugfixes or comments via http://bugs.opensuse.org/
16 #
17
18
19 %define build_mini 0
20
21 Name:           krb5
22 Url:            http://web.mit.edu/kerberos/www/
23 BuildRequires:  autoconf
24 BuildRequires:  bison
25 BuildRequires:  keyutils
26 BuildRequires:  keyutils-devel
27 BuildRequires:  libcom_err-devel
28 BuildRequires:  ncurses-devel
29 Version:        1.17
30 Release:        0
31 Summary:        MIT Kerberos5 Implementation--Libraries
32 License:        MIT
33 Group:          Productivity/Networking/Security
34 Source0:        krb5-%{version}.tar.gz
35 Source1001:     krb5.manifest
36
37 %description
38 Kerberos V5 is a trusted-third-party network authentication system,
39 which can improve your network's security by eliminating the insecure
40 practice of clear text passwords.
41
42
43 %package devel
44 Summary:        MIT Kerberos5 - Include Files and Libraries
45 Group:          Development/Libraries/C and C++
46 Requires:         %{name} = %{version}
47 Requires:       keyutils-devel
48 Requires:       libcom_err-devel
49
50 %description devel
51 Kerberos V5 is a trusted-third-party network authentication system,
52 which can improve your network's security by eliminating the insecure
53 practice of cleartext passwords. This package includes Libraries and
54 Include Files for Development
55
56 %prep
57 %setup -q
58 cp %{SOURCE1001} .
59
60 %build
61 # needs to be re-generated
62 rm -f src/lib/krb5/krb/deltat.c
63 cd src
64 autoreconf
65 %{?asan:LDFLAGS+=" -ldl -pthread "}
66 CFLAGS="$RPM_OPT_FLAGS -I/usr/include/et -fno-strict-aliasing -D_GNU_SOURCE -fPIC -fgnu89-inline -Wl,-pie -pie" \
67 LDFLAGS="-z relro" \
68 ./configure \
69         --host=%{_host} --build=%{_build} \
70         --prefix=/usr/lib/mit \
71         --sysconfdir=%{_sysconfdir} \
72         --mandir=%{_mandir} \
73         --infodir=%{_infodir} \
74         --libexecdir=/usr/lib/mit/sbin \
75         --libdir=%{_libdir} \
76         --includedir=%{_includedir} \
77         --localstatedir=%{_localstatedir}/lib/kerberos \
78         --enable-shared \
79         --disable-static \
80         --enable-kdc-replay-cache \
81         --enable-dns-for-realm \
82         --disable-rpath \
83         --disable-pkinit \
84         --without-pam \
85         --with-system-et \
86         --with-system-ss
87 make %{?jobs:-j%jobs}
88
89 %install
90 cd src
91 make DESTDIR=%{buildroot} install
92 cd ..
93 # Munge the krb5-config script to remove rpaths and CFLAGS.
94 sed "s|^CC_LINK=.*|CC_LINK='\$(CC) \$(PROG_LIBPATH)'|g" src/build-tools/krb5-config > $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config
95 # install autoconf macro
96 mkdir -p %{buildroot}/%{_datadir}/aclocal
97 install -m 644 src/util/ac_check_krb5.m4 %{buildroot}%{_datadir}/aclocal/
98 # install sample config files
99 # I'll probably do something about this later on
100 mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_localstatedir}/lib/kerberos/krb5kdc
101 mkdir -p %{buildroot}%{_sysconfdir}
102 mkdir -p %{buildroot}/etc/profile.d/
103 mkdir -p %{buildroot}/var/log/krb5
104 mkdir -p %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/
105 # create plugin directories
106 mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/kdb
107 mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/preauth
108 mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/libkrb5
109 # all libs must have permissions 0755
110 for lib in `find %{buildroot}/%{_libdir}/ -type f -name "*.so*"`
111 do
112   chmod 0755 ${lib}
113 done
114 # and binaries too
115 chmod 0755 %{buildroot}/usr/lib/mit/bin/ksu
116 find . -type f -name '*.ps' -exec gzip -9 {} \;
117 # create rc* links
118 # create links for kinit and klist, because of the java ones
119 #ln -sf ../../usr/lib/mit/bin/kinit   %{buildroot}/usr/bin/kinit
120 #ln -sf ../../usr/lib/mit/bin/klist   %{buildroot}/usr/bin/klist
121
122
123 mkdir -p %{buildroot}/usr/bin
124 ln -sf ../../usr/lib/mit/bin/krb5-config %{buildroot}/usr/bin/krb5-config
125 # cleanup
126 rm -f  %{buildroot}/usr/share/man/man1/tmac.doc*
127 rm -f  /usr/share/man/man1/tmac.doc*
128 rm -rf %{buildroot}/usr/lib/mit/share/examples
129 rm -rf %{buildroot}/usr/lib/mit/share/locale
130 #####################################################
131 # krb5(-mini) pre/post/postun
132 #####################################################
133
134 %post -p /sbin/ldconfig
135
136 %postun
137 /sbin/ldconfig
138
139
140 ########################################################
141 # files sections
142 ########################################################
143
144 %files devel
145 %manifest %{name}.manifest
146 %license NOTICE
147 %defattr(-,root,root)
148 /usr/bin/krb5-config
149 %dir /usr/lib/mit
150 %dir /usr/lib/mit/bin
151 %dir /usr/lib/mit/sbin
152 %dir /usr/lib/mit/share
153 %dir %{_datadir}/aclocal
154 %{_libdir}/libgssrpc.so
155 %{_libdir}/libk5crypto.so
156 %{_libdir}/libkadm5clnt_mit.so
157 %{_libdir}/libkadm5clnt.so
158 %{_libdir}/libkadm5srv_mit.so
159 %{_libdir}/libkadm5srv.so
160 %{_libdir}/libkrad.so
161 %{_libdir}/libkdb5.so
162 %{_libdir}/libkrb5.so
163 %{_libdir}/libkrb5support.so
164 %{_libdir}/libverto.so
165 %{_includedir}/*
166 /usr/lib/mit/bin/krb5-config
167 /usr/lib/mit/sbin/krb5-send-pr
168 %{_mandir}/man1/krb5-config.1*
169 %{_datadir}/aclocal/ac_check_krb5.m4
170 %{_libdir}/pkgconfig/*
171
172 %files
173 %manifest %{name}.manifest
174 %license NOTICE
175 %defattr(-,root,root)
176 # add directories
177 %dir %{_libdir}/krb5
178 %dir %{_libdir}/krb5/plugins
179 %dir %{_libdir}/krb5/plugins/kdb
180 %dir %{_libdir}/krb5/plugins/preauth
181 %dir %{_libdir}/krb5/plugins/libkrb5
182 %dir %{_libdir}/krb5/plugins/tls
183 %dir %{_localstatedir}/lib/kerberos/
184 %dir %{_localstatedir}/lib/kerberos/krb5kdc
185 %attr(0700,root,root) %dir /var/log/krb5
186 %dir /usr/lib/mit
187 %dir /usr/lib/mit/sbin
188 %dir /usr/lib/mit/bin
189 %{_libdir}/libgssapi_krb5.*
190 %{_libdir}/libgssrpc.so.*
191 %{_libdir}/libk5crypto.so.*
192 %{_libdir}/libkadm5clnt_mit.so.*
193 %{_libdir}/libkadm5srv_mit.so.*
194 %{_libdir}/libkrad.so.*
195 %{_libdir}/libkdb5.so.*
196 %{_libdir}/libkrb5.so.*
197 %{_libdir}/libkrb5support.so.*
198 %{_libdir}/libverto.so.*
199 %{_libdir}/krb5/plugins/kdb/*
200 %{_libdir}/krb5/plugins/preauth/*
201 %{_libdir}/krb5/plugins/tls/*
202 /usr/lib/mit/sbin/kadmin.local
203 /usr/lib/mit/sbin/kadmind
204 /usr/lib/mit/sbin/kpropd
205 /usr/lib/mit/sbin/kproplog
206 /usr/lib/mit/sbin/kprop
207 /usr/lib/mit/sbin/kdb5_util
208 /usr/lib/mit/sbin/krb5kdc
209 /usr/lib/mit/sbin/uuserver
210 /usr/lib/mit/sbin/sserver
211 /usr/lib/mit/sbin/gss-server
212 /usr/lib/mit/sbin/sim_server
213 /usr/lib/mit/bin/k5srvutil
214 /usr/lib/mit/bin/kvno
215 /usr/lib/mit/bin/kinit
216 /usr/lib/mit/bin/kdestroy
217 /usr/lib/mit/bin/kpasswd
218 /usr/lib/mit/bin/klist
219 /usr/lib/mit/bin/kadmin
220 /usr/lib/mit/bin/ktutil
221 /usr/lib/mit/bin/kswitch
222 %attr(0755,root,root) /usr/lib/mit/bin/ksu
223 /usr/lib/mit/bin/uuclient
224 /usr/lib/mit/bin/sclient
225 /usr/lib/mit/bin/gss-client
226 /usr/lib/mit/bin/sim_client
227 %{_mandir}/man1/kvno.1*
228 %{_mandir}/man1/kinit.1*
229 %{_mandir}/man1/kdestroy.1*
230 %{_mandir}/man1/kpasswd.1*
231 %{_mandir}/man1/klist.1*
232 %{_mandir}/man1/ksu.1*
233 %{_mandir}/man1/sclient.1*
234 %{_mandir}/man1/kadmin.1*
235 %{_mandir}/man1/ktutil.1*
236 %{_mandir}/man1/k5srvutil.1*
237 %{_mandir}/man1/kswitch.1*
238 %{_mandir}/man1/krb5-config.1*
239 %{_mandir}/man5/*
240 %{_mandir}/man5/.k5login.5.gz
241 %{_mandir}/man5/.k5identity.5*
242 %{_mandir}/man7/*
243 %{_mandir}/man8/*