Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:GA
krb5-mini.34410
krb5-mini.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File krb5-mini.spec of Package krb5-mini.34410
# # spec file for package krb5-mini # # Copyright (c) 2024 SUSE LLC # # 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 https://bugs.opensuse.org/ # %define srcRoot krb5-1.12.5 %define vendorFiles %{_builddir}/%{srcRoot}/vendor-files/ %define krb5docdir %{_defaultdocdir}/krb5 Name: krb5-mini URL: http://web.mit.edu/kerberos/www/ Version: 1.12.5 Release: 0 Summary: MIT Kerberos5 implementation and libraries with minimal dependencies License: MIT Group: Productivity/Networking/Security BuildRequires: autoconf BuildRequires: bison BuildRequires: keyutils BuildRequires: keyutils-devel BuildRequires: libcom_err-devel BuildRequires: libselinux-devel BuildRequires: libverto-devel BuildRequires: ncurses-devel Requires: libverto-libev1 Obsoletes: krb5-plugin-preauth-pkinit-nss Conflicts: krb5 Conflicts: krb5-client Conflicts: krb5-plugin-kdb-ldap Conflicts: krb5-plugin-preauth-otp Conflicts: krb5-plugin-preauth-pkinit Conflicts: krb5-server Source: krb5-%{version}.tar.gz Source1: vendor-files.tar.bz2 Source2: baselibs.conf Source5: krb5-rpmlintrc Patch1: krb5-1.12-pam.patch Patch2: krb5-1.9-manpaths.dif Patch3: krb5-1.12-buildconf.patch Patch4: krb5-1.6.3-gssapi_improve_errormessages.dif Patch5: krb5-1.10-kpasswd_tcp.patch Patch6: krb5-1.6.3-ktutil-manpage.dif Patch7: krb5-1.7-doublelog.patch Patch8: krb5-1.12-api.patch Patch9: krb5-1.9-kprop-mktemp.patch Patch10: krb5-1.10-ksu-access.patch Patch11: krb5-1.12-ksu-path.patch Patch12: krb5-1.12-selinux-label.patch Patch13: krb5-1.9-debuginfo.patch Patch14: krb5-kvno-230379.patch Patch15: krb5-1.12-doxygen.patch Patch20: bnc#897874-CVE-2014-5351.diff Patch21: krb5-1.13-work-around-replay-cache-creation-race.patch Patch104: 0104-Verify-decoded-kadmin-C-strings-CVE-2015-8629.patch Patch105: 0105-Fix-leaks-in-kadmin-server-stubs-CVE-2015-8631.patch Patch106: 0106-Check-for-null-kadm5-policy-name-CVE-2015-8630.patch Patch109: 0109-Preserve-GSS-context-on-init-accept-failure.patch Patch115: 0115-Remove-incorrect-KDC-assertion.patch Patch116: 0116-Implement-GSS_KRB5_CRED_NO_CI_FLAGS_X-cred-option.patch Patch117: 0117-Add-tests-for-GSS_KRB5_CRED_NO_CI_FLAGS_X.patch Patch118: 0118-Implement-GSS_KRB5_CRED_NO_CI_FLAGS_X-for-SPNEGO.patch Patch119: 0119-Load-mechglue-config-files-from-etc-gss-mech.d.patch Patch120: 0120-Document-etc-gss-mech.d-.conf.patch Patch121: 0121-Fix-impersonate_name-to-work-with-interposers.patch Patch122: 0122-Use-preauth-options-when-changing-password.patch Patch123: 0123-Improve-extended-gic-option-support.patch Patch124: 0124-Use-responder-for-non-preauth-AS-requests.patch Patch125: 0125-Add-recursion-limit-for-ASN.1-indefinite-lengths.patch Patch126: 0126-Fix-integer-overflows-in-PAC-parsing.patch Patch127: 0127-Ensure-array-count-consistency-in-kadm5-RPC.patch Patch128: 0128-Fix-two-unlikely-memory-leaks.patch %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. The package delivers MIT Kerberos with reduced features and minimal dependencies. %package devel Summary: MIT Kerberos5 - Include Files and Libraries Group: Development/Libraries/C and C++ PreReq: %{name} = %{version} Requires: keyutils-devel Requires: libcom_err-devel Requires: libverto-devel # bug437293 %ifarch ppc64 Obsoletes: krb5-devel-64bit %endif Provides: krb5-devel = %{version} Conflicts: krb5-devel %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 %prep %setup -q -n %{srcRoot} %setup -a 1 -T -D -n %{srcRoot} %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p0 %patch14 -p1 %patch15 -p1 %patch20 -p1 %patch21 -p1 %patch104 -p1 %patch105 -p1 %patch106 -p1 %patch109 -p1 %patch115 -p1 %patch116 -p1 %patch117 -p1 %patch118 -p1 %patch119 -p1 %patch120 -p1 %patch121 -p1 %patch122 -p1 %patch123 -p1 %patch124 -p1 %patch125 -p1 %patch126 -p1 %patch127 -p1 %patch128 -p1 %build # needs to be re-generated rm -f src/lib/krb5/krb/deltat.c cd src ./util/reconf DEFCCNAME=DIR:/run/user/%%{uid}/krb5cc; export DEFCCNAME ./configure \ CC="%{__cc}" \ CFLAGS="$RPM_OPT_FLAGS -I%{_includedir}/et -fno-strict-aliasing -D_GNU_SOURCE -fPIC $(getconf LFS_CFLAGS)" \ CPPFLAGS="-I%{_includedir}/et " \ SS_LIB="-lss" \ --prefix=/usr/lib/mit \ --sysconfdir=%{_sysconfdir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --libexecdir=/usr/lib/mit/sbin \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --localstatedir=%{_localstatedir}/lib/kerberos \ --localedir=%{_datadir}/locale \ --enable-shared \ --disable-static \ --enable-dns-for-realm \ --disable-rpath \ --disable-pkinit \ --without-pam \ --with-selinux \ --with-system-et \ --with-system-ss \ --with-system-verto %{__make} %{?_smp_mflags} %install # Where per-user keytabs live by default. mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/kerberos/krb5/user mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/krb5 cd src make DESTDIR=%{buildroot} install cd .. # Munge krb5-config yet again. This is totally wrong for 64-bit, but chunks # of the buildconf patch already conspire to strip out /usr/<anything> from the # list of link flags, and it helps prevent file conflicts on multilib systems. sed -r -i -e 's|^libdir=/usr/lib(64)?$|libdir=/usr/lib|g' $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config # And again. krb5-config does not distinguish between libdir, includedir, # just exec_prefix. Libraries and headers not installed under /usr/lib/mit # prefix (bsc#1211411). sed -r -i -e 's|^prefix=/usr/lib/mit$|prefix=/usr|g' $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config sed -r -i -e 's|^exec_prefix=\$\{prefix\}$|exec_prefix=/usr/lib/mit|g' $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config # install autoconf macro mkdir -p %{buildroot}/%{_datadir}/aclocal install -m 644 src/util/ac_check_krb5.m4 %{buildroot}%{_datadir}/aclocal/ # 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 systemd files %if 0%{?suse_version} >= 1210 mkdir -p %{buildroot}%{_unitdir} install -m 644 %{vendorFiles}/kadmind.service %{buildroot}%{_unitdir} install -m 644 %{vendorFiles}/krb5kdc.service %{buildroot}%{_unitdir} install -m 644 %{vendorFiles}/kpropd.service %{buildroot}%{_unitdir} %else # 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 %endif # install sysconfig templates mkdir -p $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates install -m 644 %{vendorFiles}/sysconfig.kadmind $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates/ install -m 644 %{vendorFiles}/sysconfig.krb5kdc $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates/ # 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/ mkdir -p %{buildroot}/usr/sbin/ %if 0%{?suse_version} >= 1210 %if 0%{?suse_version} > 1220 ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rckadmind ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rckrb5kdc ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rckpropd %else ln -s /sbin/service %{buildroot}%{_sbindir}/rckadmind ln -s /sbin/service %{buildroot}%{_sbindir}/rckrb5kdc ln -s /sbin/service %{buildroot}%{_sbindir}/rcpropd %endif %else ln -sf ../../etc/init.d/kadmind %{buildroot}/usr/sbin/rckadmind ln -sf ../../etc/init.d/krb5kdc %{buildroot}/usr/sbin/rckrb5kdc ln -sf ../../etc/init.d/kpropd %{buildroot}/usr/sbin/rckpropd %endif # 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 # cleanup rm -f %{buildroot}/usr/share/man/man1/tmac.doc* rm -f /usr/share/man/man1/tmac.doc* rm -rf %{buildroot}/usr/lib/mit/share/examples # manually remove otp plugin for krb5-mini since configure # doesn't support disabling it at build time rm -f %{buildroot}/%{_libdir}/krb5/plugins/preauth/otp.so %find_lang mit-krb5 ##################################################### # krb5-mini pre/post/postun ##################################################### %preun %service_del_preun krb5kdc.service kadmind.service kpropd.service %postun /sbin/ldconfig %service_del_postun krb5kdc.service kadmind.service kpropd.service %post /sbin/ldconfig %service_add_post krb5kdc.service kadmind.service kpropd.service %{fillup_only -n kadmind} %{fillup_only -n krb5kdc} %{fillup_only -n kpropd} %pre %service_add_pre krb5kdc.service kadmind.service kpropd.service ######################################################## # files sections ######################################################## %files devel %defattr(-,root,root) %dir /usr/lib/mit %dir /usr/lib/mit/bin %dir /usr/lib/mit/sbin %dir /usr/lib/mit/share %dir %{_datadir}/aclocal %{_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 %{_libdir}/libkrad.so %{_libdir}/pkgconfig/gssrpc.pc %{_libdir}/pkgconfig/kadm-client.pc %{_libdir}/pkgconfig/kadm-server.pc %{_libdir}/pkgconfig/kdb.pc %{_libdir}/pkgconfig/krb5-gssapi.pc %{_libdir}/pkgconfig/krb5.pc %{_libdir}/pkgconfig/mit-krb5-gssapi.pc %{_libdir}/pkgconfig/mit-krb5.pc %{_includedir}/* /usr/lib/mit/bin/krb5-config /usr/lib/mit/sbin/krb5-send-pr /usr/lib/mit/share/gnats %{_mandir}/man1/krb5-send-pr.1* %{_mandir}/man1/krb5-config.1* %{_datadir}/aclocal/ac_check_krb5.m4 %files -f mit-krb5.lang %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 %dir %{_localstatedir}/lib/kerberos/krb5 %dir %{_localstatedir}/lib/kerberos/krb5/user %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* %{_var}/adm/fillup-templates/sysconfig.* %{_unitdir}/kadmind.service %{_unitdir}/krb5kdc.service %{_unitdir}/kpropd.service %{_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}/libkrad.so.* %{_libdir}/krb5/plugins/kdb/* #/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 /usr/lib/mit/bin/kswitch %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/sbin/rc* %{_mandir}/man1/kvno.1* %{_mandir}/man1/kinit.1* %{_mandir}/man1/kdestroy.1* %{_mandir}/man1/kpasswd.1* %{_mandir}/man1/klist.1* %{_mandir}/man1/ksu.1* %{_mandir}/man1/sclient.1* %{_mandir}/man1/kadmin.1* %{_mandir}/man1/ktutil.1* %{_mandir}/man1/k5srvutil.1* %{_mandir}/man1/kswitch.1* %{_mandir}/man5/* %{_mandir}/man5/.k5login.5.gz %{_mandir}/man5/.k5identity.5* %{_mandir}/man8/* %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor