Compare commits

..

4 commits

Author SHA1 Message Date
Dodji Seketeli
ef028d919c Upload 2.9 upstream tarball.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2025-11-11 17:50:20 +01:00
Dodji Seketeli
b5c9224395 Update to upstream 2.9 tarball.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2025-11-06 12:57:16 +01:00
Dodji Seketeli
86d8734964 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 14:38:48 +02:00
Dodji Seketeli
2cc4122c80 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 17:00:08 +02:00
6 changed files with 157 additions and 76 deletions

View file

@ -31,7 +31,7 @@ BuildRequires: python3-libarchive-c
Requires: python3-GitPython
Requires: python3-libarchive-c
%endif
%if 0%{?fedora} || 0%{?epel}
%if 0%{?fedora}
BuildRequires: dpkg
BuildRequires: koji
BuildRequires: python3-koji
@ -74,7 +74,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} || 0%{?epel}
%package fedora
Summary: Utility to compare the ABI of Fedora packages
BuildRequires: python3-devel
@ -99,7 +98,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
@ -124,10 +122,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} || 0%{?epel}
# Explicitly use Python 3 as the interpreter
%py3_shebang_fix %{buildroot}%{_bindir}/fedabipkgdiff
%endif
%check
time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log && exit 2)
@ -163,10 +159,8 @@ 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}
%files fedora
%{_bindir}/fedabipkgdiff
%endif
%changelog
* Thu Nov 06 2025 Dodji Seketeli <dodji@redhat.com> - 2.9-1
@ -174,9 +168,6 @@ time make %{?_smp_mflags} check check-self-compare || (cat tests/test-suite.log
- 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
@ -188,9 +179,6 @@ 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 <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

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

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

View file

@ -0,0 +1,84 @@
#!/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 "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

View file

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