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