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