diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index bfec4c1..013b34f 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,6 @@ /libabigail-2.1.tar.gz /libabigail-2.2.tar.xz /libabigail-2.3.tar.xz -/0001-ir-Remove-redundant-virtual-member-functions.patch /libabigail-2.4.tar.xz /0001-Bug-31045-Don-t-try-setting-translation-unit-for-uni.patch /0002-suppression-Add-has_strict_flexible_array_data_membe.patch @@ -45,4 +44,3 @@ /libabigail-2.6.tar.xz /libabigail-2.7.tar.xz /libabigail-2.8.tar.xz -/libabigail-2.9.tar.xz diff --git a/0003-Replace-deprecated-mock-with-unittest.mock.patch b/0003-Replace-deprecated-mock-with-unittest.mock.patch deleted file mode 100644 index f5d21d4..0000000 --- a/0003-Replace-deprecated-mock-with-unittest.mock.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8602d3c36dad05ada68feedc80926afadff448a2 Mon Sep 17 00:00:00 2001 -From: Maxwell G -Date: Sat, 13 Jan 2024 05:50:39 +0000 -Subject: [PATCH] Replace deprecated mock with unittest.mock - -Relates: https://fedoraproject.org/wiki/Changes/RemovePythonMockUsage ---- - tests/mockfedabipkgdiff.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/mockfedabipkgdiff.in b/tests/mockfedabipkgdiff.in -index 1e56266..863cf7f 100644 ---- a/tests/mockfedabipkgdiff.in -+++ b/tests/mockfedabipkgdiff.in -@@ -42,7 +42,7 @@ import tempfile - import six - - try: -- from mock import patch -+ from unittest.mock import patch - except ImportError: - import sys - six.print_('mock is required to run tests. Please install before running' --- -2.43.0 - diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index ce3cdc1..0000000 --- a/gating.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- !Policy -product_versions: - - fedora-* -decision_context: bodhi_update_push_stable -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} ---- !Policy -product_versions: - - rhel-9 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/libabigail.spec b/libabigail.spec index 19dded8..1e35355 100644 --- a/libabigail.spec +++ b/libabigail.spec @@ -1,11 +1,8 @@ -# dependencies are not available in RHEL -%bcond abidb %{undefined rhel} - -%global tarball_revision 1 +%global tarball_revision 0 %global tarball_name %{name}-%{version} Name: libabigail -Version: 2.9 +Version: 2.8 Release: 1%{?dist} Summary: Set of ABI analysis tools @@ -14,7 +11,6 @@ URL: https://sourceware.org/libabigail/ Source0: http://mirrors.kernel.org/sourceware/libabigail/%{tarball_name}.tar.xz BuildRequires: git -BuildRequires: libbpf-devel BuildRequires: binutils-devel BuildRequires: gcc-c++ BuildRequires: libtool @@ -25,18 +21,12 @@ BuildRequires: xz-devel >= 5.2.0 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} || 0%{?epel} BuildRequires: dpkg +BuildRequires: wget BuildRequires: koji BuildRequires: python3-koji -%endif -BuildRequires: wget +BuildRequires: python3-GitPython +BuildRequires: python3-libarchive-c %description The libabigail package comprises seven command line utilities: @@ -74,16 +64,14 @@ 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} +%if 0%{?fedora} %package fedora Summary: Utility to compare the ABI of Fedora packages BuildRequires: python3-devel BuildRequires: python3-koji -BuildRequires: python3-rpm -BuildRequires: python3-pyxdg +BuildRequires: python3-mock #For x-rpm mimetype definition! BuildRequires: mailcap -BuildRequires: make Requires: %{name}%{?_isa} = %{version}-%{release} Requires: curl Requires: koji @@ -102,10 +90,10 @@ them manually. %endif %prep -%autosetup -v -S git +%setup -n %{tarball_name} %build -%configure %{?with_abidb:--enable-abidb} --enable-ctf --enable-btf --disable-silent-rules --disable-zip-archive --disable-static +%configure --disable-abidb --enable-ctf --disable-silent-rules --disable-zip-archive --disable-static make %{?_smp_mflags} pushd doc make html-doc @@ -124,13 +112,18 @@ 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} +%if 0%{?fedora} # Explicitly use Python 3 as the interpreter -%py3_shebang_fix %{buildroot}%{_bindir}/fedabipkgdiff +pathfix.py -i %{__python3} -pn %{buildroot}%{_bindir}/fedabipkgdiff %endif %check -time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log && exit 2) +time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2) +time make %{?_smp_mflags} check-self-compare || (cat tests/test-suite.log && exit 2) + +if test $? -ne 0; then + cat tests/tests-suite.log +fi %ldconfig_scriptlets @@ -141,11 +134,8 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log %{_bindir}/abilint %{_bindir}/abipkgdiff %{_bindir}/kmidiff -%if %{with abidb} -%{_bindir}/abidb -%endif -%{_libdir}/libabigail.so.8 -%{_libdir}/libabigail.so.8.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 @@ -163,20 +153,12 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log %license LICENSE.txt license-change-2020.txt %doc doc/manuals/html/* -%if 0%{?fedora} || 0%{?epel} +%if 0%{?fedora} %files fedora %{_bindir}/fedabipkgdiff %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 - * Fri Jul 04 2025 Dodji Seketeli - 2.8-1 - Update to usptream 2.8 tarball - Support new libabigail.so.7.0.0 SONAME @@ -188,82 +170,43 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log - 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 - -* 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 - Update library to libabigail.so.5.0.0 -* 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 - -* Thu May 16 2024 Adam Williamson - 2.5-2 -- Rebuild with fixed CI metadata - -* Thu Apr 18 2024 Dodji Seketeli - 2.5-1 +* Wed Apr 17 2024 Dodji Seketeli - 2.5-1 - Update to upstream 2.5 tarball - Drop patches 0001-Bug-31045-Don-t-try-setting-translation-unit-for-uni.patch 0002-suppression-Add-has_strict_flexible_array_data_membe.patch 0003-Replace-deprecated-mock-with-unittest.mock.patch - Package libabigail.so.4 rather than the previous libabigail.so.3. -- Add abidb to the package - Added BuildRequires: python3-GitPython, python3-libarchive-c +- Disable abidb as it requires python 3.9 - Better handle error handling when tests fails. -* Fri Jan 26 2024 Maxwell G - 2.4-7 -- Remove python3-mock dependency -- Apply patch 0003-Replace-deprecated-mock-with-unittest.mock.patch - -* Thu Jan 25 2024 Fedora Release Engineering - 2.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 2.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Nov 20 2023 Dodji Seketeli - 2.4-4 +* Mon Nov 20 2023 Dodji Seketeli - 2.4-3 - Fix SPDX licensing string -* Wed Nov 15 2023 Dodji Seketeli - 2.4-3 -- Fix sourceware.org/PR31017 - "Support Flex array conversion suppression" - Apply patch 0002-suppression-Add-has_strict_flexible_array_data_membe.patch - -* Tue Nov 14 2023 Dodji Seketeli - 2.4-2 +* Wed Nov 15 2023 Dodji Seketeli - 2.4-2 - Fix sourceware.org/PR31045 "Don't try setting translation unit for unique types" Apply patch 0001-Bug-31045-Don-t-try-setting-translation-unit-for-uni.patch. - That patch is applied in upstream mainline and will be available in - libabigail 2.5. -- Use %%autosetup instead of the previous %%setup and %%patch macros. -- Add git as a build requirement +- Fix sourceware.org/PR31017 + "Support Flex array conversion suppression" + Apply patch 0002-suppression-Add-has_strict_flexible_array_data_membe.patch +- Use SPDX license description +- Add git as build requirement +- Use git to apply the patches as they apply binary changes and patch + doesn't know how to handle these. +- As the paches touch Makefile.am files, run autoreconf after + applying the patches. * Fri Oct 20 2023 Dodji Seketeli - 2.4-1 - Update to upstream 2.4 tarball -- Drop patches - 0001-Fix-fedabipkgdiff-configure-check-for-Python-3.12.patch and - 0001-Fix-fedabipkgdiff-configure-check-for-Python-3.12.patch -- Enable build with support for BTF -- Added BuildRequires: libbpf-devel - Support soname bumped to libabigail.so.3.0.0 -* Thu Oct 12 2023 Dodji Seketeli - 2.3-3 -- Use the SPDX format to express the license of the package -- Fix a compilation warning - -* Thu Jul 20 2023 Fedora Release Engineering - 2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - * Thu Apr 27 2023 Dodji Seketeli - 2.3-1 - Update to upstream 2.3 release - Don't do "dos2unix doc/manuals/html/_static/jquery.js" @@ -271,9 +214,6 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log Hence, don't BuildRequires: dos2unix anymore. - The libaigail binary is now libabigail.so.2.0.0. -* Thu Jan 19 2023 Fedora Release Engineering - 2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - * Fri Dec 2 2022 Dodji Seketeli - 2.2-1 - Update to upstream 2.2 release. - Switch to a tar.xz tarball. @@ -284,26 +224,16 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log - Enable CTF support when running the tests. - Add binutils-devel as BuildRequires, for CTF. -* Thu Jul 21 2022 Fedora Release Engineering - 2.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 2.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - * Mon Oct 4 2021 Dodji Seketeli - 2.0-1 - Update to upstream 2.0 tarball - Change License to ASL 2.0 to comply with the upstream license change. -* Thu Jul 22 2021 Fedora Release Engineering - 1.8.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - * Thu Feb 25 2021 Dodji Seketeli - 1.8.2-1 - Update to upstream 1.8.2 point release -- Require dpkg and koji only on Fedora builds only. -* Wed Jan 27 2021 Dodji Seketeli - 1.8.1-1 +* Wed Jan 27 2021 Dodji Seketeli - 1.8.1-1 - Update to upstream fixes up to libabigail-1.8.1 - This encompasses this fixes, compared to the last 1.8 release: + This encompasses this fixes, compared to the last 1.8 release: ir: Add better comments to types_have_similar_structure mainpage: Update web page for 1.8 release Bug 26992 - Try harder to resolve declaration-only classes @@ -321,26 +251,15 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log abg-ir: Optimize calls to std::string::find() for a single char. abipkgdiff: Address operator precedence warning -* Tue Jan 26 2021 Fedora Release Engineering - 1.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - * Tue Dec 1 2020 Dodji Seketeli - 1.8-1 - Update to upstream 1.8 -- Add 'make check-self-compare' to the regression tests run. -- BuildRequires python3-koji +- Add "make check-self-compare" to the regression tests +- Add BuildRequires python3-koji -* Tue Jul 28 2020 Fedora Release Engineering - 1.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Feb 25 2020 Dodji Seketeli - 1.7-1 +* Mon Mar 2 2020 Dodji Seketeli - 1.7-1 - Update to upstream 1.7 - -* Mon Feb 17 2020 Sinny Kumari - 1.6-4 -- Add koji as BuildRequires -- Fixes: RHBZ#1799575 - -* Wed Jan 29 2020 Fedora Release Engineering - 1.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + - Add Koji as BuildRequires + Fixes: RHBZ#1799575 * Thu Jul 25 2019 Fedora Release Engineering - 1.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index 3fd3ab7..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: CI Gating Plan -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index ee4135f..88d59ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libabigail-2.9.tar.xz) = 5bdf5ec49a5931a61bf28317b41eee583d6277d00ac621b2d2a97bbc0d816c3662bcfe13a5ac7aeee11c947afb69a5a0a9a8015fcebad09965b45af9b1e23606 +SHA512 (libabigail-2.8.tar.xz) = e919f12c914addb9c64d15d40c50e50ce1b08ac8f64f11adb9274cbdfc568b7e2eb99f669866b413a3e6c6246611b529be1f8d226cf58f7a5c6e2a7061d88e8c diff --git a/tests/libabigail-testsuite/main.fmf b/tests/libabigail-testsuite/main.fmf deleted file mode 100644 index a21b94e..0000000 --- a/tests/libabigail-testsuite/main.fmf +++ /dev/null @@ -1,13 +0,0 @@ -summary: libabigail testing by upstream testsuite -component: -- libabigail -test: ./test.sh -tier: 1 -framework: beakerlib -require+: -- libabigail -- rpm-build -- yum-utils -- gcc-c++ -- coreutils -duration: 1h diff --git a/tests/libabigail-testsuite/test.sh b/tests/libabigail-testsuite/test.sh deleted file mode 100755 index c29f398..0000000 --- a/tests/libabigail-testsuite/test.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/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