# # spec file for package krb5 (Version 1.8.3) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define build_mini 0 %define srcRoot krb5-1.8.3 %define vendorFiles %{_builddir}/%{srcRoot}/vendor-files/ %define krb5docdir %{_defaultdocdir}/krb5 Name: krb5 License: MIT License (or similar) Url: http://web.mit.edu/kerberos/www/ BuildRequires: bison libcom_err-devel ncurses-devel BuildRequires: keyutils keyutils-devel Version: 1.8.3 Release: 2 %if ! 0%{?build_mini} BuildRequires: libopenssl-devel openldap2-devel # bug437293 %ifarch ppc64 Obsoletes: krb5-64bit %endif # Summary: MIT Kerberos5 Implementation--Libraries Group: Productivity/Networking/Security %else Summary: MIT Kerberos5 Implementation--Libraries Group: Productivity/Networking/Security %endif Source: krb5-1.8.3.tar.bz2 Source1: vendor-files.tar.bz2 Source2: baselibs.conf Source5: krb5-%{version}-rpmlintrc Source10: krb5-1.7-manpaths.txt Patch1: krb5-1.6.1-compile_pie.dif Patch2: krb5-1.6.3-kprop-use-mkstemp.dif Patch3: krb5-1.7-manpaths.dif Patch4: krb5-1.4.3-enospc.dif Patch5: krb5-1.6.3-gssapi_improve_errormessages.dif Patch6: krb5-1.6.3-kpasswd_tcp.patch Patch7: krb5-1.6.3-ktutil-manpage.dif Patch8: krb5-1.6.3-fix-ipv6-query.dif Patch12: krb5-1.8-MITKRB5-SA-2010-006.dif Patch13: MITKRB5-SA-2010-007-1.8.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: mktemp, grep, /bin/touch, coreutils PreReq: %insserv_prereq %fillup_prereq %description Kerberos V5 is a trusted-third-party network authentication system, which can improve your network's security by eliminating the insecure practice of clear text passwords. Authors: -------- The MIT Kerberos Team Sam Hartman Ken Raeburn Tom Yu %if ! %{build_mini} %package client License: MIT License (or similar) Summary: MIT Kerberos5 implementation - client programs Group: Productivity/Networking/Security %description client Kerberos V5 is a trusted-third-party network authentication system, which can improve your network's security by eliminating the insecure practice of cleartext passwords. This package includes some required client programs, like kinit, kadmin, ... Authors: -------- The MIT Kerberos Team Sam Hartman Ken Raeburn Tom Yu %package server License: MIT License (or similar) Summary: MIT Kerberos5 implementation - server Group: Productivity/Networking/Security Requires: perl-Date-Calc Requires: logrotate cron PreReq: %insserv_prereq %fillup_prereq %description server Kerberos V5 is a trusted-third-party network authentication system, which can improve your network's security by eliminating the insecure practice of cleartext passwords. This package includes the kdc, kadmind and more. Authors: -------- The MIT Kerberos Team Sam Hartman Ken Raeburn Tom Yu %package plugin-kdb-ldap License: MIT License (or similar) Summary: MIT Kerberos5 Implementation--LDAP Database Plugin Group: Productivity/Networking/Security Requires: krb5-server = %{version} %description plugin-kdb-ldap Kerberos V5 is a trusted-third-party network authentication system, which can improve your network's security by eliminating the insecure practice of clear text passwords. This package contains the LDAP database plugin. Authors: -------- The MIT Kerberos Team Sam Hartman Ken Raeburn Tom Yu %package plugin-preauth-pkinit License: MIT License (or similar) Summary: MIT Kerberos5 Implementation--PKINIT preauth Plugin Group: Productivity/Networking/Security %description plugin-preauth-pkinit Kerberos V5 is a trusted-third-party network authentication system, which can improve your network's security by eliminating the insecure practice of cleartext passwords. This package includes a PKINIT plugin. Authors: -------- The MIT Kerberos Team Sam Hartman Ken Raeburn Tom Yu %endif #! build_mini %package devel License: MIT License (or similar) Summary: MIT Kerberos5 - Include Files and Libraries Group: Development/Libraries/C and C++ PreReq: %{name} = %{version} Requires: libcom_err-devel Requires: keyutils-devel # bug437293 %ifarch ppc64 Obsoletes: krb5-devel-64bit %endif %if %{build_mini} Provides: krb5-devel = %{version} %endif # %description devel Kerberos V5 is a trusted-third-party network authentication system, which can improve your network's security by eliminating the insecure practice of cleartext passwords. This package includes Libraries and Include Files for Development Authors: -------- The MIT Kerberos Team Sam Hartman Ken Raeburn Tom Yu %prep %setup -q -n %{srcRoot} %setup -a 1 -T -D -n %{srcRoot} %patch1 %patch2 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 %patch7 -p1 %patch8 -p1 %patch12 -p1 %patch13 -p1 # Rename the man pages so that they'll get generated correctly. pushd src cat %{SOURCE10} | while read manpage ; do mv "$manpage" "$manpage".in done popd %build cd src %{?suse_update_config:%{suse_update_config -f}} ./util/reconf CFLAGS="$RPM_OPT_FLAGS -I/usr/include/et -fno-strict-aliasing -D_GNU_SOURCE -fPIC " \ ./configure \ --prefix=/usr/lib/mit \ --sysconfdir=%{_sysconfdir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --libexecdir=/usr/lib/mit/sbin \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --localstatedir=%{_localstatedir}/lib/kerberos \ --enable-shared \ --disable-static \ --enable-kdc-replay-cache \ --enable-dns-for-realm \ --disable-rpath \ %if ! %{build_mini} --with-ldap \ %else --disable-pkinit \ %endif --with-system-et \ --with-system-ss make %{?jobs:-j%jobs} %install cd src make DESTDIR=%{buildroot} install cd .. # Munge the krb5-config script to remove rpaths and CFLAGS. sed "s|^CC_LINK=.*|CC_LINK='\$(CC) \$(PROG_LIBPATH)'|g" src/krb5-config > $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config # install sample config files # I'll probably do something about this later on mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_localstatedir}/lib/kerberos/krb5kdc mkdir -p %{buildroot}%{_sysconfdir} mkdir -p %{buildroot}/etc/profile.d/ mkdir -p %{buildroot}/var/log/krb5 mkdir -p %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/ # create plugin directories mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/kdb mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/preauth mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/libkrb5 install -m 644 %{vendorFiles}/krb5.conf %{buildroot}%{_sysconfdir} install -m 600 %{vendorFiles}/kdc.conf %{buildroot}%{_localstatedir}/lib/kerberos/krb5kdc/ install -m 600 %{vendorFiles}/kadm5.acl %{buildroot}%{_localstatedir}/lib/kerberos/krb5kdc/ install -m 600 %{vendorFiles}/kadm5.dict %{buildroot}%{_localstatedir}/lib/kerberos/krb5kdc/ install -m 644 %{vendorFiles}/krb5.csh.profile %{buildroot}/etc/profile.d/krb5.csh install -m 644 %{vendorFiles}/krb5.sh.profile %{buildroot}/etc/profile.d/krb5.sh install -m 644 %{vendorFiles}/SuSEFirewall.kdc %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/kdc install -m 644 %{vendorFiles}/SuSEFirewall.kadmind %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/kadmind # all libs must have permissions 0755 for lib in `find %{buildroot}/%{_libdir}/ -type f -name "*.so*"` do chmod 0755 ${lib} done # and binaries too chmod 0755 %{buildroot}/usr/lib/mit/bin/ksu # install init scripts mkdir -p %{buildroot}%{_sysconfdir}/init.d install -m 755 %{vendorFiles}/kadmind.init %{buildroot}%{_sysconfdir}/init.d/kadmind install -m 755 %{vendorFiles}/krb5kdc.init %{buildroot}%{_sysconfdir}/init.d/krb5kdc install -m 755 %{vendorFiles}/kpropd.init %{buildroot}%{_sysconfdir}/init.d/kpropd # install logrotate files mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d install -m 644 %{vendorFiles}/krb5-server.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/krb5-server find . -type f -name '*.ps' -exec gzip -9 {} \; # create rc* links mkdir -p %{buildroot}/usr/bin/ ln -sf ../../etc/init.d/kadmind %{buildroot}/usr/bin/rckadmind ln -sf ../../etc/init.d/krb5kdc %{buildroot}/usr/bin/rckrb5kdc ln -sf ../../etc/init.d/kpropd %{buildroot}/usr/bin/rckpropd # create links for kinit and klist, because of the java ones ln -sf ../../usr/lib/mit/bin/kinit %{buildroot}/usr/bin/kinit ln -sf ../../usr/lib/mit/bin/klist %{buildroot}/usr/bin/klist # install doc install -d -m 755 %{buildroot}/%{krb5docdir} install -m 644 %{_builddir}/%{srcRoot}/README %{buildroot}/%{krb5docdir}/README %if ! %{build_mini} install -m 644 %{_builddir}/%{srcRoot}/src/plugins/kdb/ldap/libkdb_ldap/kerberos.schema %{buildroot}/%{krb5docdir}/kerberos.schema install -m 644 %{_builddir}/%{srcRoot}/src/plugins/kdb/ldap/libkdb_ldap/kerberos.ldif %{buildroot}/%{krb5docdir}/kerberos.ldif %endif # cleanup rm -f %{buildroot}/usr/share/man/man1/tmac.doc* rm -f /usr/share/man/man1/tmac.doc* rm -rf /usr/lib/mit/share rm -rf %{buildroot}/usr/lib/mit/share ##################################################### # krb5-mini-devel pre/post/postun ##################################################### %if %{build_mini} %preun %stop_on_removal krb5kdc kadmind kpropd %postun /sbin/ldconfig %restart_on_update krb5kdc kadmind kpropd %{insserv_cleanup} %post -p /sbin/ldconfig %else ##################################################### # krb5 pre/post/postun ##################################################### %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %preun server ##################################################### # krb5-server preun/postun ##################################################### %stop_on_removal krb5kdc kadmind kpropd %postun server %restart_on_update krb5kdc kadmind kpropd %{insserv_cleanup} ##################################################### # krb5-plugin-kdb-ldap post/postun ##################################################### %post plugin-kdb-ldap -p /sbin/ldconfig %postun plugin-kdb-ldap -p /sbin/ldconfig %endif %clean rm -rf %{buildroot} ######################################################## # files sections ######################################################## %files devel %defattr(-,root,root) %dir /usr/lib/mit %dir /usr/lib/mit/bin %dir /usr/lib/mit/sbin %{_libdir}/libgssrpc.so %{_libdir}/libk5crypto.so %{_libdir}/libkadm5clnt_mit.so %{_libdir}/libkadm5clnt.so %{_libdir}/libkadm5srv_mit.so %{_libdir}/libkadm5srv.so %{_libdir}/libkdb5.so %{_libdir}/libkrb5.so %{_libdir}/libkrb5support.so %{_includedir}/* /usr/lib/mit/bin/krb5-config /usr/lib/mit/sbin/krb5-send-pr %{_mandir}/man1/krb5-send-pr.1* %{_mandir}/man1/krb5-config.1* %if %{build_mini} %files %defattr(-,root,root) %dir %{krb5docdir} # add directories %dir %{_libdir}/krb5 %dir %{_libdir}/krb5/plugins %dir %{_libdir}/krb5/plugins/kdb %dir %{_libdir}/krb5/plugins/preauth %dir %{_libdir}/krb5/plugins/libkrb5 %dir %{_localstatedir}/lib/kerberos/ %dir %{_localstatedir}/lib/kerberos/krb5kdc %attr(0700,root,root) %dir /var/log/krb5 %dir /usr/lib/mit %dir /usr/lib/mit/sbin %dir /usr/lib/mit/bin %doc %{krb5docdir}/README %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/krb5.conf %attr(0644,root,root) %config /etc/profile.d/krb5* %config(noreplace) %{_sysconfdir}/logrotate.d/krb5-server %attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kdc.conf %attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kadm5.acl %attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kadm5.dict %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/k* %{_sysconfdir}/init.d/* %{_libdir}/libgssapi_krb5.* %{_libdir}/libgssrpc.so.* %{_libdir}/libk5crypto.so.* %{_libdir}/libkadm5clnt_mit.so.* %{_libdir}/libkadm5srv_mit.so.* %{_libdir}/libkdb5.so.* %{_libdir}/libkrb5.so.* %{_libdir}/libkrb5support.so.* %{_libdir}/krb5/plugins/kdb/* %{_libdir}/krb5/plugins/preauth/* #/usr/lib/mit/sbin/* /usr/lib/mit/sbin/kadmin.local /usr/lib/mit/sbin/kadmind /usr/lib/mit/sbin/kpropd /usr/lib/mit/sbin/kproplog /usr/lib/mit/sbin/kprop /usr/lib/mit/sbin/kdb5_util /usr/lib/mit/sbin/krb5kdc /usr/lib/mit/sbin/uuserver /usr/lib/mit/sbin/sserver /usr/lib/mit/sbin/gss-server /usr/lib/mit/sbin/sim_server /usr/lib/mit/bin/k5srvutil /usr/lib/mit/bin/kvno /usr/lib/mit/bin/kinit /usr/lib/mit/bin/kdestroy /usr/lib/mit/bin/kpasswd /usr/lib/mit/bin/klist /usr/lib/mit/bin/kadmin /usr/lib/mit/bin/ktutil %attr(0755,root,root) /usr/lib/mit/bin/ksu /usr/lib/mit/bin/uuclient /usr/lib/mit/bin/sclient /usr/lib/mit/bin/gss-client /usr/lib/mit/bin/sim_client /usr/bin/kinit /usr/bin/klist /usr/bin/rc* #%{_mandir}/man1/* %{_mandir}/man1/kvno.1* %{_mandir}/man1/kinit.1* %{_mandir}/man1/kdestroy.1* %{_mandir}/man1/kpasswd.1* %{_mandir}/man1/klist.1* %{_mandir}/man1/kerberos.1* %{_mandir}/man1/ksu.1* %{_mandir}/man1/sclient.1* %{_mandir}/man1/kadmin.1* %{_mandir}/man1/ktutil.1* %{_mandir}/man1/k5srvutil.1* %{_mandir}/man5/* %{_mandir}/man5/.k5login.5.gz %{_mandir}/man8/* %else %files %defattr(-,root,root) %dir %{krb5docdir} # add plugin directories %dir %{_libdir}/krb5 %dir %{_libdir}/krb5/plugins %dir %{_libdir}/krb5/plugins/kdb %dir %{_libdir}/krb5/plugins/preauth %dir %{_libdir}/krb5/plugins/libkrb5 # add log directory %attr(0700,root,root) %dir /var/log/krb5 %doc %{krb5docdir}/README %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/krb5.conf %attr(0644,root,root) %config /etc/profile.d/krb5* %{_libdir}/libgssapi_krb5.* %{_libdir}/libgssrpc.so.* %{_libdir}/libk5crypto.so.* %{_libdir}/libkadm5clnt_mit.so.* %{_libdir}/libkadm5srv_mit.so.* %{_libdir}/libkdb5.so.* %{_libdir}/libkrb5.so.* %{_libdir}/libkrb5support.so.* %{_libdir}/krb5/plugins/preauth/encrypted_challenge.so %files server %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/krb5-server %{_sysconfdir}/init.d/kadmind %{_sysconfdir}/init.d/krb5kdc %{_sysconfdir}/init.d/kpropd %dir %{krb5docdir} %dir /usr/lib/mit %dir /usr/lib/mit/sbin %dir %{_localstatedir}/lib/kerberos/ %dir %{_localstatedir}/lib/kerberos/krb5kdc %dir %{_libdir}/krb5 %dir %{_libdir}/krb5/plugins %dir %{_libdir}/krb5/plugins/kdb %attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kdc.conf %attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kadm5.acl %attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kadm5.dict %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/k* /usr/bin/rc* /usr/lib/mit/sbin/kadmin.local /usr/lib/mit/sbin/kadmind /usr/lib/mit/sbin/kpropd /usr/lib/mit/sbin/kproplog /usr/lib/mit/sbin/kprop /usr/lib/mit/sbin/kdb5_util /usr/lib/mit/sbin/krb5kdc /usr/lib/mit/sbin/gss-server /usr/lib/mit/sbin/sim_server /usr/lib/mit/sbin/sserver /usr/lib/mit/sbin/uuserver %{_libdir}/krb5/plugins/kdb/db2.so %{_mandir}/man5/kdc.conf.5* %{_mandir}/man8/kadmind.8* %{_mandir}/man8/kadmin.local.8* %{_mandir}/man8/kpropd.8* %{_mandir}/man8/kprop.8* %{_mandir}/man8/kproplog.8.gz %{_mandir}/man8/kdb5_util.8* %{_mandir}/man8/krb5kdc.8* %{_mandir}/man8/sserver.8* %files client %defattr(-,root,root) %dir /usr/lib/mit %dir /usr/lib/mit/bin %dir /usr/lib/mit/sbin /usr/lib/mit/bin/kvno /usr/lib/mit/bin/kinit /usr/lib/mit/bin/kdestroy /usr/lib/mit/bin/kpasswd /usr/lib/mit/bin/klist /usr/lib/mit/bin/kadmin /usr/lib/mit/bin/ktutil /usr/lib/mit/bin/k5srvutil /usr/lib/mit/bin/gss-client /usr/lib/mit/bin/ksu /usr/lib/mit/bin/sclient /usr/lib/mit/bin/sim_client /usr/lib/mit/bin/uuclient /usr/bin/kinit /usr/bin/klist %{_mandir}/man1/kvno.1* %{_mandir}/man1/kinit.1* %{_mandir}/man1/kdestroy.1* %{_mandir}/man1/kpasswd.1* %{_mandir}/man1/klist.1* %{_mandir}/man1/kerberos.1* %{_mandir}/man1/kadmin.1* %{_mandir}/man1/ktutil.1* %{_mandir}/man1/k5srvutil.1* %{_mandir}/man5/krb5.conf.5* %{_mandir}/man5/.k5login.5* %{_mandir}/man1/ksu.1.gz %{_mandir}/man1/sclient.1.gz %files plugin-kdb-ldap %defattr(-,root,root) %dir %{_libdir}/krb5 %dir %{_libdir}/krb5/plugins %dir %{_libdir}/krb5/plugins/kdb %dir /usr/lib/mit/sbin/ %dir %{krb5docdir} %doc %{krb5docdir}/kerberos.schema %doc %{krb5docdir}/kerberos.ldif %{_libdir}/krb5/plugins/kdb/kldap.so /usr/lib/mit/sbin/kdb5_ldap_util %{_libdir}/libkdb_ldap* %{_mandir}/man8/kdb5_ldap_util.8* %files plugin-preauth-pkinit %defattr(-,root,root) %dir %{_libdir}/krb5 %dir %{_libdir}/krb5/plugins %dir %{_libdir}/krb5/plugins/preauth %{_libdir}/krb5/plugins/preauth/pkinit.so %endif #build_mini %changelog