Compare commits

...
Sign in to create a new pull request.

73 commits

Author SHA1 Message Date
Dodji Seketeli
efd849c3ec Upload the libabigail 2.9 upstream tarball
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2025-11-11 17:47:53 +01:00
Dodji Seketeli
7be38de247 Update to 2.9 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2025-11-06 12:29:26 +01:00
Fedora Release Engineering
c0702778ab Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 19:19:55 +00:00
Dodji Seketeli
8fd7f028b6 Upload libabigail 2.8 tarballs
* .gitignore: Update:
	* sources: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2025-07-04 14:33:18 +02:00
Dodji Seketeli
488f7b6cd3 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 <dodji@redhat.com>
2025-07-04 12:48:28 +02:00
Michal Kolar
8a77f08775 update tests/libabigail-testsuite testcase 2025-04-26 16:30:55 +00:00
Dodji Seketeli
0bc8b64b63 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 <dodji@redhat.com>
2025-04-11 16:44:12 +02:00
Yaakov Selkowitz
62b6c5e9f1 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 2872de25f3
("Add /usr/bin/fedabipkgdiff to EPEL 8").
2025-02-04 15:54:51 -05:00
Fedora Release Engineering
37aac684f4 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 10:33:27 +00:00
Mark Wielaard
bcf7cdfd9f 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.
2025-01-09 18:53:11 +01:00
Sérgio M. Basto
2872de25f3 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
2024-11-08 15:53:43 +00:00
Michal Kolar
a83268b450 tests/libabigail-testsuite: adapt to new build behavior 2024-11-08 14:42:40 +00:00
Dodji Seketeli
3125162583 Update for libabigail SONAME bump to 5.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-11-01 19:31:17 +01:00
Dodji Seketeli
26dab88199 Upload upstream 2.6 tarball.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-11-01 18:54:04 +01:00
Dodji Seketeli
2ff19e237f Update to upstream 2.6 tarball
- Update to upstream 2.6 tarball
- Add xxhash-devel as BuildRequires

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-11-01 18:36:15 +01:00
Yaakov Selkowitz
cdfcab16b2 Add runtime dependencies of abidb
Also, disable abidb on RHEL, as the dependencies are not available.
2024-07-26 00:45:46 -04:00
Fedora Release Engineering
ad139c75a2 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 13:17:38 +00:00
Adam Williamson
c15cece97e Rebuild with the updated CI metadata
It seems we need to do this - re-running the tests on the 2.5-1
update doesn't use the fixed metadata.
2024-05-16 10:50:02 -07:00
Adam Williamson
5ae6e24aba CI: drop 'directory' from discover config
This isn't valid, according to current upstream docs, and seems
to produce a warning:

warn: /plans/ci:discover - {'how': 'fmf', 'directory': 'tests'} is not valid under any of the given schemas

it looks like we just want 'how': 'fmf', and it finds the files
on its own.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-16 10:47:50 -07:00
Adam Williamson
fcd2996f3e CI: remove SPECPARTS directory to fix finding build dir
cd $TmpDir/BUILD/libabigail-* is failing currently:
/usr/share/beakerlib/testing.sh: line 896: cd: too many arguments
this is likely because of the SPECPARTS directory which now shows
up alongside the build directory. Let's try removing that before
we cd.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-16 08:27:03 -07:00
Adam Williamson
c97a4d952b Change 'how' in plans/ci.fmf to try and fix CI tests
I think `how: beakerlib` is no longer allowed, see e.g.
https://artifacts.dev.testing-farm.io/ac6e6d82-985b-478a-adfc-bb402bf0b46e/pipeline.log
(from https://osci-jenkins-1.ci.fedoraproject.org/job/fedora-ci/job/dist-git-pipeline/job/master/376078/ ,
from https://bodhi.fedoraproject.org/updates/FEDORA-2024-6da0169ae7 )
which says
"Unsupported execute method 'beakerlib' in the '/plans/ci' plan."
I think it should now be `how: tmt`.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-14 08:59:35 -07:00
Dodji Seketeli
6ae625870d Update to upstream 2.5 tarball
- 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

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-04-18 15:23:48 +02:00
Maxwell G
439184ecb6 Remove python3-mock dependency
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-01-26 12:56:43 +01:00
Fedora Release Engineering
c22cdc0bc3 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 01:30:26 +00:00
Fedora Release Engineering
e261e21361 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 03:33:00 +00:00
Dodji Seketeli
0e62475e2f Fix SPDX Licensing string
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-11-20 18:52:17 +01:00
Dodji Seketeli
5194b7e153 Fix sourceware.org/PR31017
- Fix sourceware.org/PR31017
  "Support Flex array conversion suppression"
  Apply patch 0002-suppression-Add-has_strict_flexible_array_data_membe.patch

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-11-15 10:37:52 +01:00
Dodji Seketeli
5df78e3df8 Add git as a build requirement
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-11-14 16:40:25 +01:00
Dodji Seketeli
5a40b7c955 Updated sources
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-11-14 16:04:56 +01:00
Dodji Seketeli
f4f06b1339 Fix sourceware.org/PR31045
- 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.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-11-14 15:45:21 +01:00
Dodji Seketeli
539cc0746a Remove 0001-Fix-fedabipkgdiff-configure-check-for-Python-3.12.patch
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-10-20 23:31:31 +02:00
Dodji Seketeli
5915efec7c Update to upstream 2.4 tarball.
- 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

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-10-20 23:27:57 +02:00
Dodji Seketeli
40dceba6c4 Update source files
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2023-10-12 14:44:57 +02:00
Dodji Seketeli
1f834ef2a6 Update sources
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2023-10-12 14:42:44 +02:00
Dodji Seketeli
d1cbeb3b8e Use SPDX format for license designation
Also, fix a compilation warning with (newer) GCC 13.x

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-10-12 14:09:51 +02:00
Fedora Release Engineering
06ecafff64 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 10:14:19 +00:00
Yaakov Selkowitz
5d939a3d52 Fix build with Python 3.12
Python 3.12 dropped the long-deprecated imp module, and no longer
ships pathfix.py.
2023-07-07 14:03:00 -04:00
Dodji Seketeli
0437cded0b Upload new 2.3 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2023-04-27 15:25:15 +02:00
Dodji Seketeli
665abc8164 Update to upstream 2.3 release
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2023-04-27 15:19:11 +02:00
Fedora Release Engineering
99814197d6 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 15:47:44 +00:00
Dodji Seketeli
7a7c6a712e Update to upstream 2.2 release
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2022-12-02 19:31:51 +01:00
Dodji Seketeli
0b15fbd508 Upload 2.1 tarball.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2022-09-25 08:46:37 +02:00
Dodji Seketeli
774cdb1e77 Add libabigail.so.1 and libabigail.so.1.0.0 to the package.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2022-09-21 11:40:46 +02:00
Dodji Seketeli
fa30a213a2 Add binutils-devel to BuildRequires for CTF support.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2022-09-21 10:39:14 +02:00
Dodji Seketeli
bedac137d4 Enable CTF support when running tests.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2022-09-21 10:16:59 +02:00
Dodji Seketeli
d14416abf0 Update to upstream 2.1
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2022-09-21 10:15:16 +02:00
Fedora Release Engineering
3d5edfbb91 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 17:16:23 +00:00
Fedora Release Engineering
3c0f019a08 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 15:43:26 +00:00
Michal Kolar
c7789d9fb3 init FMF CI gating 2021-10-05 15:29:28 +00:00
Dodji Seketeli
4e07dea30d Upload 2.0 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-10-04 15:22:33 +02:00
Dodji Seketeli
23648acbc4 Update to upstream 2.0 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-10-04 13:47:12 +02:00
Fedora Release Engineering
7bbadc7b73 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 10:55:24 +00:00
Dodji Seketeli
b21f17c339 Upload 1.8.2 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-02-25 18:37:16 +01:00
Dodji Seketeli
dc6fc26a0f Update to upstream 1.8.2 point release
Require dpkg and koji only on Fedora builds only, as well.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-02-25 18:35:18 +01:00
Dodji Seketeli
0ed37b92ea Uploaded new version of 1.8.1 tarball.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-01-27 17:46:52 +01:00
Dodji Seketeli
fb86bfa9bb Uploaded 1.8.1 tarball.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-01-27 15:19:49 +01:00
Dodji Seketeli
b2995b5b54 Update to upstream fixes up to libabigail-1.8.1
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2021-01-27 13:16:18 +01:00
Fedora Release Engineering
696b4da0a0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 16:37:39 +00:00
Tom Stellard
405dd16234 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-05 01:23:10 +00:00
Dodji Seketeli
1ddcb29d1b Uploaded 1.8 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2020-12-01 16:53:33 +01:00
Dodji Seketeli
244eeddff9 Update to upstream 1.8
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2020-12-01 15:41:28 +01:00
Fedora Release Engineering
f55d2af551 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 04:12:19 +00:00
Dodji Seketeli
faf082c2ef Upload libabigail 1.7 tarball
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2020-02-27 10:57:50 +01:00
Dodji Seketeli
e6445abd5d Update to upstream 1.7
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2020-02-26 13:52:39 +01:00
Sinny Kumari
0337269af0 Add koji as BuildRequires
koji.read_config() now throws error if config search
path is empty. See https://pagure.io/koji/pull-request/1787

Fixes: RHBZ#1799575

Thanks to Dodji for figuring out the root cause of build failure

Signed-off-by: Sinny Kumari <sinny@redhat.com>
2020-02-17 17:13:25 +00:00
Fedora Release Engineering
49dc6c5a2f - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 08:31:53 +00:00
Fedora Release Engineering
a6ceba9399 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 12:45:43 +00:00
Dodji Seketeli
421f9a7f8d Uploaded 1.6 tarball.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2019-03-29 10:58:47 +01:00
Dodji Seketeli
8d2fceb110 Update to upstream 1.6
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2019-03-28 09:48:04 +01:00
Mathieu Bridon
c41ee509c9 Split fedabipkgdiff to its own subpackage
This tool is very specific, and only useful to Fedora developers, not
all developers.

It also has lots of dependencies which aren't required by the other
tools.

Splitting it to its own specialized package makes the main package, with
its library and utilities, much lighter.
2019-03-13 10:38:53 +01:00
Mathieu Bridon
c371375e32 Better group dependencies
Many dependencies are only required for fedabipkgdiff, so let's put them
under the right conditional.
2019-03-13 10:38:53 +01:00
Mathieu Bridon
08b4ca2640 Remove some unnecessary dependencies 2019-03-13 10:38:53 +01:00
Tim Landscheidt
3693d52e63 Remove obsolete requirements for %post/%preun scriptlets 2019-03-07 22:17:13 +00:00
9 changed files with 407 additions and 56 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

18
.gitignore vendored
View file

@ -28,3 +28,21 @@
/libabigail-1.5.tar.gz
/Support-having-several-debuginfo-search-dirs-for-a-b.patch
/Add-a-fail-no-debug-info-to-abidiff.patch
/libabigail-1.6.tar.gz
/libabigail-1.7.tar.gz
/libabigail-1.8.tar.gz
/libabigail-1.8.1.tar.gz
/libabigail-1.8.2.tar.gz
/libabigail-2.0.tar.gz
/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
/libabigail-2.5.tar.xz
/libabigail-2.6.tar.xz
/libabigail-2.7.tar.xz
/libabigail-2.8.tar.xz
/libabigail-2.9.tar.xz

View file

@ -0,0 +1,26 @@
From 8602d3c36dad05ada68feedc80926afadff448a2 Mon Sep 17 00:00:00 2001
From: Maxwell G <maxwell@gtmx.me>
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

19
gating.yaml Normal file
View file

@ -0,0 +1,19 @@
--- !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}

View file

@ -1,53 +1,47 @@
%global tarball_revision 0
# dependencies are not available in RHEL
%bcond abidb %{undefined rhel}
%global tarball_revision 1
%global tarball_name %{name}-%{version}
Name: libabigail
Version: 1.5
Release: 3%{?dist}
Version: 2.9
Release: 1%{?dist}
Summary: Set of ABI analysis tools
License: LGPLv3+
License: Apache-2.0 WITH LLVM-exception
URL: https://sourceware.org/libabigail/
Source0: http://mirrors.kernel.org/sourceware/libabigail/%{tarball_name}.tar.gz
Patch0: Support-having-several-debuginfo-search-dirs-for-a-b.patch
Patch1: Add-a-fail-no-debug-info-to-abidiff.patch
Source0: http://mirrors.kernel.org/sourceware/libabigail/%{tarball_name}.tar.xz
BuildRequires: git
BuildRequires: libbpf-devel
BuildRequires: binutils-devel
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: elfutils-devel
BuildRequires: libxml2-devel
BuildRequires: xxhash-devel
BuildRequires: xz-devel >= 5.2.0
BuildRequires: doxygen
BuildRequires: python3-sphinx
BuildRequires: texinfo
BuildRequires: dos2unix
%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: python3-devel
BuildRequires: python3-rpm
BuildRequires: python3-mock
%if 0%{?fedora}
BuildRequires: koji
BuildRequires: python3-koji
%endif
BuildRequires: python3-unittest2
BuildRequires: python3-pyxdg
BuildRequires: wget
#For x-rpm mimetype definition!
BuildRequires: mailcap
Requires: python3-pyxdg
Requires: python3-rpm
Requires: koji
%if 0%{?fedora}
Requires: python3-koji
%endif
Requires: python3 >= 3.6
Requires: wget
#For x-rpm mimetype definition!
Requires: mailcap
%description
The libabigail package comprises seven command line utilities:
abidiff, kmidiff, abipkgdiff, abicompat, abidw, abilint and
fedabipkgdiff. The abidiff command line tool compares the ABI of two
abidiff, kmidiff, abipkgdiff, abicompat, abidw, and abilint.
The abidiff command line tool compares the ABI of two
ELF shared libraries and emits meaningful textual reports about
changes impacting exported functions, variables and their types.
Simarly, the kmidiff compares the kernel module interface of two Linux
@ -56,9 +50,7 @@ two packages. abicompat checks if a subsequent version of a shared
library is still compatible with an application that is linked against
it. abidw emits an XML representation of the ABI of a given ELF
shared library. abilint checks that a given XML representation of the
ABI of a shared library is correct. fedabipkgdiff 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.
ABI of a shared library is correct.
Install libabigail if you need to compare the ABI of ELF shared
libraries.
@ -76,21 +68,44 @@ application binary interfaces of shared libraries in the ELF format.
%package doc
Summary: Man pages, texinfo files and html manuals of libabigail
Requires(post): info
Requires(preun): info
%description doc
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
BuildRequires: python3-koji
BuildRequires: python3-rpm
BuildRequires: python3-pyxdg
#For x-rpm mimetype definition!
BuildRequires: mailcap
BuildRequires: make
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: curl
Requires: koji
Requires: python3 >= 3.6
Requires: python3-koji
Requires: python3-pyxdg
Requires: python3-rpm
#For x-rpm mimetype definition!
Requires: mailcap
%description fedora
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
%setup -n %{tarball_name}
%patch0 -p1
%patch1 -p1
%autosetup -v -S git
%build
%configure --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
@ -108,19 +123,14 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
# Install man and texinfo files as they are not installed by the
# default 'install' target of the makefile.
make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot}
dos2unix doc/manuals/html/_static/jquery.js
%if 0%{?fedora}
%if 0%{?fedora} || 0%{?epel}
# Explicitly use Python 3 as the interpreter
pathfix.py -i %{__python3} -pn %{buildroot}%{_bindir}/fedabipkgdiff
%py3_shebang_fix %{buildroot}%{_bindir}/fedabipkgdiff
%endif
%check
time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2)
if test $? -ne 0; then
cat tests/tests-suite.log
fi
time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log && exit 2)
%ldconfig_scriptlets
@ -130,15 +140,15 @@ fi
%{_bindir}/abidw
%{_bindir}/abilint
%{_bindir}/abipkgdiff
%if 0%{?fedora}
%{_bindir}/fedabipkgdiff
%endif
%{_bindir}/kmidiff
%{_libdir}/libabigail.so.0
%{_libdir}/libabigail.so.0.0.0
%if %{with abidb}
%{_bindir}/abidb
%endif
%{_libdir}/libabigail.so.8
%{_libdir}/libabigail.so.8.0.0
%{_libdir}/libabigail/default.abignore
%doc README AUTHORS ChangeLog
%license COPYING COPYING-LGPLV3 COPYING-GPLV3
%license LICENSE.txt license-change-2020.txt
%{_mandir}/man1/*
%{_mandir}/man7/*
%{_infodir}/abigail.info*
@ -150,10 +160,212 @@ fi
%{_datadir}/aclocal/abigail.m4
%files doc
%license COPYING COPYING-LGPLV3 COPYING-GPLV3
%license LICENSE.txt license-change-2020.txt
%doc doc/manuals/html/*
%if 0%{?fedora} || 0%{?epel}
%files fedora
%{_bindir}/fedabipkgdiff
%endif
%changelog
* Thu Nov 06 2025 Dodji Seketeli <dodji@redhat.com> - 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 <releng@fedoraproject.org> - 2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 04 2025 Dodji Seketeli <dodji@redhat.com> - 2.8-1
- Update to usptream 2.8 tarball
- Support new libabigail.so.7.0.0 SONAME
* Fri Apr 11 2025 Dodji Seketeli <dodji@redhat.com> - 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 <yselkowi@redhat.com> - 2.6-3
- Limit fedabipkgdiff to Fedora and EPEL
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Nov 1 2024 Dodji Seketeli <dodji@redhat.com> - 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 <yselkowi@redhat.com> - 2.5-4
- Add runtime dependencies of abidb
- Disable abidb on RHEL
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu May 16 2024 Adam Williamson <awilliam@redhat.com> - 2.5-2
- Rebuild with fixed CI metadata
* Thu Apr 18 2024 Dodji Seketeli <dodji@redhat.com> - 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
- Better handle error handling when tests fails.
* Fri Jan 26 2024 Maxwell G <maxwell@gtmx.me> - 2.4-7
- Remove python3-mock dependency
- Apply patch 0003-Replace-deprecated-mock-with-unittest.mock.patch
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Nov 20 2023 Dodji Seketeli <dodji@redhat.com> - 2.4-4
- Fix SPDX licensing string
* Wed Nov 15 2023 Dodji Seketeli <dodji@redhat.com> - 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 <dodji@redhat.com> - 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
* Fri Oct 20 2023 Dodji Seketeli <dodji@redhat.com> - 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 <dodji@redhat.com> - 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 <releng@fedoraproject.org> - 2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Apr 27 2023 Dodji Seketeli <dodji@redhat.com> - 2.3-1
- Update to upstream 2.3 release
- Don't do "dos2unix doc/manuals/html/_static/jquery.js"
The file doc/manuals/html/_static/jquery.js is no more.
Hence, don't BuildRequires: dos2unix anymore.
- The libaigail binary is now libabigail.so.2.0.0.
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Dec 2 2022 Dodji Seketeli <dodji@redhat.com> - 2.2-1
- Update to upstream 2.2 release.
- Switch to a tar.xz tarball.
* Wed Sep 21 2022 Dodji Seketeli <dodji@redhat.com> - 2.1-1
- Update to upstream 2.1
- Add libabigail.so.1 and libabigail.so.1.0.0 to the package.
- Enable CTF support when running the tests.
- Add binutils-devel as BuildRequires, for CTF.
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Oct 4 2021 Dodji Seketeli <dodji@redhat.com> - 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 <releng@fedoraproject.org> - 1.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Feb 25 2021 Dodji Seketeli <dodji@redhat.com> - 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 <dodji@seketeli.org> - 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:
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
Bug 27204 - potential loss of some aliased ELF function symbols
Ignore duplicated functions and those not associated with ELF symbols
Bug 27236 - Pointer comparison wrongly fails because of typedef change
Bug 27233 - fedabipkgdiff fails on package gnupg2 from Fedora 33
Bug 27232 - fedabipkgdiff fails on gawk from Fedora 33
dwarf-reader: Support fast DW_FORM_line_strp string comparison
gen-changelog.py: Update call to subprocess.Popen & cleanup
Bug 27255 - fedabipkgdiff fails on nfs-utils on Fedora 33
abidiff: support --dump-diff-tree with --leaf-changes-only
ir: Arrays are indirect types for type structure similarity purposes
Add qualifier / typedef / array / pointer test
abg-ir: Optimize calls to std::string::find() for a single char.
abipkgdiff: Address operator precedence warning
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 1 2020 Dodji Seketeli <dodji@redhat.com> - 1.8-1
- Update to upstream 1.8
- Add 'make check-self-compare' to the regression tests run.
- BuildRequires python3-koji
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Feb 25 2020 Dodji Seketeli <dodji@redhat.com> - 1.7-1
- Update to upstream 1.7
* Mon Feb 17 2020 Sinny Kumari <skumari@fedoraproject.org> - 1.6-4
- Add koji as BuildRequires
- Fixes: RHBZ#1799575
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Mar 27 2019 Dodji Seketeli <dodji@redhat.com> - 1.6-1
- Update to upstream 1.6
- Removed patches that are now upstream
Support-having-several-debuginfo-search-dirs-for-a-b.patch
Add-a-fail-no-debug-info-to-abidiff.patch
* Wed Mar 13 2019 Mathieu Bridon <bochecha@daitauha.fr> - 1.5-4
- Remove unnecessary dependencies: python3-unittest2 and wget which
was referred to twice.
- Better group dependencies: Many dependencies are only required for
fedabipkgdiff, so let's put them under the right conditional.
- Split fedabipkgdiff to its own subpackage
This tool is very specific, and only useful to Fedora developers,
not all developers. It also has lots of dependencies which aren't
required by the other tools. Splitting it to its own specialized
package makes the main package, with its library and utilities,
much lighter.
* Thu Mar 7 2019 Tim Landscheidt <tim@tim-landscheidt.de> - 1.5-4
- Remove obsolete requirements for %%post/%%preun scriptlets
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

5
plans/ci.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
execute:
how: tmt

View file

@ -1,3 +1 @@
SHA512 (libabigail-1.5.tar.gz) = 6935912ac58503b588a0e7471d3d1c362b9324973d61db021cfb84221368f480448c1b47e74d5cbec3f3d38faee0da4ceaff44cb00d10a04aeeaeb9770233da5
SHA512 (Support-having-several-debuginfo-search-dirs-for-a-b.patch) = abbb2313d27933a5d9cd658993bf0cb91659b3482fd09154a7788af66a66aa1fed8e3439db7e5736dd85fd908004b6aeb4c3834e3189de9df41b86a6eb4131c1
SHA512 (Add-a-fail-no-debug-info-to-abidiff.patch) = 896530a7a6851023527c7a09935440e2fdbea4bcd58ad86853acebfda1b1782adbb8599eee5a994fca9a00866eb51182c16391dde7cc28adcff19994bfbefc57
SHA512 (libabigail-2.9.tar.xz) = 5bdf5ec49a5931a61bf28317b41eee583d6277d00ac621b2d2a97bbc0d816c3662bcfe13a5ac7aeee11c947afb69a5a0a9a8015fcebad09965b45af9b1e23606

View file

@ -0,0 +1,13 @@
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

View file

@ -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