From cdfcab16b2937c383dde54a7fcc949df90a7e388 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 26 Jul 2024 00:45:42 -0400 Subject: [PATCH 01/25] Add runtime dependencies of abidb Also, disable abidb on RHEL, as the dependencies are not available. --- libabigail.spec | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index 5d060bc..3876088 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -1,9 +1,12 @@ +# dependencies are not available in RHEL +%bcond abidb %{undefined rhel} + %global tarball_revision 1 %global tarball_name %{name}-%{version} Name: libabigail Version: 2.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -20,8 +23,12 @@ BuildRequires: libxml2-devel BuildRequires: doxygen BuildRequires: python3-sphinx BuildRequires: texinfo +%if %{with abidb} BuildRequires: python3-GitPython BuildRequires: python3-libarchive-c +Requires: python3-GitPython +Requires: python3-libarchive-c +%endif %if 0%{?fedora} BuildRequires: dpkg BuildRequires: koji @@ -96,7 +103,7 @@ them manually. %autosetup -v -S git %build -%configure --enable-abidb --enable-ctf --enable-btf --disable-silent-rules --disable-zip-archive --disable-static +%configure %{?with_abidb:--enable-abidb} --enable-ctf --enable-btf --disable-silent-rules --disable-zip-archive --disable-static make %{?_smp_mflags} pushd doc make html-doc @@ -133,7 +140,9 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %{_bindir}/abilint %{_bindir}/abipkgdiff %{_bindir}/kmidiff +%if %{with abidb} %{_bindir}/abidb +%endif %{_libdir}/libabigail.so.4 %{_libdir}/libabigail.so.4.0.0 %{_libdir}/libabigail/default.abignore @@ -159,6 +168,10 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Jul 26 2024 Yaakov Selkowitz - 2.5-4 +- Add runtime dependencies of abidb +- Disable abidb on RHEL + * Thu Jul 18 2024 Fedora Release Engineering - 2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 2ff19e237fbfe21bd6e95db7c3f76012d7d0e543 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 1 Nov 2024 18:36:15 +0100 Subject: [PATCH 02/25] Update to upstream 2.6 tarball - Update to upstream 2.6 tarball - Add xxhash-devel as BuildRequires Signed-off-by: Dodji Seketeli --- libabigail.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index 3876088..3265fa1 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -5,8 +5,8 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.5 -Release: 4%{?dist} +Version: 2.6 +Release: 1%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -20,6 +20,7 @@ BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: elfutils-devel BuildRequires: libxml2-devel +BuildRequires: xxhash-devel BuildRequires: doxygen BuildRequires: python3-sphinx BuildRequires: texinfo @@ -168,6 +169,10 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Nov 1 2024 Dodji Seketeli - 2.6-1 +- Update to upstream 2.6 tarball +- Add xxhash-devel as BuildRequires + * Fri Jul 26 2024 Yaakov Selkowitz - 2.5-4 - Add runtime dependencies of abidb - Disable abidb on RHEL From 6043d3111814552920bf19330a6c8f5a3e5f6f04 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 1 Nov 2024 18:37:57 +0100 Subject: [PATCH 03/25] Update to upstream 2.6 tarball - Update to upstream 2.6 tarball - Add xxhash-devel as BuildRequire Signed-off-by: Dodji Seketeli --- libabigail.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index 5d060bc..a0b69de 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -2,8 +2,8 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.5 -Release: 3%{?dist} +Version: 2.6 +Release: 1%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -17,6 +17,7 @@ BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: elfutils-devel BuildRequires: libxml2-devel +BuildRequires: xxhash-devel BuildRequires: doxygen BuildRequires: python3-sphinx BuildRequires: texinfo @@ -159,6 +160,10 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Nov 1 2024 Dodji Seketeli - 2.6-1 +- Update to upstream 2.6 tarball +- Add xxhash-devel as BuildRequire + * Thu Jul 18 2024 Fedora Release Engineering - 2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 26dab8819933a96d677401d132aa04da13b4f3b6 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 1 Nov 2024 18:54:04 +0100 Subject: [PATCH 04/25] Upload upstream 2.6 tarball. Signed-off-by: Dodji Seketeli --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0935c8c..f4adf89 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /0001-Bug-31045-Don-t-try-setting-translation-unit-for-uni.patch /0002-suppression-Add-has_strict_flexible_array_data_membe.patch /libabigail-2.5.tar.xz +/libabigail-2.6.tar.xz diff --git a/sources b/sources index d84e053..3146d43 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.5.tar.xz) = 4084ebdd723a8ce1632f70943e29d71328bb695b1b0012ebd3d6ec7edccde872b54e76dfb1bc1c261805919c5e636198cd5bf23baf113474a082db21f2cfdd0d +SHA512 (libabigail-2.6.tar.xz) = 77983586c9fa99ab5593e41e33ddfc175aef7a2ddfabb7eac79a9adfd776e7dbbb317f6d4c26044c420f2eac1f9d25e0c04887a54bb3136cc91e61219a1343e4 From f88e972eeb89af6a9f1b7ec44fe4653a907e4ecf Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 1 Nov 2024 18:55:29 +0100 Subject: [PATCH 05/25] Upload 2.6 upstream tarball Signed-off-by: Dodji Seketeli --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0935c8c..f4adf89 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /0001-Bug-31045-Don-t-try-setting-translation-unit-for-uni.patch /0002-suppression-Add-has_strict_flexible_array_data_membe.patch /libabigail-2.5.tar.xz +/libabigail-2.6.tar.xz diff --git a/sources b/sources index d84e053..3146d43 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.5.tar.xz) = 4084ebdd723a8ce1632f70943e29d71328bb695b1b0012ebd3d6ec7edccde872b54e76dfb1bc1c261805919c5e636198cd5bf23baf113474a082db21f2cfdd0d +SHA512 (libabigail-2.6.tar.xz) = 77983586c9fa99ab5593e41e33ddfc175aef7a2ddfabb7eac79a9adfd776e7dbbb317f6d4c26044c420f2eac1f9d25e0c04887a54bb3136cc91e61219a1343e4 From 31251625838e3875fe97ab614bb2746d6a090a05 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 1 Nov 2024 19:31:17 +0100 Subject: [PATCH 06/25] Update for libabigail SONAME bump to 5. Signed-off-by: Dodji Seketeli --- libabigail.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index 3265fa1..e72b887 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -144,8 +144,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %if %{with abidb} %{_bindir}/abidb %endif -%{_libdir}/libabigail.so.4 -%{_libdir}/libabigail.so.4.0.0 +%{_libdir}/libabigail.so.5 +%{_libdir}/libabigail.so.5.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -172,6 +172,7 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ * Fri Nov 1 2024 Dodji Seketeli - 2.6-1 - Update to upstream 2.6 tarball - Add xxhash-devel as BuildRequires +- Update library to libabigail.so.5.0.0 * Fri Jul 26 2024 Yaakov Selkowitz - 2.5-4 - Add runtime dependencies of abidb From a144d70ba203077cdca1abd9161b04cdde9f405f Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 1 Nov 2024 19:32:33 +0100 Subject: [PATCH 07/25] Update for libabigail SONAME bump to 5 Signed-off-by: Dodji Seketeli --- libabigail.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index a0b69de..a34f3e9 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -135,8 +135,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %{_bindir}/abipkgdiff %{_bindir}/kmidiff %{_bindir}/abidb -%{_libdir}/libabigail.so.4 -%{_libdir}/libabigail.so.4.0.0 +%{_libdir}/libabigail.so.5 +%{_libdir}/libabigail.so.5.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -163,6 +163,7 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ * Fri Nov 1 2024 Dodji Seketeli - 2.6-1 - Update to upstream 2.6 tarball - Add xxhash-devel as BuildRequire +- Update library to libabigail.so.5.0.0 * Thu Jul 18 2024 Fedora Release Engineering - 2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From a83268b450353b39e97446d766779b3826be017c Mon Sep 17 00:00:00 2001 From: Michal Kolar Date: Fri, 8 Nov 2024 14:42:40 +0000 Subject: [PATCH 08/25] tests/libabigail-testsuite: adapt to new build behavior --- tests/libabigail-testsuite/runtest.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/libabigail-testsuite/runtest.sh b/tests/libabigail-testsuite/runtest.sh index f387b16..5b3a488 100755 --- a/tests/libabigail-testsuite/runtest.sh +++ b/tests/libabigail-testsuite/runtest.sh @@ -55,8 +55,8 @@ rlJournalStart rlRun "yum-builddep -y $TmpDir/SPECS/*.spec" rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bc $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER" rlRun "rlFileSubmit $TmpDir/rpmbuild.log" - rlRun "rm -rf $TmpDir/BUILD/libabigail-*-SPECPARTS" - rlRun "cd $TmpDir/BUILD/libabigail-*" + rlRun "build_dir=`find $TmpDir -type f -name README | awk '{ print length, \$0 }' | sort -n -s | head -n 1 | cut -d ' ' -f 2- | sed 's|/README||'`" + rlRun "cd $build_dir" rlPhaseEnd rlPhaseStartTest "run testsuite" From 2872de25f324a2e854e9fb63b7811f2f43349e90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Fri, 10 Jul 2020 15:58:07 +0000 Subject: [PATCH 09/25] Add /usr/bin/fedabipkgdiff to EPEL 8 fedpkg also can be used in RHEL to work on EPEL packages We can remove conditional of fedora or add `|| 0%{?rhel} > 7`, I opted for the first option --- libabigail.spec | 6 ------ 1 file changed, 6 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index e72b887..d11e29b 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -73,7 +73,6 @@ This package contains documentation for the libabigail tools in the form of man pages, texinfo documentation and API documentation in html format. -%if 0%{?fedora} %package fedora Summary: Utility to compare the ABI of Fedora packages BuildRequires: python3-devel @@ -98,7 +97,6 @@ This package contains the fedabipkgdiff command line utility, which interacts with the Fedora Build System over the internet to let the user compare the ABI of Fedora packages without having to download them manually. -%endif %prep %autosetup -v -S git @@ -123,10 +121,8 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' # default 'install' target of the makefile. make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot} -%if 0%{?fedora} # Explicitly use Python 3 as the interpreter %py3_shebang_fix %{buildroot}%{_bindir}/fedabipkgdiff -%endif %check time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2) @@ -163,10 +159,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %license LICENSE.txt license-change-2020.txt %doc doc/manuals/html/* -%if 0%{?fedora} %files fedora %{_bindir}/fedabipkgdiff -%endif %changelog * Fri Nov 1 2024 Dodji Seketeli - 2.6-1 From bcf7cdfd9f8d16177d2ca99b222a075b15230616 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 9 Jan 2025 18:53:11 +0100 Subject: [PATCH 10/25] BuildRequires xxhash-static libabigail builds with XXH_INLINE_ALL, so depend on (virtual) package xxhash-static This makes it easier to find all packages that depend on xxhash when they might need to be rebuild because of an xxhash upgrade. --- libabigail.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libabigail.spec b/libabigail.spec index d11e29b..5252b52 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -21,6 +21,8 @@ BuildRequires: libtool BuildRequires: elfutils-devel BuildRequires: libxml2-devel BuildRequires: xxhash-devel +# libabigail builds with XXH_INLINE_ALL, so depend on (virtual) xxhash-static +BuildRequires: xxhash-static BuildRequires: doxygen BuildRequires: python3-sphinx BuildRequires: texinfo From 37aac684f40c369a06dd27f8d33e5d8284c69897 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 10:33:27 +0000 Subject: [PATCH 11/25] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- libabigail.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libabigail.spec b/libabigail.spec index 5252b52..ed3dfbd 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -6,7 +6,7 @@ Name: libabigail Version: 2.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -165,6 +165,9 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %{_bindir}/fedabipkgdiff %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Fri Nov 1 2024 Dodji Seketeli - 2.6-1 - Update to upstream 2.6 tarball - Add xxhash-devel as BuildRequires From 62b6c5e9f144b846fa42efcc5af14bc6f3b1acb7 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 4 Feb 2025 15:45:51 -0500 Subject: [PATCH 12/25] Limit fedabipkgdiff to Fedora and EPEL libabigail is shipped in RHEL 9+ CRB, in which koji is not included. The enablement of fedabipkgdiff for EPEL 8 must therefore be limited to Fedora and EPEL builds, not RHEL. This reverts commit 2872de25f324a2e854e9fb63b7811f2f43349e90 ("Add /usr/bin/fedabipkgdiff to EPEL 8"). --- libabigail.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index ed3dfbd..3c03c6e 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -6,7 +6,7 @@ Name: libabigail Version: 2.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -32,7 +32,7 @@ BuildRequires: python3-libarchive-c Requires: python3-GitPython Requires: python3-libarchive-c %endif -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?epel} BuildRequires: dpkg BuildRequires: koji BuildRequires: python3-koji @@ -75,6 +75,7 @@ This package contains documentation for the libabigail tools in the form of man pages, texinfo documentation and API documentation in html format. +%if 0%{?fedora} || 0%{?epel} %package fedora Summary: Utility to compare the ABI of Fedora packages BuildRequires: python3-devel @@ -99,6 +100,7 @@ This package contains the fedabipkgdiff command line utility, which interacts with the Fedora Build System over the internet to let the user compare the ABI of Fedora packages without having to download them manually. +%endif %prep %autosetup -v -S git @@ -123,8 +125,10 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' # default 'install' target of the makefile. make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot} +%if 0%{?fedora} || 0%{?epel} # Explicitly use Python 3 as the interpreter %py3_shebang_fix %{buildroot}%{_bindir}/fedabipkgdiff +%endif %check time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2) @@ -161,10 +165,15 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %license LICENSE.txt license-change-2020.txt %doc doc/manuals/html/* +%if 0%{?fedora} || 0%{?epel} %files fedora %{_bindir}/fedabipkgdiff +%endif %changelog +* Tue Feb 04 2025 Yaakov Selkowitz - 2.6-3 +- Limit fedabipkgdiff to Fedora and EPEL + * Fri Jan 17 2025 Fedora Release Engineering - 2.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 0bc8b64b63b4dfe565480c985852f835f4277cb3 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 11 Apr 2025 16:44:12 +0200 Subject: [PATCH 13/25] Update to upstream 2.7 tarball - Do not build with by default XXH_INLINE_ALL anymore - Drop xxhash-static dependency - Add xz-devel >= 5.2.0 dependency to support reading xz-compressed binaries - Support new libabigail.so.6.0.0 SONAME Signed-off-by: Dodji Seketeli --- .gitignore | 1 + libabigail.spec | 18 ++++++++++++------ sources | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index f4adf89..9a443fc 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /0002-suppression-Add-has_strict_flexible_array_data_membe.patch /libabigail-2.5.tar.xz /libabigail-2.6.tar.xz +/libabigail-2.7.tar.xz diff --git a/libabigail.spec b/libabigail.spec index 3c03c6e..d3d7519 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -5,8 +5,8 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.6 -Release: 3%{?dist} +Version: 2.7 +Release: 1%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -21,8 +21,7 @@ BuildRequires: libtool BuildRequires: elfutils-devel BuildRequires: libxml2-devel BuildRequires: xxhash-devel -# libabigail builds with XXH_INLINE_ALL, so depend on (virtual) xxhash-static -BuildRequires: xxhash-static +BuildRequires: xz-devel >= 5.2.0 BuildRequires: doxygen BuildRequires: python3-sphinx BuildRequires: texinfo @@ -146,8 +145,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %if %{with abidb} %{_bindir}/abidb %endif -%{_libdir}/libabigail.so.5 -%{_libdir}/libabigail.so.5.0.0 +%{_libdir}/libabigail.so.6 +%{_libdir}/libabigail.so.6.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -171,6 +170,13 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Apr 11 2025 Dodji Seketeli - 2.7-1 +- Update to upstream 2.7 tarball +- Do not build with by default XXH_INLINE_ALL anymore +- Drop xxhash-static dependency +- Add xz-devel >= 5.2.0 dependency to support reading xz-compressed binaries +- Support new libabigail.so.6.0.0 SONAME + * Tue Feb 04 2025 Yaakov Selkowitz - 2.6-3 - Limit fedabipkgdiff to Fedora and EPEL diff --git a/sources b/sources index 3146d43..67f786a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.6.tar.xz) = 77983586c9fa99ab5593e41e33ddfc175aef7a2ddfabb7eac79a9adfd776e7dbbb317f6d4c26044c420f2eac1f9d25e0c04887a54bb3136cc91e61219a1343e4 +SHA512 (libabigail-2.7.tar.xz) = 6c31df739b94b83a5bac4b560eb1c16919495280ed3f5a37a84144e18a2362038337d3843948e3022b97ba73f7a41b32b33ca5f8b86a51ea57574dc3de98b9d5 From d06fea3f5118a1d3d04520a916cfa596d7072baa Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 11 Apr 2025 17:00:36 +0200 Subject: [PATCH 14/25] Update to upstream 2.7 tarball - Do not build with by default XXH_INLINE_ALL anymore - Drop xxhash-static dependency - Add xz-devel >= 5.2.0 dependency to support reading xz-compressed binaries - Support new libabigail.so.6.0.0 SONAME Signed-off-by: Dodji Seketeli --- .gitignore | 1 + libabigail.spec | 14 +++++++++++--- sources | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f4adf89..9a443fc 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /0002-suppression-Add-has_strict_flexible_array_data_membe.patch /libabigail-2.5.tar.xz /libabigail-2.6.tar.xz +/libabigail-2.7.tar.xz diff --git a/libabigail.spec b/libabigail.spec index a34f3e9..294075b 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -2,7 +2,7 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.6 +Version: 2.7 Release: 1%{?dist} Summary: Set of ABI analysis tools @@ -18,6 +18,7 @@ BuildRequires: libtool BuildRequires: elfutils-devel BuildRequires: libxml2-devel BuildRequires: xxhash-devel +BuildRequires: xz-devel >= 5.2.0 BuildRequires: doxygen BuildRequires: python3-sphinx BuildRequires: texinfo @@ -135,8 +136,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %{_bindir}/abipkgdiff %{_bindir}/kmidiff %{_bindir}/abidb -%{_libdir}/libabigail.so.5 -%{_libdir}/libabigail.so.5.0.0 +%{_libdir}/libabigail.so.6 +%{_libdir}/libabigail.so.6.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -160,6 +161,13 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Apr 11 2025 Dodji Seketeli - 2.7-1 +- Update to upstream 2.7 tarball +- Do not build with by default XXH_INLINE_ALL anymore +- Drop xxhash-static dependency +- Add xz-devel >= 5.2.0 dependency to support reading xz-compressed binaries +- Support new libabigail.so.6.0.0 SONAME + * Fri Nov 1 2024 Dodji Seketeli - 2.6-1 - Update to upstream 2.6 tarball - Add xxhash-devel as BuildRequire diff --git a/sources b/sources index 3146d43..67f786a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.6.tar.xz) = 77983586c9fa99ab5593e41e33ddfc175aef7a2ddfabb7eac79a9adfd776e7dbbb317f6d4c26044c420f2eac1f9d25e0c04887a54bb3136cc91e61219a1343e4 +SHA512 (libabigail-2.7.tar.xz) = 6c31df739b94b83a5bac4b560eb1c16919495280ed3f5a37a84144e18a2362038337d3843948e3022b97ba73f7a41b32b33ca5f8b86a51ea57574dc3de98b9d5 From 8a77f087752c6b3b7a71ab9978c68d7b15ee3487 Mon Sep 17 00:00:00 2001 From: Michal Kolar Date: Sat, 26 Apr 2025 16:30:55 +0000 Subject: [PATCH 15/25] update tests/libabigail-testsuite testcase --- tests/libabigail-testsuite/Makefile | 63 -------------------- tests/libabigail-testsuite/PURPOSE | 3 - tests/libabigail-testsuite/main.fmf | 10 ++-- tests/libabigail-testsuite/runtest.sh | 84 --------------------------- tests/libabigail-testsuite/test.sh | 59 +++++++++++++++++++ 5 files changed, 63 insertions(+), 156 deletions(-) delete mode 100644 tests/libabigail-testsuite/Makefile delete mode 100644 tests/libabigail-testsuite/PURPOSE delete mode 100755 tests/libabigail-testsuite/runtest.sh create mode 100755 tests/libabigail-testsuite/test.sh diff --git a/tests/libabigail-testsuite/Makefile b/tests/libabigail-testsuite/Makefile deleted file mode 100644 index 4d741d5..0000000 --- a/tests/libabigail-testsuite/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/libabigail/Sanity/libabigail-testsuite -# Description: libabigail testing by upstream testsuite -# Author: Michal Kolar -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/libabigail/Sanity/libabigail-testsuite -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Kolar " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: libabigail testing by upstream testsuite" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 1h" >> $(METADATA) - @echo "RunFor: libabigail" >> $(METADATA) - @echo "Requires: libabigail rpm-build yum-utils gcc-c++" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL6 -RHEL7" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/libabigail-testsuite/PURPOSE b/tests/libabigail-testsuite/PURPOSE deleted file mode 100644 index 52e213c..0000000 --- a/tests/libabigail-testsuite/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/libabigail/Sanity/libabigail-testsuite -Description: libabigail testing by upstream testsuite -Author: Michal Kolar diff --git a/tests/libabigail-testsuite/main.fmf b/tests/libabigail-testsuite/main.fmf index 23d68bb..a21b94e 100644 --- a/tests/libabigail-testsuite/main.fmf +++ b/tests/libabigail-testsuite/main.fmf @@ -1,15 +1,13 @@ summary: libabigail testing by upstream testsuite -description: '' -contact: Michal Kolar component: - libabigail -test: ./runtest.sh +test: ./test.sh +tier: 1 framework: beakerlib -recommend: +require+: - libabigail - rpm-build - yum-utils - gcc-c++ +- coreutils duration: 1h -extra-summary: /tools/libabigail/Sanity/libabigail-testsuite -extra-task: /tools/libabigail/Sanity/libabigail-testsuite diff --git a/tests/libabigail-testsuite/runtest.sh b/tests/libabigail-testsuite/runtest.sh deleted file mode 100755 index 5b3a488..0000000 --- a/tests/libabigail-testsuite/runtest.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/libabigail/Sanity/libabigail-testsuite -# Description: libabigail testing by upstream testsuite -# Author: Michal Kolar -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -BUILD_USER=${BUILD_USER:-lbbglbld} -TESTS_COUNT_MIN=${TESTS_COUNT_MIN:-10} -PACKAGE="libabigail" -REQUIRES="$PACKAGE rpm-build gcc-c++" -if rlIsFedora; then - REQUIRES="$REQUIRES dnf-utils" -else - REQUIRES="$REQUIRES yum-utils" -fi - -rlJournalStart - rlPhaseStartSetup - rlShowRunningKernel - rlAssertRpm --all - rlRun "TmpDir=`mktemp -d /home/libabigail.XXXXXXXXXX`" # work in /home due to high demands on disk space - rlRun "pushd $TmpDir" - rlFetchSrcForInstalled $PACKAGE - rlRun "useradd -m -N $BUILD_USER" 0,9 - [ "$?" == "0" ] && rlRun "del=yes" - rlRun "chown -R $BUILD_USER:users $TmpDir" - rlPhaseEnd - - rlPhaseStartSetup "build libabigail" - rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm" - rlRun "yum-builddep -y $TmpDir/SPECS/*.spec" - rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bc $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER" - rlRun "rlFileSubmit $TmpDir/rpmbuild.log" - rlRun "build_dir=`find $TmpDir -type f -name README | awk '{ print length, \$0 }' | sort -n -s | head -n 1 | cut -d ' ' -f 2- | sed 's|/README||'`" - rlRun "cd $build_dir" - rlPhaseEnd - - rlPhaseStartTest "run testsuite" - rlRun "su -c 'make -k check |& tee -a $TmpDir/testsuite.log' $BUILD_USER" - rlRun "cp tests/test-suite.log $TmpDir/make-check.log" - rlRun "rlFileSubmit $TmpDir/make-check.log" - rlRun "su -c 'make -k check-self-compare |& tee -a $TmpDir/testsuite.log' $BUILD_USER" - rlRun "cp tests/test-suite.log $TmpDir/make-check-self-compare.log" - rlRun "rlFileSubmit $TmpDir/make-check-self-compare.log" - rlPhaseEnd - - rlPhaseStartTest "evaluate results" - rlRun "cd $TmpDir" - rlRun "cat make-*.log | grep -E '^# FAIL:|^# XPASS:|^# ERROR:' | grep -vqE ':\s*0$'" 1 - rlRun "tests_count=\$(grep -E '^PASS:' $TmpDir/testsuite.log | wc -l)" - [ "$tests_count" -ge "$TESTS_COUNT_MIN" ] && rlLogInfo "Test counter: $tests_count" || rlFail "Test counter $tests_count should be greater than or equal to $TESTS_COUNT_MIN" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - [ "$del" == "yes" ] && rlRun "userdel -f -r $BUILD_USER" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/libabigail-testsuite/test.sh b/tests/libabigail-testsuite/test.sh new file mode 100755 index 0000000..c29f398 --- /dev/null +++ b/tests/libabigail-testsuite/test.sh @@ -0,0 +1,59 @@ +#!/bin/bash +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +BUILD_USER=${BUILD_USER:-lbbglbld} +TESTS_COUNT_MIN=${TESTS_COUNT_MIN:-10} +PACKAGE="libabigail" +REQUIRES="$PACKAGE rpm-build gcc-c++" +if rlIsFedora; then + REQUIRES="$REQUIRES dnf-utils" +else + REQUIRES="$REQUIRES yum-utils" +fi + +# variables needed for 'make check' +export RPM_PACKAGE_NAME=$(rpm -q --qf='%{NAME}\n' $PACKAGE) +export RPM_PACKAGE_VERSION=$(rpm -q --qf='%{VERSION}\n' $PACKAGE) +export RPM_PACKAGE_RELEASE=$(rpm -q --qf='%{RELEASE}\n' $PACKAGE) +export RPM_ARCH=$(rpm -q --qf='%{ARCH}\n' $PACKAGE) + +rlJournalStart + rlPhaseStartSetup + rlShowRunningKernel + rlAssertRpm --all + rlRun "TmpDir=\$(mktemp -d /home/libabigail.XXXXXXXXXX)" # work in /home due to high demands on disk space + rlRun "pushd $TmpDir" + rlFetchSrcForInstalled $PACKAGE + rlRun "useradd -N $BUILD_USER" 0,9 + [ "$?" == "0" ] && rlRun "del=yes" + rlRun "chown -R $BUILD_USER:users $TmpDir" + rlPhaseEnd + + rlPhaseStartSetup "build libabigail" + rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm" + rlRun "yum-builddep -y $TmpDir/SPECS/*.spec &>$TmpDir/yum-builddep.log" + rlRun "rlFileSubmit $TmpDir/yum-builddep.log yum-builddep.log" + rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bc $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER" + rlRun "rlFileSubmit $TmpDir/rpmbuild.log rpmbuild.log" + rlRun "cd $(dirname `find $TmpDir -name configure -type f`)" + rlPhaseEnd + + rlPhaseStartTest "run testsuite" + rlRun "su -c 'make check |& tee $TmpDir/testsuite.log' $BUILD_USER" + rlRun "rlFileSubmit tests/test-suite.log test-suite.log" + rlRun "rlFileSubmit $TmpDir/testsuite.log testsuite.log" + rlPhaseEnd + + rlPhaseStartTest "evaluate results" + rlRun "grep -E '^# FAIL:|^# XPASS:|^# ERROR:' $TmpDir/testsuite.log | grep -vqE ':\s*0$'" 1 + rlRun "tests_count=\$(grep -E '^PASS:' $TmpDir/testsuite.log | wc -l)" + [ "$tests_count" -ge "$TESTS_COUNT_MIN" ] && rlLogInfo "Test counter: $tests_count" || rlFail "Test counter $tests_count should be greater than or equal to $TESTS_COUNT_MIN" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" + [ "$del" == "yes" ] && rlRun "userdel -f -r $BUILD_USER" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd From e102a3794d09ffb77f82b06540e1d45090cfe9ca Mon Sep 17 00:00:00 2001 From: Michal Kolar Date: Sat, 26 Apr 2025 16:30:55 +0000 Subject: [PATCH 16/25] update tests/libabigail-testsuite testcase --- tests/libabigail-testsuite/Makefile | 63 -------------------- tests/libabigail-testsuite/PURPOSE | 3 - tests/libabigail-testsuite/main.fmf | 10 ++-- tests/libabigail-testsuite/runtest.sh | 84 --------------------------- tests/libabigail-testsuite/test.sh | 59 +++++++++++++++++++ 5 files changed, 63 insertions(+), 156 deletions(-) delete mode 100644 tests/libabigail-testsuite/Makefile delete mode 100644 tests/libabigail-testsuite/PURPOSE delete mode 100755 tests/libabigail-testsuite/runtest.sh create mode 100755 tests/libabigail-testsuite/test.sh diff --git a/tests/libabigail-testsuite/Makefile b/tests/libabigail-testsuite/Makefile deleted file mode 100644 index 4d741d5..0000000 --- a/tests/libabigail-testsuite/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/libabigail/Sanity/libabigail-testsuite -# Description: libabigail testing by upstream testsuite -# Author: Michal Kolar -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/libabigail/Sanity/libabigail-testsuite -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Kolar " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: libabigail testing by upstream testsuite" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 1h" >> $(METADATA) - @echo "RunFor: libabigail" >> $(METADATA) - @echo "Requires: libabigail rpm-build yum-utils gcc-c++" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL6 -RHEL7" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/libabigail-testsuite/PURPOSE b/tests/libabigail-testsuite/PURPOSE deleted file mode 100644 index 52e213c..0000000 --- a/tests/libabigail-testsuite/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/libabigail/Sanity/libabigail-testsuite -Description: libabigail testing by upstream testsuite -Author: Michal Kolar diff --git a/tests/libabigail-testsuite/main.fmf b/tests/libabigail-testsuite/main.fmf index 23d68bb..a21b94e 100644 --- a/tests/libabigail-testsuite/main.fmf +++ b/tests/libabigail-testsuite/main.fmf @@ -1,15 +1,13 @@ summary: libabigail testing by upstream testsuite -description: '' -contact: Michal Kolar component: - libabigail -test: ./runtest.sh +test: ./test.sh +tier: 1 framework: beakerlib -recommend: +require+: - libabigail - rpm-build - yum-utils - gcc-c++ +- coreutils duration: 1h -extra-summary: /tools/libabigail/Sanity/libabigail-testsuite -extra-task: /tools/libabigail/Sanity/libabigail-testsuite diff --git a/tests/libabigail-testsuite/runtest.sh b/tests/libabigail-testsuite/runtest.sh deleted file mode 100755 index f387b16..0000000 --- a/tests/libabigail-testsuite/runtest.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/libabigail/Sanity/libabigail-testsuite -# Description: libabigail testing by upstream testsuite -# Author: Michal Kolar -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -BUILD_USER=${BUILD_USER:-lbbglbld} -TESTS_COUNT_MIN=${TESTS_COUNT_MIN:-10} -PACKAGE="libabigail" -REQUIRES="$PACKAGE rpm-build gcc-c++" -if rlIsFedora; then - REQUIRES="$REQUIRES dnf-utils" -else - REQUIRES="$REQUIRES yum-utils" -fi - -rlJournalStart - rlPhaseStartSetup - rlShowRunningKernel - rlAssertRpm --all - rlRun "TmpDir=`mktemp -d /home/libabigail.XXXXXXXXXX`" # work in /home due to high demands on disk space - rlRun "pushd $TmpDir" - rlFetchSrcForInstalled $PACKAGE - rlRun "useradd -m -N $BUILD_USER" 0,9 - [ "$?" == "0" ] && rlRun "del=yes" - rlRun "chown -R $BUILD_USER:users $TmpDir" - rlPhaseEnd - - rlPhaseStartSetup "build libabigail" - rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm" - rlRun "yum-builddep -y $TmpDir/SPECS/*.spec" - rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bc $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER" - rlRun "rlFileSubmit $TmpDir/rpmbuild.log" - rlRun "rm -rf $TmpDir/BUILD/libabigail-*-SPECPARTS" - rlRun "cd $TmpDir/BUILD/libabigail-*" - rlPhaseEnd - - rlPhaseStartTest "run testsuite" - rlRun "su -c 'make -k check |& tee -a $TmpDir/testsuite.log' $BUILD_USER" - rlRun "cp tests/test-suite.log $TmpDir/make-check.log" - rlRun "rlFileSubmit $TmpDir/make-check.log" - rlRun "su -c 'make -k check-self-compare |& tee -a $TmpDir/testsuite.log' $BUILD_USER" - rlRun "cp tests/test-suite.log $TmpDir/make-check-self-compare.log" - rlRun "rlFileSubmit $TmpDir/make-check-self-compare.log" - rlPhaseEnd - - rlPhaseStartTest "evaluate results" - rlRun "cd $TmpDir" - rlRun "cat make-*.log | grep -E '^# FAIL:|^# XPASS:|^# ERROR:' | grep -vqE ':\s*0$'" 1 - rlRun "tests_count=\$(grep -E '^PASS:' $TmpDir/testsuite.log | wc -l)" - [ "$tests_count" -ge "$TESTS_COUNT_MIN" ] && rlLogInfo "Test counter: $tests_count" || rlFail "Test counter $tests_count should be greater than or equal to $TESTS_COUNT_MIN" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - [ "$del" == "yes" ] && rlRun "userdel -f -r $BUILD_USER" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/libabigail-testsuite/test.sh b/tests/libabigail-testsuite/test.sh new file mode 100755 index 0000000..c29f398 --- /dev/null +++ b/tests/libabigail-testsuite/test.sh @@ -0,0 +1,59 @@ +#!/bin/bash +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +BUILD_USER=${BUILD_USER:-lbbglbld} +TESTS_COUNT_MIN=${TESTS_COUNT_MIN:-10} +PACKAGE="libabigail" +REQUIRES="$PACKAGE rpm-build gcc-c++" +if rlIsFedora; then + REQUIRES="$REQUIRES dnf-utils" +else + REQUIRES="$REQUIRES yum-utils" +fi + +# variables needed for 'make check' +export RPM_PACKAGE_NAME=$(rpm -q --qf='%{NAME}\n' $PACKAGE) +export RPM_PACKAGE_VERSION=$(rpm -q --qf='%{VERSION}\n' $PACKAGE) +export RPM_PACKAGE_RELEASE=$(rpm -q --qf='%{RELEASE}\n' $PACKAGE) +export RPM_ARCH=$(rpm -q --qf='%{ARCH}\n' $PACKAGE) + +rlJournalStart + rlPhaseStartSetup + rlShowRunningKernel + rlAssertRpm --all + rlRun "TmpDir=\$(mktemp -d /home/libabigail.XXXXXXXXXX)" # work in /home due to high demands on disk space + rlRun "pushd $TmpDir" + rlFetchSrcForInstalled $PACKAGE + rlRun "useradd -N $BUILD_USER" 0,9 + [ "$?" == "0" ] && rlRun "del=yes" + rlRun "chown -R $BUILD_USER:users $TmpDir" + rlPhaseEnd + + rlPhaseStartSetup "build libabigail" + rlRun "rpm -D \"_topdir $TmpDir\" -U *.src.rpm" + rlRun "yum-builddep -y $TmpDir/SPECS/*.spec &>$TmpDir/yum-builddep.log" + rlRun "rlFileSubmit $TmpDir/yum-builddep.log yum-builddep.log" + rlRun "su -c 'rpmbuild -D \"_topdir $TmpDir\" -bc $TmpDir/SPECS/*.spec &>$TmpDir/rpmbuild.log' $BUILD_USER" + rlRun "rlFileSubmit $TmpDir/rpmbuild.log rpmbuild.log" + rlRun "cd $(dirname `find $TmpDir -name configure -type f`)" + rlPhaseEnd + + rlPhaseStartTest "run testsuite" + rlRun "su -c 'make check |& tee $TmpDir/testsuite.log' $BUILD_USER" + rlRun "rlFileSubmit tests/test-suite.log test-suite.log" + rlRun "rlFileSubmit $TmpDir/testsuite.log testsuite.log" + rlPhaseEnd + + rlPhaseStartTest "evaluate results" + rlRun "grep -E '^# FAIL:|^# XPASS:|^# ERROR:' $TmpDir/testsuite.log | grep -vqE ':\s*0$'" 1 + rlRun "tests_count=\$(grep -E '^PASS:' $TmpDir/testsuite.log | wc -l)" + [ "$tests_count" -ge "$TESTS_COUNT_MIN" ] && rlLogInfo "Test counter: $tests_count" || rlFail "Test counter $tests_count should be greater than or equal to $TESTS_COUNT_MIN" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" + [ "$del" == "yes" ] && rlRun "userdel -f -r $BUILD_USER" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd From 488f7b6cd3974a6298e915196392cb5b0a00e604 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 4 Jul 2025 12:48:28 +0200 Subject: [PATCH 17/25] Update to usptream 2.8 tarball - Update to usptream 2.8 tarball - Support new libabigail.so.7.0.0 SONAME Signed-off-by: Dodji Seketeli --- libabigail.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index d3d7519..887f3f0 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -5,7 +5,7 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.7 +Version: 2.8 Release: 1%{?dist} Summary: Set of ABI analysis tools @@ -145,8 +145,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %if %{with abidb} %{_bindir}/abidb %endif -%{_libdir}/libabigail.so.6 -%{_libdir}/libabigail.so.6.0.0 +%{_libdir}/libabigail.so.7 +%{_libdir}/libabigail.so.7.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -170,6 +170,10 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Jul 04 2025 Dodji Seketeli - 2.8-1 +- Update to usptream 2.8 tarball +- Support new libabigail.so.7.0.0 SONAME + * Fri Apr 11 2025 Dodji Seketeli - 2.7-1 - Update to upstream 2.7 tarball - Do not build with by default XXH_INLINE_ALL anymore From 8fd7f028b60dcc84f126863a6183c3c367ec1ab7 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 4 Jul 2025 14:33:18 +0200 Subject: [PATCH 18/25] Upload libabigail 2.8 tarballs * .gitignore: Update: * sources: Likewise. Signed-off-by: Dodji Seketeli --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9a443fc..8449ad5 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ /libabigail-2.5.tar.xz /libabigail-2.6.tar.xz /libabigail-2.7.tar.xz +/libabigail-2.8.tar.xz diff --git a/sources b/sources index 67f786a..88d59ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.7.tar.xz) = 6c31df739b94b83a5bac4b560eb1c16919495280ed3f5a37a84144e18a2362038337d3843948e3022b97ba73f7a41b32b33ca5f8b86a51ea57574dc3de98b9d5 +SHA512 (libabigail-2.8.tar.xz) = e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c From 3e50fc899e78fe33104a9197c15b29bd5c9ede55 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 4 Jul 2025 12:49:51 +0200 Subject: [PATCH 19/25] Update to usptream 2.8 tarball - Update to usptream 2.8 tarball - Support new libabigail.so.7.0.0 SONAME Signed-off-by: Dodji Seketeli --- libabigail.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index 294075b..12a5120 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -2,7 +2,7 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.7 +Version: 2.8 Release: 1%{?dist} Summary: Set of ABI analysis tools @@ -136,8 +136,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %{_bindir}/abipkgdiff %{_bindir}/kmidiff %{_bindir}/abidb -%{_libdir}/libabigail.so.6 -%{_libdir}/libabigail.so.6.0.0 +%{_libdir}/libabigail.so.7 +%{_libdir}/libabigail.so.7.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -161,6 +161,10 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Fri Jul 04 2025 Dodji Seketeli - 2.8-1 +- Update to usptream 2.8 tarball +- Support new libabigail.so.7.0.0 SONAME + * Fri Apr 11 2025 Dodji Seketeli - 2.7-1 - Update to upstream 2.7 tarball - Do not build with by default XXH_INLINE_ALL anymore From e11b8f660be203db4c869e231a66ad5818ee1029 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 4 Jul 2025 14:46:42 +0200 Subject: [PATCH 20/25] Update libabigail 2.8 tarball Signed-off-by: Dodji Seketeli --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9a443fc..8449ad5 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ /libabigail-2.5.tar.xz /libabigail-2.6.tar.xz /libabigail-2.7.tar.xz +/libabigail-2.8.tar.xz diff --git a/sources b/sources index 67f786a..88d59ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.7.tar.xz) = 6c31df739b94b83a5bac4b560eb1c16919495280ed3f5a37a84144e18a2362038337d3843948e3022b97ba73f7a41b32b33ca5f8b86a51ea57574dc3de98b9d5 +SHA512 (libabigail-2.8.tar.xz) = e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c From c0702778ab16f039f17bc588f95cfe5acce8e2f9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 19:19:55 +0000 Subject: [PATCH 21/25] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- libabigail.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libabigail.spec b/libabigail.spec index 887f3f0..dee83f9 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -6,7 +6,7 @@ Name: libabigail Version: 2.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -170,6 +170,9 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Fri Jul 04 2025 Dodji Seketeli - 2.8-1 - Update to usptream 2.8 tarball - Support new libabigail.so.7.0.0 SONAME From 7be38de24735b506af71b4ef4ef7023e963b8e4e Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Thu, 6 Nov 2025 12:29:26 +0100 Subject: [PATCH 22/25] Update to 2.9 tarball Signed-off-by: Dodji Seketeli --- libabigail.spec | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index dee83f9..19dded8 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -5,8 +5,8 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.8 -Release: 2%{?dist} +Version: 2.9 +Release: 1%{?dist} Summary: Set of ABI analysis tools License: Apache-2.0 WITH LLVM-exception @@ -130,8 +130,7 @@ make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot} %endif %check -time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2) -time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/test-suite.log && exit 2) +time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log && exit 2) %ldconfig_scriptlets @@ -145,8 +144,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %if %{with abidb} %{_bindir}/abidb %endif -%{_libdir}/libabigail.so.7 -%{_libdir}/libabigail.so.7.0.0 +%{_libdir}/libabigail.so.8 +%{_libdir}/libabigail.so.8.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -170,6 +169,11 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Thu Nov 06 2025 Dodji Seketeli - 2.9-1 +- Update to upstream 2.9 tarball +- Support new libabigail.so.8.0.0 SONAME +- Run 'make check check-self-compare' instead of two separate make invocations. + * Thu Jul 24 2025 Fedora Release Engineering - 2.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From c35ca13cdcda8883f90e8c19b1de7d84c2242b1f Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Thu, 6 Nov 2025 13:05:54 +0100 Subject: [PATCH 23/25] Update to upstream 2.9 tarball. Signed-off-by: Dodji Seketeli --- libabigail.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libabigail.spec b/libabigail.spec index 12a5120..5e72045 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -2,7 +2,7 @@ %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.8 +Version: 2.9 Release: 1%{?dist} Summary: Set of ABI analysis tools @@ -123,8 +123,7 @@ make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot} %endif %check -time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2) -time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/test-suite.log && exit 2) +time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log && exit 2) %ldconfig_scriptlets @@ -136,8 +135,8 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %{_bindir}/abipkgdiff %{_bindir}/kmidiff %{_bindir}/abidb -%{_libdir}/libabigail.so.7 -%{_libdir}/libabigail.so.7.0.0 +%{_libdir}/libabigail.so.8 +%{_libdir}/libabigail.so.8.0.0 %{_libdir}/libabigail/default.abignore %doc README AUTHORS ChangeLog %license LICENSE.txt license-change-2020.txt @@ -161,6 +160,11 @@ time make %{?_smp_mflags} check-self-compare ENABLE_SLOW_TEST=yes || (cat tests/ %endif %changelog +* Thu Nov 06 2025 Dodji Seketeli - 2.9-1 +- Update to upstream 2.9 tarball +- Support new libabigail.so.8.0.0 SONAME +- Run 'make check check-self-compare' instead of two separate make invocations. + * Fri Jul 04 2025 Dodji Seketeli - 2.8-1 - Update to usptream 2.8 tarball - Support new libabigail.so.7.0.0 SONAME From efd849c3ec1157ab6ee60d2af6958ebfda09a4e4 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Tue, 11 Nov 2025 17:47:53 +0100 Subject: [PATCH 24/25] Upload the libabigail 2.9 upstream tarball Signed-off-by: Dodji Seketeli --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8449ad5..bfec4c1 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /libabigail-2.6.tar.xz /libabigail-2.7.tar.xz /libabigail-2.8.tar.xz +/libabigail-2.9.tar.xz diff --git a/sources b/sources index 88d59ac..ee4135f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.8.tar.xz) = e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c +SHA512 (libabigail-2.9.tar.xz) = 5bdf5ec49a5931a61bf28317b41eee583d6277d00ac621b2d2a97bbc0d816c3662bcfe13a5ac7aeee11c947afb69a5a0a9a8015fcebad09965b45af9b1e23606 From 282f8582d1a4f1bf45fcdb740c47105aca53b189 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Tue, 11 Nov 2025 17:50:31 +0100 Subject: [PATCH 25/25] Upload 2.9 upstream tarball. Signed-off-by: Dodji Seketeli --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8449ad5..bfec4c1 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /libabigail-2.6.tar.xz /libabigail-2.7.tar.xz /libabigail-2.8.tar.xz +/libabigail-2.9.tar.xz diff --git a/sources b/sources index 88d59ac..ee4135f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.8.tar.xz) = e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c +SHA512 (libabigail-2.9.tar.xz) = 5bdf5ec49a5931a61bf28317b41eee583d6277d00ac621b2d2a97bbc0d816c3662bcfe13a5ac7aeee11c947afb69a5a0a9a8015fcebad09965b45af9b1e23606