diff --git a/heimdal-7.7.0-autoconf-2.70.patch b/heimdal-7.7.0-autoconf-2.70.patch new file mode 100644 index 0000000..5217294 --- /dev/null +++ b/heimdal-7.7.0-autoconf-2.70.patch @@ -0,0 +1,32 @@ +From e109c0e6f550c81095d387761eb37f7c2b914475 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Wed, 17 Mar 2021 17:49:18 +0100 +Subject: [PATCH] autoconf-2.70 fix + +autoconf-2.70 and newer are more strict with quoting etc. and thus generate +a broken configure file: + + configure: 20855: Syntax error: ")" unexpected (expecting "fi") + +(cherry picked from commit 22352b90e78e2d162b98b5ef6c84672c397be40a) + +Change-Id: I39730c768e7bfaffa3c7ad2474f16649b04e949f +Gentoo-bug: https://bugs.gentoo.org/776241 +Signed-off-by: Lars Wendler +--- + cf/check-var.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cf/check-var.m4 b/cf/check-var.m4 +index 2fd7bca6f0..71d6f70ca8 100644 +--- a/cf/check-var.m4 ++++ b/cf/check-var.m4 +@@ -20,7 +20,7 @@ AC_MSG_RESULT($ac_foo) + if test "$ac_foo" = yes; then + AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]$1), 1, + [Define if you have the `]$1[' variable.]) +- m4_ifval([$2], AC_CHECK_DECLS([$1],[],[],[$2])) ++ m4_ifval([$2], [AC_CHECK_DECLS([$1],[],[],[$2])]) + fi + ]) + diff --git a/libheimdal.changes b/libheimdal.changes index 41c1c9e..8d1473e 100644 --- a/libheimdal.changes +++ b/libheimdal.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Thu Jun 30 20:44:57 UTC 2022 - Antoine Belvire + +- Add ldconfig scriptlets. +- Fix 'Conflicts:' tags. +- Remove obsolete macros and conditionals. +- Ran spec-cleaner. + +------------------------------------------------------------------- +Tue Jun 28 18:47:19 UTC 2022 - Antoine Belvire + +- Add heimdal-7.7.0-autoconf-2.70.patch: Fix build with autoconf + 2.70 (gh#heimdal/heimdal#856). + +------------------------------------------------------------------- +Wed May 25 11:59:29 UTC 2022 - Jan Engelhardt + +- Apply Shared Library Packaging Policy and resolve rpmlint + errors like "libheimdal.x86_64: E: shlib-policy-name-error + SONAME: libasn1.so.8, expected package suffix: 8" + ------------------------------------------------------------------- Sun Jun 23 00:50:31 UTC 2019 - enzokiel@kabelmail.de diff --git a/libheimdal.spec b/libheimdal.spec index 8efdbc5..f5b7ed2 100644 --- a/libheimdal.spec +++ b/libheimdal.spec @@ -1,7 +1,7 @@ # # spec file for package libheimdal # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,17 +12,17 @@ # 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/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: libheimdal +Version: 7.7.0 +Release: 0 Summary: The Heimdal implementation of the Kerberos 5 protocol License: BSD-3-Clause Group: Productivity/Networking/Security -Version: 7.7.0 -Release: 0 -Url: http://www.h5l.org +URL: https://www.h5l.org # patched source can be created with script heimdal-patch-source.sh: # ./heimdal-patch-source.sh heimdal-%{version}.tar.gz Source0: heimdal-%{version}-patched.tar.bz2 @@ -30,29 +30,21 @@ Source2: heimdal-patch-source.sh Patch0: heimdal-patched.diff # PATCH-FIX-UPSTREAM bmwiedemann -- make build reproducible (boo#1047218) Patch1: reproducible.patch -%if 0%{?sles_version} == 11 -BuildRequires: libcom_err-devel -BuildRequires: sqlite3-devel -%else -BuildRequires: pkgconfig(com_err) -BuildRequires: pkgconfig(sqlite3) -%endif -%if 0%{suse_version} > 1315 -BuildRequires: pkgconfig(ncurses) >= 5.3 -%else -BuildRequires: ncurses-devel >= 5.3 -%endif +# PATCH-FIX-UPSTREAM heimdal-7.7.0-autoconf-2.70.patch -- fix build with autoconf 2.70 (gh#heimdal/heimdal#856) +Patch2: heimdal-7.7.0-autoconf-2.70.patch BuildRequires: automake >= 1.11 BuildRequires: bison BuildRequires: db-devel >= 4.8 BuildRequires: flex BuildRequires: libtool BuildRequires: pam-devel -BuildRequires: pkg-config +BuildRequires: pkgconfig BuildRequires: readline-devel BuildRequires: texinfo BuildRequires: perl(JSON) -BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: pkgconfig(com_err) +BuildRequires: pkgconfig(ncurses) >= 5.3 +BuildRequires: pkgconfig(sqlite3) %description Heimdal is an implementation of Kerberos 5 (and some more stuff) largely written @@ -65,26 +57,179 @@ Also Microsoft Windows and Sun's Java come with implementations of Kerberos. This package only provides libraries and devel files (binaries have been removed), libraries are required by 64-bit package of ICAClient version 13.2. +%package -n libasn1-8 +Summary: ASN.1 implementation from Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libasn1-8 +This package contains the ASN.1 parser required for Heimdal. + +%package -n libgssapi3 +Summary: GSSAPI implementation from Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libgssapi3 +GSSAPI implementation from Heimdal. + +%package -n libhcrypto4 +Summary: Cryptographic library from Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libhcrypto4 +This package contains the cryptographic library required for Heimdal. + +%package -n libhdb9 +Summary: Heimdal database backend library +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libhdb9 +libhdb provides the backend support for Heimdal kdc and kadmind. Its +here where plugins for diffrent database engines can be pluged in and +extend support for here Heimdal get the principal and policy data +from. + +Example of Heimdal backend are: Berkeley DB (BDB), NDB, LDAP. + +%package -n libheimbase1 +Summary: Base library for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libheimbase1 +This package contains the base library for Heimdal Kerberos. + +%package -n libheimedit0 +Summary: libedit fork of the Heimdal Kerberos project +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libheimedit0 +libedit is a command line editing and history library. It is +designed to be used by interactive programs that allow the user +to type commands at a terminal prompt. + +%package -n libheimntlm0 +Summary: NTLM implementation from Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libheimntlm0 +This package contains the NTLM support library from and for Heimdal Kerberos. + +%package -n libhx509-5 +Summary: X.509 implementation from Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libhx509-5 +This package contains the X.509 support library from and for Heimdal Kerberos. + +%package -n libkadm5clnt7 +Summary: Client library for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libkadm5clnt7 +This package contains the client library for Heimdal's kadmin program. + +%package -n libkadm5srv8 +Summary: Server library for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libkadm5srv8 +This package contains the server library for Heimdal's kadmin program. + +%package -n libkafs0 +Summary: KAFS support for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libkafs0 +This package contains the library for supporting the in-kernel Andrew File System. + +%package -n libkdc2 +Summary: Key Distribution Center library for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libkdc2 +This package contains the KDC support library. + +%package -n libkrb5-26 +Summary: Kerberos 5 API for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libkrb5-26 +This package contains the Kerberos 5 library. + +%package -n libotp0 +Summary: One Time Password library for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libotp0 +This package contains the library for One Time Password support. + +%package -n libroken18 +Summary: OS abstraction library for Heimdal Kerberos +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libroken18 +This package contains a library that wraps or adds utility functions +missing from certain operating systems. + +%package -n libsl0 +Summary: Implementation of a suggestion lister +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libsl0 +This package contains a library that suggests commands in a "did you +mean" fashion. + +%package -n libwind0 +Summary: An implementation of RFC 3454 (stringprep) +Group: System/Libraries +Conflicts: libheimdal < %{version}-%{release} + +%description -n libwind0 +This package contains an implementation of the stringprep library. + %package devel Summary: The Heimdal implementation of the Kerberos 5 protocol Group: Development/Libraries/C and C++ -Requires: libheimdal = %{version} -%if 0%{?sles_version} == 11 -Requires: libcom_err-devel -Requires: sqlite3-devel -%else -Requires: pkgconfig(com_err) -Requires: pkgconfig(sqlite3) -%endif -%if 0%{suse_version} > 1315 -Requires: pkgconfig(ncurses) >= 5.3 -%else -Requires: ncurses-devel >= 5.3 -%endif Requires: db-devel >= 4.8 Requires: glibc-devel +Requires: libasn1-8 = %{version}-%{release} +Requires: libgssapi3 = %{version}-%{release} +Requires: libhcrypto4 = %{version}-%{release} +Requires: libhdb9 = %{version}-%{release} +Requires: libheimbase1 = %{version}-%{release} +Requires: libheimedit0 = %{version}-%{release} +Requires: libheimntlm0 = %{version}-%{release} +Requires: libhx509-5 = %{version}-%{release} +Requires: libkadm5clnt7 = %{version}-%{release} +Requires: libkadm5srv8 = %{version}-%{release} +Requires: libkafs0 = %{version}-%{release} +Requires: libkdc2 = %{version}-%{release} +Requires: libkrb5-26 = %{version}-%{release} +Requires: libotp0 = %{version}-%{release} +Requires: libroken18 = %{version}-%{release} +Requires: libsl0 = %{version}-%{release} +Requires: libwind0 = %{version}-%{release} +Requires: pkgconfig(com_err) +Requires: pkgconfig(ncurses) >= 5.3 +Requires: pkgconfig(sqlite3) Conflicts: krb5-devel Conflicts: krb5-mini-devel +Conflicts: libheimdal < %{version}-%{release} %description devel Heimdal is an implementation of Kerberos 5 (and some more stuff) largely written @@ -98,60 +243,110 @@ This package only provides libraries and devel files (binaries have been removed libraries are required by 64-bit package of ICAClient version 13.2. %prep -%setup -q -n heimdal-%{version} -%patch0 -p1 -%patch1 -p1 +%autosetup -p1 -n heimdal-%{version} %build export SOURCE_HOST=OBS # for reproducible builds (boo#1084909) autoreconf -fi %configure \ --with-sqlite3=%{_prefix} -make %{?_smp_mflags} +%make_build %install %make_install rm -rf %{buildroot}%{_libdir}/*.a -rm -rf %{buildroot}%{_libdir}/*.la +find %{buildroot} -type f -name "*.la" -delete -print -%post -/sbin/ldconfig -%install_info --info-dir=%{_infodir} %{_infodir}/heimdal.info.gz -%install_info --info-dir=%{_infodir} %{_infodir}/hx509.info.gz +%post -p /sbin/ldconfig -n libasn1-8 +%postun -p /sbin/ldconfig -n libasn1-8 +%post -p /sbin/ldconfig -n libgssapi3 +%postun -p /sbin/ldconfig -n libgssapi3 +%post -p /sbin/ldconfig -n libhcrypto4 +%postun -p /sbin/ldconfig -n libhcrypto4 +%post -p /sbin/ldconfig -n libhdb9 +%postun -p /sbin/ldconfig -n libhdb9 +%post -p /sbin/ldconfig -n libheimbase1 +%postun -p /sbin/ldconfig -n libheimbase1 +%post -p /sbin/ldconfig -n libheimedit0 +%postun -p /sbin/ldconfig -n libheimedit0 +%post -p /sbin/ldconfig -n libheimntlm0 +%postun -p /sbin/ldconfig -n libheimntlm0 +%post -p /sbin/ldconfig -n libhx509-5 +%postun -p /sbin/ldconfig -n libhx509-5 +%post -p /sbin/ldconfig -n libkadm5clnt7 +%postun -p /sbin/ldconfig -n libkadm5clnt7 +%post -p /sbin/ldconfig -n libkadm5srv8 +%postun -p /sbin/ldconfig -n libkadm5srv8 +%post -p /sbin/ldconfig -n libkafs0 +%postun -p /sbin/ldconfig -n libkafs0 +%post -p /sbin/ldconfig -n libkdc2 +%postun -p /sbin/ldconfig -n libkdc2 +%post -p /sbin/ldconfig -n libkrb5-26 +%postun -p /sbin/ldconfig -n libkrb5-26 +%post -p /sbin/ldconfig -n libotp0 +%postun -p /sbin/ldconfig -n libotp0 +%post -p /sbin/ldconfig -n libroken18 +%postun -p /sbin/ldconfig -n libroken18 +%post -p /sbin/ldconfig -n libsl0 +%postun -p /sbin/ldconfig -n libsl0 +%post -p /sbin/ldconfig -n libwind0 +%postun -p /sbin/ldconfig -n libwind0 -%postun -p /sbin/ldconfig - -%preun -/sbin/ldconfig -%install_info_delete --info-dir=%{_infodir} %{_infodir}/heimdal.info.gz -%install_info_delete --info-dir=%{_infodir} %{_infodir}/hx509.info.gz - -%files -%defattr(-,root,root) -%doc LICENSE NEWS README TODO +%files -n libasn1-8 %{_libdir}/libasn1.so.8* + +%files -n libgssapi3 %{_libdir}/libgssapi.so.3* + +%files -n libhcrypto4 %{_libdir}/libhcrypto.so.4* + +%files -n libhdb9 %{_libdir}/libhdb.so.9* + +%files -n libheimbase1 %{_libdir}/libheimbase.so.1* + +%files -n libheimedit0 %{_libdir}/libheimedit.so.0* + +%files -n libheimntlm0 %{_libdir}/libheimntlm.so.0* + +%files -n libhx509-5 %{_libdir}/libhx509.so.5* + +%files -n libkadm5clnt7 %{_libdir}/libkadm5clnt.so.7* + +%files -n libkadm5srv8 %{_libdir}/libkadm5srv.so.8* + +%files -n libkafs0 %{_libdir}/libkafs.so.0* + +%files -n libkdc2 %{_libdir}/libkdc.so.2* + +%files -n libkrb5-26 %{_libdir}/libkrb5.so.26* + +%files -n libotp0 %{_libdir}/libotp.so.0* + +%files -n libroken18 %{_libdir}/libroken.so.18* + +%files -n libsl0 %{_libdir}/libsl.so.0* + +%files -n libwind0 %{_libdir}/libwind.so.0* -%{_infodir}/*.info.gz %files devel -%defattr(-,root,root) -%doc LICENSE +%license LICENSE +%doc NEWS README TODO %{_includedir}/*.h %dir %{_includedir}/gssapi %{_includedir}/gssapi/*.h @@ -164,5 +359,6 @@ rm -rf %{buildroot}%{_libdir}/*.la %dir %{_includedir}/roken %{_includedir}/roken/*.h %{_libdir}/*.so +%{_infodir}/*.info%{?ext_info} %changelog