Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

12 changed files with 466 additions and 352 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

45
.gitignore vendored
View File

@ -1 +1,44 @@
SOURCES/libabigail-1.4.tar.gz
/libabigail-1.0.tar.gz
/libabigail-1.0-git-616d9af.tar.gz
/libabigail-1.0-git-088f077.tar.gz
/libabigail-1.0-git-43c06a8.tar.gz
/libabigail-0.1-git-43c06a8.tar.gz
/libabigail-1.0-git-ab1316b.tar.gz
/libabigail-1.0-git-f0d319a.tar.gz
/libabigail-1.0-git-a89b0d0.tar.gz
/libabigail-1.0-git-164d17e.tar.gz
/libabigail-1.0.rc0.tar.gz
/libabigail-1.0.rc1.tar.gz
/enum-value-wide-precision-on-32-bits-machine-patch.txt
/libabigail-1.0.rc2.tar.gz
/libabigail-1.0.rc3.tar.gz
/fix-test-diff-pkg-patch.txt
/libabigail-1.0.rc4.tar.gz
/0001-Bug-19961-Distinguish-between-PI-executable-and-shar.patch
/0002-Bug-19964-Cannot-load-function-aliases-on-ppc64.patch
/libabigail-1.0.rc5.tar.gz
/libabigail-1.0.rc6.tar.gz
/0001-A-suppressed-diff-node-implies-suppressing-all-equiv.patch
/0001-Bug-20927-Segfault-when-HOME-is-not-set.patch
/0001-Fix-aborting-when-reading-.foo-symbols-from-a-ppc64-.patch
/libabigail-1.1.tar.gz
/libabigail-1.2.tar.gz
/libabigail-1.3.tar.gz
/libabigail-1.4.tar.gz
/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

View File

@ -1 +0,0 @@
9754cb44e7a0370d8b5fd7d0f0bb0d86a3cbd1ac SOURCES/libabigail-1.4.tar.gz

View File

@ -1,304 +0,0 @@
--- configure 2018-07-16 15:40:30.788374759 +0200
+++ configure.new 2018-07-16 15:40:41.395415652 +0200
@@ -668,10 +668,10 @@
ENABLE_RUNNING_TESTS_WITH_PY3_TRUE
ENABLE_FEDABIPKGDIFF_FALSE
ENABLE_FEDABIPKGDIFF_TRUE
+WGET
PYTHON3_INTERPRETER
PYTHON_VERSION
PYTHON
-WGET
ENABLE_BASH_COMPLETION_FALSE
ENABLE_BASH_COMPLETION_TRUE
HAS_BASH_COMPLETION
@@ -16891,82 +16891,11 @@
fi
+# The minimal python 2 version we want to support is 2.6.6 because EL6
+# distributions have that version installed.
+MINIMAL_PYTHON2_VERSION="2.6.6"
-if test x$ENABLE_FEDABIPKGDIFF = xauto -o x$ENABLE_FEDABIPKGDIFF = xyes; then
- CHECK_DEPS_FOR_FEDABIPKGDIFF=yes
-else
- CHECK_DEPS_FOR_FEDABIPKGDIFF=no
-fi
-
-if test x$CHECK_DEPS_FOR_FEDABIPKGDIFF = xyes; then
- MISSING_FEDABIPKGDIFF_DEP=no
-
- if test x$ENABLE_FEDABIPKGDIFF = xyes; then
- MISSING_FEDABIPKGDIFF_DEP_FATAL=yes
- else
- MISSING_FEDABIPKGDIFF_DEP_FATAL=no
- fi
-
- # Extract the first word of "wget", so it can be a program name with args.
-set dummy wget; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WGET+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $WGET in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_WGET" && ac_cv_path_WGET="no"
- ;;
-esac
-fi
-WGET=$ac_cv_path_WGET
-if test -n "$WGET"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5
-$as_echo "$WGET" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
- if test x$WGET = xno; then
- ENABLE_FEDABIPKGDIFF=no
- if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then
- as_fn_error $? "could not find the wget program" "$LINENO" 5
- else
- MISSING_FEDABIPKGDIFF_DEP=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: could not find the wget program" >&5
-$as_echo "$as_me: could not find the wget program" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: disabling fedabipkgdiff as a result" >&5
-$as_echo "$as_me: disabling fedabipkgdiff as a result" >&6;}
- fi
- fi
-
- # The minimal python 2 version we want to support is 2.6.6 because EL6
- # distributions have that version installed.
- MINIMAL_PYTHON2_VERSION="2.6.6"
-
- # Extract the first word of "python", so it can be a program name with args.
+# Extract the first word of "python", so it can be a program name with args.
set dummy python; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -17078,10 +17007,10 @@
fi
- # The minimal python 3 version we want to support is 3.5, which is
- # available in Fedora releases and in EL7.
- if test x$ENABLE_PYTHON3 != xno; then
- for ac_prog in python3 python3.5 python3.6 python3.7
+# The minimal python 3 version we want to support is 3.5, which is
+# available in Fedora releases and in EL7.
+if test x$ENABLE_PYTHON3 != xno; then
+ for ac_prog in python3 python3.5 python3.6 python3.7
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -17124,66 +17053,140 @@
done
test -n "$PYTHON3_INTERPRETER" || PYTHON3_INTERPRETER="no"
- else
- PYTHON3_INTERPRETER=no
- fi
+else
+ PYTHON3_INTERPRETER=no
+fi
- if test x$ENABLE_PYTHON3 = xauto; then
- if test x$PYTHON3_INTERPRETER != xno; then
- ENABLE_PYTHON3=yes
- else
- # When enabling python3 is auto, tests only run if the
- # python3 interpreter was found on the system. Otherwise,
- # just ignore it.
+if test x$ENABLE_PYTHON3 = xauto; then
+ if test x$PYTHON3_INTERPRETER != xno; then
+ ENABLE_PYTHON3=yes
+ else
+ # When enabling python3 is auto, tests only run if the
+ # python3 interpreter was found on the system. Otherwise,
+ # just ignore it.
ENABLE_PYTHON3=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: Python 3 was not found. Skip running tests with Python 3." >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Python 3 was not found. Skip running tests with Python 3." >&5
$as_echo "$as_me: Python 3 was not found. Skip running tests with Python 3." >&6;}
- fi
- fi
+ fi
+fi
- if test x$ENABLE_PYTHON3 = xyes; then
- if test x$PYTHON3_INTERPRETER != xno; then
- # We were asked to enable python3 implicitely (auto and
- # python3 was found) or explicitly. So enable running tests
- # using python3 then.
- RUN_TESTS_WITH_PY3=yes
- else
- as_fn_error $? "Python 3 was not found" "$LINENO" 5
- fi
- fi
+if test x$ENABLE_PYTHON3 = xyes; then
+ if test x$PYTHON3_INTERPRETER != xno; then
+ # We were asked to enable python3 implicitely (auto and
+ # python3 was found) or explicitly. So enable running tests
+ # using python3 then.
+ RUN_TESTS_WITH_PY3=yes
+ else
+ as_fn_error $? "Python 3 was not found" "$LINENO" 5
+ fi
+fi
- if test x$PYTHON3_INTERPRETER = xyes; then
- MINIMAL_PYTHON_VERSION_FOUND=yes
- fi
+if test x$PYTHON3_INTERPRETER = xyes; then
+ MINIMAL_PYTHON_VERSION_FOUND=yes
+fi
- if test x$MINIMAL_PYTHON_VERSION_FOUND = xno; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: no minimal version of python found" >&5
+if test x$MINIMAL_PYTHON_VERSION_FOUND = xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: no minimal version of python found" >&5
$as_echo "$as_me: no minimal version of python found" >&6;}
- MISSING_FEDABIPKGDIFF_DEP=yes
- if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then
- as_fn_error $? "could not find a python program of version at least $MINIMAL_PYTHON2_VERSION" "$LINENO" 5
- fi
- if test x$PYTHON = xno; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: python binary wasn't found" >&5
+ if test x$PYTHON = xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: python binary wasn't found" >&5
$as_echo "$as_me: python binary wasn't found" >&6;}
- if test x$PYTHON3_INTERPRETER != xno; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: using $PYTHON3_INTERPRETER instead" >&5
+ if test x$PYTHON3_INTERPRETER != xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: using $PYTHON3_INTERPRETER instead" >&5
$as_echo "$as_me: using $PYTHON3_INTERPRETER instead" >&6;}
- PYTHON=$PYTHON3_INTERPRETER
+ PYTHON=$PYTHON3_INTERPRETER
MINIMAL_PYTHON_VERSION_FOUND=yes
MISSING_FEDABIPKGDIFF_DEP=no
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: a minimal version of python was found ..." >&5
+ fi
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: a minimal version of python was found ..." >&5
$as_echo "$as_me: a minimal version of python was found ..." >&6;}
- if test x$PYTHON3_INTERPRETER != xno; then
- # We were instructed to use python3 and it's present on the
- # system. Let's update the PYTHON variable that points to the
- # actual python interpreter we are going to be using
- { $as_echo "$as_me:${as_lineno-$LINENO}: ... and it was $PYTHON3_INTERPRETER" >&5
+ if test x$PYTHON3_INTERPRETER != xno; then
+ # We were instructed to use python3 and it's present on the
+ # system. Let's update the PYTHON variable that points to the
+ # actual python interpreter we are going to be using
+ { $as_echo "$as_me:${as_lineno-$LINENO}: ... and it was $PYTHON3_INTERPRETER" >&5
$as_echo "$as_me: ... and it was $PYTHON3_INTERPRETER" >&6;}
- PYTHON=$PYTHON3_INTERPRETER
+ PYTHON=$PYTHON3_INTERPRETER
+ fi
+fi
+
+
+if test x$ENABLE_FEDABIPKGDIFF = xauto -o x$ENABLE_FEDABIPKGDIFF = xyes; then
+ CHECK_DEPS_FOR_FEDABIPKGDIFF=yes
+else
+ CHECK_DEPS_FOR_FEDABIPKGDIFF=no
+fi
+
+if test x$CHECK_DEPS_FOR_FEDABIPKGDIFF = xyes; then
+ MISSING_FEDABIPKGDIFF_DEP=no
+
+ if test x$ENABLE_FEDABIPKGDIFF = xyes; then
+ MISSING_FEDABIPKGDIFF_DEP_FATAL=yes
+ else
+ MISSING_FEDABIPKGDIFF_DEP_FATAL=no
+ fi
+
+ # Extract the first word of "wget", so it can be a program name with args.
+set dummy wget; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_WGET+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $WGET in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_WGET" && ac_cv_path_WGET="no"
+ ;;
+esac
+fi
+WGET=$ac_cv_path_WGET
+if test -n "$WGET"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5
+$as_echo "$WGET" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ if test x$WGET = xno; then
+ ENABLE_FEDABIPKGDIFF=no
+ if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then
+ as_fn_error $? "could not find the wget program" "$LINENO" 5
+ else
+ MISSING_FEDABIPKGDIFF_DEP=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: could not find the wget program" >&5
+$as_echo "$as_me: could not find the wget program" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: disabling fedabipkgdiff as a result" >&5
+$as_echo "$as_me: disabling fedabipkgdiff as a result" >&6;}
+ fi
+ fi
+
+ if test x$MINIMAL_PYTHON_VERSION_FOUND = xno; then
+ MISSING_FEDABIPKGDIFF_DEP=yes
+ if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then
+ as_fn_error $? "could not find a python program of version at least $MINIMAL_PYTHON2_VERSION" "$LINENO" 5
fi
fi

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating.functional}

View File

@ -1,29 +1,36 @@
%global tarball_revision 0
%global tarball_revision 1
%global tarball_name %{name}-%{version}
Name: libabigail
Version: 1.4
Release: 2%{?dist}
Version: 2.5
Release: 3%{?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
Patch1: enable-python-when-no-fedabipkgdiff-is-defined.patch.txt
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: doxygen
BuildRequires: %{_bindir}/python3
BuildRequires: python3-devel
BuildRequires: python3-sphinx
BuildRequires: texinfo
BuildRequires: dos2unix
%if 0%{?fedora}
BuildRequires: dpkg
BuildRequires: koji
BuildRequires: python3-koji
%endif
BuildRequires: wget
%description
The libabigail package comprises six command line utilities:
abidiff, kmidiff, abipkgdiff, abicompat, abidw, and abilint
The libabigail package comprises seven command line utilities:
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.
@ -51,20 +58,45 @@ 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}
%package fedora
Summary: Utility to compare the ABI of Fedora packages
BuildRequires: python3-devel
BuildRequires: python3-koji
BuildRequires: python3-mock
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}
%patch1
%autosetup -v -S git
%build
%configure --disable-deb --disable-fedabipkgdiff --disable-silent-rules --disable-zip-archive --disable-static
%configure --enable-btf --enable-ctf --disable-silent-rules --disable-zip-archive --disable-static
make %{?_smp_mflags}
pushd doc
make html-doc
@ -82,25 +114,21 @@ 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}
# 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)
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
%post
%?ldconfig
/usr/sbin/install-info %{_infodir}/abigail.info* %{_infodir}/dir 2>/dev/null || :
%preun
if [ $1 -eq 0 ]; then
/usr/sbin/install-info --delete %{_infodir}/abigail.info* %{_infodir}/dir 2>/dev/null || :
fi
%ldconfig_postun
%ldconfig_scriptlets
%files
%{_bindir}/abicompat
@ -109,11 +137,11 @@ fi
%{_bindir}/abilint
%{_bindir}/abipkgdiff
%{_bindir}/kmidiff
%{_libdir}/libabigail.so.0
%{_libdir}/libabigail.so.0.0.0
%{_libdir}/libabigail.so.4
%{_libdir}/libabigail.so.4.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*
@ -125,35 +153,205 @@ 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}
%files fedora
%{_bindir}/fedabipkgdiff
%endif
%changelog
* Tue Aug 14 2018 Petr Viktorin <pviktori@redhat.com> - 1.4-2
- Fix BuildRequires for /usr/bin/python3
- Resolves: #1615539
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.5-3
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jul 16 2018 Dodji Seketeli <dodji@redhat.com> - 1.4-1
- Update to upstream 1.4 version
- Remove disable-runtestdefaultsupprs.py.patch
- Add enable-python-when-no-fedabipkgdiff-is-defined.patch.txt
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.5-2
- Bump release for June 2024 mass rebuild
* Wed Jun 20 2018 Dodji Seketeli <dodji@seketeli.org> - 1.3-3
- Add patch disable-runtestdefaultsupprs.py.patch
This disables the runtestdefaultsupprs.py patch as it's timeouting.
It's running fine locally though.
* Tue Apr 23 2024 Dodji Seketeli <dodji@redhat.com> - 2.5-1
- Update to upstream 2.5 tarball
- Drop patches (as they are now upstream):
0001-Bug-31045-Don-t-try-setting-translation-unit-for-uni.patch
0002-suppression-Add-has_strict_flexible_array_data_membe.patch
- Enable abidb
- Add BuildRequires: python3-devel
- Add libabigail.so.4 and libabigail.so.4.0.0 to the RPM
* Wed Jun 20 2018 Dodji Seketeli <dodji@redhat.com> - 1.3-2
- Remove dpkg and koji dependencies
* 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
* Mon Nov 12 2018 Dodji Seketeli <dodji@seketeli.org> - 1.5-2
- Apply patches
Support-having-several-debuginfo-search-dirs-for-a-b.patch and
Add-a-fail-no-debug-info-to-abidiff.patch
* Thu Oct 25 2018 Dodji Seketeli <dodji@seketeli.org> - 1.5-1
- Update to upstream 1.5
* Wed Jul 25 2018 Nils Philippsen <nils@tiptoe.de> - 1.4-2
- explicitly use Python 3 for fedabipkgdiff
* Fri Jul 13 2018 Dodji Seketeli <dodji@redhat.com> - 1.4-1
- Update to upstream 1.4
- Merge change to build fedabipkgdiff in Fedora only.
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1.3-2
- Rebuilt for Python 3.7
* Wed May 16 2018 Dodji Seketeli <dodji@redhat.com> - 1.3-1
- Update to upstream 1.3
- Use python3.
- Use python3 modules
* Mon Mar 19 2018 Dodji Seketeli <dodji@redhat.com> - 1.2-2
- Depend on Koji only on Fedora
* Tue Mar 6 2018 Dodji Seketeli <dodji@seketeli.org> - 1.2-1
* Mon Mar 5 2018 Dodji Seketeli <dodji@redhat.com> - 1.2-1
- Update to upstream 1.2
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.1-4

6
plans/ci.fmf Normal file
View File

@ -0,0 +1,6 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
execute:
how: beakerlib

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libabigail-2.5.tar.xz) = 4084ebdd723a8ce1632f70943e29d71328bb695b1b0012ebd3d6ec7edccde872b54e76dfb1bc1c261805919c5e636198cd5bf23baf113474a082db21f2cfdd0d

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/libabigail/Sanity/libabigail-testsuite
# Description: libabigail testing by upstream testsuite
# Author: Michal Kolar <mkolar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# 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 <mkolar@redhat.com>" > $(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)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/libabigail/Sanity/libabigail-testsuite
Description: libabigail testing by upstream testsuite
Author: Michal Kolar <mkolar@redhat.com>

View File

@ -0,0 +1,15 @@
summary: libabigail testing by upstream testsuite
description: ''
contact: Michal Kolar <mkolar@redhat.com>
component:
- libabigail
test: ./runtest.sh
framework: beakerlib
recommend:
- libabigail
- rpm-build
- yum-utils
- gcc-c++
duration: 1h
extra-summary: /tools/libabigail/Sanity/libabigail-testsuite
extra-task: /tools/libabigail/Sanity/libabigail-testsuite

View File

@ -0,0 +1,83 @@
#!/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 <mkolar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# 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 "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