Name: heimdal Version: 1.4.1rc2 Release: 3%{?dist} Summary: A Kerberos5 implementation without export restrictions License: BSD-like URL: http://www.h5l.org/ Group: Networking/Other Source: http://www.h5l.org/dist/src/%{name}-%{version}.tar.gz Source1: %{name}.init Source2: %{name}-kadmind.xinetd Source3: %{name}.sysconfig Source6: %{name}-rshd.xinetd Source7: %{name}-ftpd.xinetd Source8: %{name}-telnetd.xinetd Source9: krb5.conf.sample Source10: %{name}.logrotate Source11: %{name}.module.in # We don't build X11 binaries, switch to new xorg-x11-devel # if we add it. #BuildRequires: xorg-x11-devel BuildRequires: db4-devel >= 4.2.52 BuildRequires: flex BuildRequires: bison BuildRequires: libtool BuildRequires: ncurses-devel >= 5.3 BuildRequires: openldap-devel >= 2.0 BuildRequires: readline-devel BuildRequires: libtermcap-devel BuildRequires: pam-devel BuildRequires: e2fsprogs-devel BuildRequires: texinfo BuildRequires: sqlite-devel BuildRequires: openldap-devel #Required for tests/ldap BuildRequires: openldap-servers # heimdal uses modified version #BuildRequires: libtommath-devel BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Kerberos 5 is a network authentication and single sign-on system. Heimdal is a free Kerberos 5 implementation without export restrictions written from the spec (rfc1510 and successors) including advanced features like thread safety, IPv6, master-slave replication of Kerberos Key Distribution Center server and support for ticket delegation (S4U2Self, S4U2Proxy). This package can coexist with MIT Kerberos 5 packages. Hesiod is disabled by default since it is deemed too big a security risk by the packager. %package workstation Summary: Heimdal kerberos programs for use on workstations Group: System Environment/Base Requires: %{name}-libs = %{version}-%{release} Requires(post): xinetd Requires(post): initscripts Requires(postun): initscripts Provides: kerberos-workstation %description workstation This package contains Heimdal Kerberos 5 programs and utilities for use on workstations (kinit, klist, kdestroy, kpasswd and Kerberised telnet, rsh, ftp). It also contains Kerberised versions of Telnet, ftp, rsh and pop3 servers. %package server Summary: Heimdal kerberos server Group: System Environment/Daemons Requires: %{name}-libs = %{version}-%{release} Requires(post): chkconfig Requires(post): xinetd Requires(post): initscripts Requires(postun): initscripts Provides: kerberos-server %description server This package contains the master Heimdal kerberos Key Distribution Center (KDC), admin interface server (admind) and master-slave synchronisation daemons. Install this package if you intend to set up Kerberos server. %package libs Summary: Heimdal kerberos shared libraries Group: System Environment/Libraries Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig %description libs This package contains shared libraries required by several of the other Heimdal packages. %package devel Summary: Header and other development files for Heimdal kerberos Group: System Environment/Libraries Requires: %{name}-libs = %{version}-%{release} %description devel Contains files needed to compile and link software using the Heimdal kerberos headers/libraries. %package appl-clients Summary: Heimdal kerberized client applications Group: System Environment/Base Requires: %{name}-libs = %{version}-%{release} Requires: environment-modules %description appl-clients This package contains Kerberos-aware versions of the telnet, ftp, rcp, rsh, and rlogin clients. While these have been replaced by tools such as OpenSSH in most environments, they remain in use in others. %package appl-servers Summary: Heimdal kerberized client applications Group: System Environment/Daemons Requires: %{name}-libs = %{version}-%{release} %description appl-servers This package contains Kerberos-aware versions of the telnet, ftp, rcp, rsh, and rlogin servers. While these have been replaced by tools such as OpenSSH in most environments, they remain in use in others. %prep %setup -q #rm -r lib/sqlite #%patch1 -p1 -b .skip_tests #autoreconf %build %configure \ --disable-static \ --enable-shared \ --enable-pthread-support \ --without-x \ --without-hesiod \ --with-ipv6 \ --enable-kcm \ --enable-pk-init \ --includedir=%{_includedir}/%{name} \ --libdir=%{_libdir}/%{name} \ --with-openssl=%{_prefix} \ --with-openldap=%{_prefix} \ --with-readline-include=%{_includedir}/readline \ --with-readline-lib=%{_libdir} \ --with-sqlite3=%{_prefix} \ LIBS="-ltermcap" \ CFLAGS="-fPIC $RPM_OPT_FLAGS" make make -C doc html %check # Check iprop test fails in rpmbuild #perl -pi -e 's/check-iprop //g' tests/kdc/Makefile #perl -pi -e 's/test_addr\$\(EXEEXT\) //g' lib/krb5/Makefile # Checks are currently broken #/bin/sh: line 5: 14045 Aborted ${dir}$tst #FAIL: test_addr # Disabling test_addr, may cause: #Creating database for TEST.H5L.SE #Creating database for TEST2.H5L.SE #Doing database check for TEST.H5L.SE TEST2.H5L.SE #Starting kdc #Waiting for KDC to start, looking logfile messages.log #Have waited 2 seconds #Starting kpasswdd #Getting client initial tickets #Getting tickets #Listing tickets #checking TEST.H5L.SE #Changing password #foo@TEST.H5L.SE's Password: foo #lt-rkpty: timeout waiting for New password (line 3) #test failed #signal killing kdc #FAIL: check-kpasswdd make check || true %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install install -D -m 755 %{SOURCE1} %{buildroot}/%{_initrddir}/heimdal install -D -m 644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/xinetd.d/kadmind install -D -m 644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/sysconfig/heimdal #install -D -m 644 %{SOURCE6} %{buildroot}/%{_sysconfdir}/xinetd.d/heimdal-rshd #install -D -m 644 %{SOURCE7} %{buildroot}/%{_sysconfdir}/xinetd.d/heimdal-ftpd #install -D -m 644 %{SOURCE8} %{buildroot}/%{_sysconfdir}/xinetd.d/heimdal-telnetd mkdir -p %{buildroot}/%{_sysconfdir}/xinetd.d/ sed -e 's#@LIBDIR@#%{_libdir}/%{name}#g' < %SOURCE6 > %{buildroot}/%{_sysconfdir}/xinetd.d/heimdal-rshd sed -e 's#@LIBDIR@#%{_libdir}/%{name}#g' < %SOURCE7 > %{buildroot}/%{_sysconfdir}/xinetd.d/heimdal-ftpd sed -e 's#@LIBDIR@#%{_libdir}/%{name}#g' < %SOURCE8 > %{buildroot}/%{_sysconfdir}/xinetd.d/heimdal-telnetd install -D -m 644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/logrotate.d/heimdal mkdir -p %{buildroot}/%{_localstatedir}/heimdal/ touch %{buildroot}/%{_localstatedir}/heimdal/kadmind.acl touch %{buildroot}/%{_localstatedir}/heimdal/slaves touch %{buildroot}/%{_localstatedir}/heimdal/slave-stats install -d %{buildroot}/%{_localstatedir}/log/heimdal install -d %{buildroot}/%{_docdir}/%{name}-%{version}/ install -D -m 644 LICENSE %{buildroot}/%{_docdir}/%{name}-%{version}/LICENSE install -D -m 644 %{SOURCE9} %{buildroot}/%{_docdir}/%{name}-%{version}/krb5.conf.sample #mv -f %{buildroot}/etc/krb5.conf %{_docdir}/%{name}-%{version}/ # Move pkgconfig file to proper directory mv %{buildroot}/%{_libdir}/%{name}/pkgconfig %{buildroot}/%{_libdir}/pkgconfig # No cat files rm -r %{buildroot}/%{_mandir}/cat? # Cleanup info dir rm %{buildroot}/%{_infodir}/dir # NOTICE: no support for X11 rm -f %{buildroot}/%{_mandir}/man1/kx.1* rm -f %{buildroot}/%{_mandir}/man1/rxtelnet.1* rm -f %{buildroot}/%{_mandir}/man1/rxterm.1* rm -f %{buildroot}/%{_mandir}/man1/tenletxr.1* rm -f %{buildroot}/%{_mandir}/man1/xnlock.1* rm -f %{buildroot}/%{_mandir}/man8/kxd.8* # Build /etc/ld.so.conf.d/heimdal.conf file, depending on architecture mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d/ echo "%{_libdir}/%{name}" > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/heimdal.conf rm %{buildroot}/%{_libdir}/%{name}/*.la #Alternatives for prog in kadmin kadmind kdestroy kinit klist kpasswd krb5-config ktutil do mv %{buildroot}/%{_bindir}/${prog} %{buildroot}/%{_bindir}/${prog}.%{name} || mv %{buildroot}/%{_sbindir}/${prog} %{buildroot}/%{_sbindir}/${prog}.%{name} || mv %{buildroot}/%{_libexecdir}/${prog} %{buildroot}/%{_libexecdir}/${prog}.%{name} mv %{buildroot}/%{_mandir}/man1/${prog}.1 \ %{buildroot}/%{_mandir}/man1/${prog}.%{name}.1 || mv %{buildroot}/%{_mandir}/man8/${prog}.8 \ %{buildroot}/%{_mandir}/man8/${prog}.%{name}.8 done mv %{buildroot}/%{_mandir}/man5/krb5.conf.5 \ %{buildroot}/%{_mandir}/man5/krb5.conf.%{name}.5 #Kerberised apps mkdir -p %{buildroot}/%{_libdir}/%{name}/bin mkdir -p %{buildroot}/%{_mandir}/%{name}/man{1,5,8} for prog in ftp ftpd login pagsh rcp rsh rshd su telnet telnetd do mv %{buildroot}/%{_bindir}/${prog} %{buildroot}/%{_libdir}/%{name}/bin || mv %{buildroot}/%{_libexecdir}/${prog} %{buildroot}/%{_libdir}/%{name}/bin mv %{buildroot}/%{_mandir}/man1/${prog}.1 \ %{buildroot}/%{_mandir}/%{name}/man1/ || mv %{buildroot}/%{_mandir}/man8/${prog}.8 \ %{buildroot}/%{_mandir}/%{name}/man8 done for man in ftpusers login.access do mv %{buildroot}/%{_mandir}/man5/${man}.5 \ %{buildroot}/%{_mandir}/%{name}/man5/ done # Make the environment-modules file mkdir -p %{buildroot}%{_sysconfdir}/modulefiles # Since we're doing our own substitution here, use our own definitions. sed -e 's#@LIBDIR@#%{_libdir}/%{name}#g' < %SOURCE11 > %{buildroot}%{_sysconfdir}/modulefiles/%{name}-%{_arch} %clean rm -rf %{buildroot} %post workstation /sbin/service xinetd condrestart %postun workstation /sbin/service xinetd condrestart %post server /sbin/chkconfig --add heimdal /sbin/service xinetd condrestart %preun server /sbin/service heimdal stop %postun server /sbin/service xinetd condrestart %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files libs %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/modulefiles/%{name}-%{_arch} %config(noreplace) %{_sysconfdir}/ld.so.conf.d/heimdal.conf %{_libdir}/%{name}/lib*.so.* %{_libdir}/%{name}/windc.so* %{_infodir}/heimdal.info* %{_infodir}/hx509.info* %{_mandir}/man5/krb5.conf.%{name}.5* %{_mandir}/man5/qop.5* %{_mandir}/man5/mech.5* %{_mandir}/man8/kerberos.8* %{_bindir}/string2key %{_mandir}/man8/string2key.8* %{_libexecdir}/kdigest %{_mandir}/man8/kdigest.8* %{_bindir}/verify_krb5_conf %{_mandir}/man8/verify_krb5_conf.8* %{_libexecdir}/digest-service %dir %{_libdir}/%{name}/bin %dir %{_mandir}/%{name} %dir %{_mandir}/%{name}/man1 %dir %{_mandir}/%{name}/man5 %dir %{_mandir}/%{name}/man8 %doc %{_docdir}/%{name}-%{version}/* %files server %defattr(-,root,root,-) %{_initrddir}/heimdal %config(noreplace) %{_sysconfdir}/logrotate.d/heimdal %config(noreplace) %{_sysconfdir}/sysconfig/heimdal %config(noreplace) %{_sysconfdir}/xinetd.d/kadmind %dir %attr(400,root,root) %{_localstatedir}/heimdal %dir %attr(400,root,root) %{_localstatedir}/log/heimdal %config(noreplace) %attr(600,root,root) %{_localstatedir}/heimdal/kadmind.acl %config(noreplace) %attr(600,root,root) %{_localstatedir}/heimdal/slaves %attr(600,root,root) %{_localstatedir}/heimdal/slave-stats %{_libexecdir}/hprop %{_mandir}/man8/hprop.8* %{_libexecdir}/hpropd %{_mandir}/man8/hpropd.8* %{_mandir}/man8/iprop.8* %{_sbindir}/iprop-log %{_mandir}/man8/iprop-log.8* %{_libexecdir}/ipropd-master %{_mandir}/man8/ipropd-master.8* %{_libexecdir}/ipropd-slave %{_mandir}/man8/ipropd-slave.8* %{_libexecdir}/kadmind.%{name} %{_mandir}/man8/kadmind.%{name}.8* %{_libexecdir}/kdc %{_mandir}/man8/kdc.8* %{_libexecdir}/kpasswdd %{_mandir}/man8/kpasswdd.8* %{_sbindir}/kstash %{_mandir}/man8/kstash.8* %files workstation %defattr(-,root,root,-) %{_bindir}/afslog %{_mandir}/man1/afslog.1* %{_bindir}/gss %{_bindir}/hxtool %{_bindir}/idn-lookup %{_bindir}/kauth #%{_mandir}/man1/kauth.1* %{_bindir}/kdestroy.%{name} %{_mandir}/man1/kdestroy.%{name}.1* %{_bindir}/kf %{_mandir}/man1/kf.1* %{_bindir}/kgetcred %{_mandir}/man1/kgetcred.1* %{_libexecdir}/kimpersonate %{_mandir}/man8/kimpersonate.8* %{_bindir}/kinit.%{name} %{_mandir}/man1/kinit.%{name}.1* %{_bindir}/klist.%{name} %{_mandir}/man1/klist.%{name}.1* %{_bindir}/kpasswd.%{name} %{_mandir}/man1/kpasswd.%{name}.1* %{_bindir}/kswitch %{_mandir}/man1/kswitch.1* %{_bindir}/otp %{_mandir}/man1/otp.1* %{_bindir}/otpprint %{_mandir}/man1/otpprint.1* %{_bindir}/pfrom %{_mandir}/man1/pfrom.1* # NOTICE: no support for X11 #%{_bindir}/rxtelnet #%{_mandir}/man1/rxtelnet.1* %{_sbindir}/kadmin.%{name} %{_mandir}/man8/kadmin.%{name}.8* %{_libexecdir}/kcm %{_mandir}/man8/kcm.8* %{_libexecdir}/kfd %{_mandir}/man8/kfd.8* %{_sbindir}/ktutil.%{name} %{_mandir}/man8/ktutil.%{name}.8* # NOTICE: no support for X11 #%{_libexecdir}/kxd #%{_mandir}/man8/kxd.8* %{_libexecdir}/popper %{_mandir}/man8/popper.8* # TODO: PUSH needs to go to bin!!! %{_libexecdir}/push %{_mandir}/man8/push.8* %files appl-clients %defattr(-,root,root,-) %{_libdir}/%{name}/bin/ftp %{_mandir}/%{name}/man1/ftp.1* %{_libdir}/%{name}/bin/login %{_mandir}/%{name}/man1/login.1* %{_mandir}/%{name}/man5/login.access.5* %{_libdir}/%{name}/bin/pagsh %{_mandir}/%{name}/man1/pagsh.1* %{_libdir}/%{name}/bin/rcp %{_mandir}/%{name}/man1/rcp.1* %{_libdir}/%{name}/bin/rsh %{_mandir}/%{name}/man1/rsh.1* %attr(04550,root,root) %{_libdir}/%{name}/bin/su %{_mandir}/%{name}/man1/su.1* %{_libdir}/%{name}/bin/telnet %{_mandir}/%{name}/man1/telnet.1* %files appl-servers %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/xinetd.d/heimdal-ftpd %config(noreplace) %{_sysconfdir}/xinetd.d/heimdal-rshd %config(noreplace) %{_sysconfdir}/xinetd.d/heimdal-telnetd %{_libdir}/%{name}/bin/telnetd %{_mandir}/%{name}/man8/telnetd.8* %{_libdir}/%{name}/bin/ftpd %{_mandir}/%{name}/man8/ftpd.8* %{_mandir}/%{name}/man5/ftpusers.5* %{_libdir}/%{name}/bin/rshd %{_mandir}/%{name}/man8/rshd.8* %files devel %defattr(-,root,root,-) %{_bindir}/krb5-config.%{name} %{_mandir}/man1/krb5-config.%{name}.1* %{_includedir}/%{name} %{_libdir}/%{name}/lib*.so %{_libdir}/pkgconfig/*.pc %{_mandir}/man3/* #%{_bindir}/compile_et %{_libexecdir}/heimdal/asn1_compile %{_libexecdir}/heimdal/asn1_print %{_libexecdir}/heimdal/slc %changelog * Thu Apr 7 2011 Orion Poplawksi - 1.4.1rc2-3 - Use %%{_libdir}/heimdal and environment-modules for kerberized apps - Add appl-{clients,servers} sub-packages * Wed Mar 30 2011 Orion Poplawksi - 1.4.1rc2-2 - Move includes to /usr/include/heimdal - Use more macros in configure command * Tue Mar 29 2011 Orion Poplawksi - 1.4.1rc2-1 - Update to 1.4.1rc2 - Major rework towards using alternatives in Fedora * Tue Nov 30 2010 Rok Papež, ARNES - 1.4.1rc1-1.arnes - Updated to Heimdal 1.4.1rc1 * Fri Jul 09 2010 Rok Papež, ARNES - 1.3.3-1.arnes - Updated to Heimdal 1.3.3 * Wed Apr 21 2010 Rok Papež, ARNES - 1.3.2-2.arnes - Updated to Heimdal 1.3.2 * Wed Sep 17 2009 Rok Papež, ARNES - 1.3.0pre9-1 - Updated to Heimdal 1.3.0pre9 - Building on CentOS 5.3 i386 and Fedora 11 x86_64. * Wed Jun 10 2009 Rok Papež, ARNES - 1.2.1-9 - Fixed build for CentOS 4.7 (thanks to Nitzan Zaifman for bugreport) * Sun Jun 8 2009 Rok Papež, ARNES - 1.2.1-8 - Fixed paths for building on CentOS 5.3 - Rebuilt for CentOS 5.3 - removed obsolete X11 dependency * Fri Feb 19 2009 Mitja Mihelic, ARNES - 1.2.1-7 - added dependency on xinetd for heimdal-workstation * Tue Jan 20 2009 Rok Papež, ARNES - Fixed permissions * Wed Oct 8 2008 Rok Papež, ARNES - New specs for Heimdel 1.2.1, suggestions taken from both PDC and Mandrake specs file. - Need to be compatible with MIT Kerberos 5 installation. - Let MIT have priority