From 0602436823af9d2e27c6259e75c3931954207e6a Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Jan 19 2022 15:19:26 +0000 Subject: Build with compatible for bootstrap --- diff --git a/ima-evm-utils.spec b/ima-evm-utils.spec index 13a6ff0..857df71 100644 --- a/ima-evm-utils.spec +++ b/ima-evm-utils.spec @@ -1,11 +1,32 @@ +%bcond_with compat + +# For cases where the soname requires a bump we need to define with_compat, +# update the package into the side-tag, update RPM (rpm-sign) into side-tag, +# _then_ undefine with_compat and rebuild the package into the side-tag. This +# is required to workaround the chiken-egg situation with the rpm-sign update. +# The compat pkg must not make the compose, it's only a buildrequirement for +# rpm-sign in a soname bump. +%if ! %{with compat} +%undefine with_compat +%endif + +%if %{with compat} +%global compat_soversion 2 +%endif + Name: ima-evm-utils Version: 1.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: IMA/EVM support utilities License: GPLv2 Url: http://linux-ima.sourceforge.net/ Source: http://sourceforge.net/projects/linux-ima/files/ima-evm-utils/%{name}-%{version}.tar.gz +# compat source and patches +Source10: ima-evm-utils-1.3.2.tar.gz +Patch10: 0001-evmctl-fix-memory-leak-in-get_password.patch +Patch11: 0001-libimaevm-make-SHA-256-the-default-hash-algorithm.patch + BuildRequires: asciidoc BuildRequires: autoconf BuildRequires: automake @@ -17,7 +38,6 @@ BuildRequires: make BuildRequires: openssl-devel BuildRequires: tpm2-tss-devel - %description The Trusted Computing Group(TCG) run-time Integrity Measurement Architecture (IMA) maintains a list of hash values of executables and other sensitive @@ -33,18 +53,49 @@ Requires: %{name} = %{version}-%{release} %description devel This package provides the header files for %{name} +%if %{with compat} +%package -n %{name}%{compat_soversion} +Summary: Compatibility package of %{name} + +%description -n %{name}%{compat_soversion} +This package provides the libimaevm.so.%{compat_soversion} relative to %{name}-1.3 +%endif + %prep -%autosetup -p1 +%setup -q + +%if %{with compat} +mkdir compat/ +tar -zxf %{SOURCE10} --strip-components=1 -C compat/ +cd compat/ +%patch10 -p1 +%patch11 -p1 +%endif %build autoreconf -vif %configure --disable-static %make_build +%if %{with compat} +pushd compat/ +autoreconf -vif +%configure --disable-static +%make_build +popd +%endif + %install %make_install find %{buildroot} -type f -name "*.la" -delete +%if %{with compat} +pushd compat/src/.libs/ +install -p libimaevm.so.%{compat_soversion}.0.0 %{buildroot}%{_libdir}/libimaevm.so.%{compat_soversion}.0.0 +ln -s -f %{buildroot}%{_libdir}/libimaevm.so.%{compat_soversion}.0.0 %{buildroot}%{_libdir}/libimaevm.so.%{compat_soversion} +popd +%endif + %ldconfig_scriptlets %files @@ -60,7 +111,16 @@ find %{buildroot} -type f -name "*.la" -delete %{_includedir}/imaevm.h %{_libdir}/libimaevm.so +%if %{with compat} +%files -n %{name}%{compat_soversion} +%{_libdir}/libimaevm.so.%{compat_soversion} +%{_libdir}/libimaevm.so.%{compat_soversion}.0.0 +%endif + %changelog +* Tue Jan 18 2022 Peter Robinson - 1.4-2 +- Add compat bootstrap sub package + * Mon Nov 08 2021 Peter Robinson - 1.4-1 - Update to 1.4 diff --git a/sources b/sources index a03a3da..9c14713 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ +SHA512 (ima-evm-utils-1.3.2.tar.gz) = af96935f953fbec8cdd40ba1a24001fae916633df03f9dee1e96775baec0ffea21a7a13798b3e3c3f375fd493a65fe65b5357887890b46cac0c4dcca5a5b79db SHA512 (ima-evm-utils-1.4.tar.gz) = 2fdf41470d88608162a084c4877ba17d531941b744bcb44dd4913e48ab2c2d131e0af3e3ead74c18748a5d46aced51213ebd7c13a5ee19050c28d54a26c011a3