[info=eab8dc44b46c924d8f6399a64bce3c49d92808ead2ec25559529f610102f8bd8]

OBS-URL: https://build.opensuse.org/package/show/devel:tools/libabigail?expand=0&rev=29
This commit is contained in:
Jan Engelhardt 2024-08-28 08:06:33 +00:00 committed by Git OBS Bridge
commit 1676004254
8 changed files with 399 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

4
_scmsync.obsinfo Normal file
View File

@ -0,0 +1,4 @@
mtime: 1698700234
commit: eab8dc44b46c924d8f6399a64bce3c49d92808ead2ec25559529f610102f8bd8
url: https://src.opensuse.org/jengelh/libabigail
revision: master

3
build.specials.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9989208c8b2c669f9239350a3110d0b6b119dcfba3b2b1ca240e4d3bcbec8502
size 256

3
libabigail-2.4.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5fe76b6344188a95f693b84e1b8731443d274a4c4b0ebee18fc00d9aedac8509
size 357840964

179
libabigail.changes Normal file
View File

@ -0,0 +1,179 @@
-------------------------------------------------------------------
Mon Oct 30 04:38:53 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.4
* abidw: Add --{follow,list}-dependencies & --add-binaries support
* abidiff: Add --{follow,list}-dependencies &
add-binaries{1,2} support
-------------------------------------------------------------------
Fri Jun 23 02:59:18 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.3
* Added an option to ignore SONAME differences in libraries
* abicompat: support reading CTF and abixml
* symtab: add support for CRC values from __kcrctab
* dwarf-reader: Support DW_OP_GNU_variable_value
* Support binaries with empty symbol table
* Better support an ELF symbol alias that designates several
functions
* Add support for BTF
-------------------------------------------------------------------
Sun Feb 13 23:37:46 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.0
* New symbol table reader component.
* Correctness of type canonicalization.
* Support for DWARF 5.
* abidw now emits ABIXML files in a new format, dubbed version
2.0.
* abipkgdiff should now properly show binary files that were
either added to or removed from packages. It also stops
erasing the working directory used for binary comparison
before it's done using their content.
* abidiff: Data members are no longer qualified in diff
reports. The --dump-diff-tree option now works in the leaf
reporting mode.
-------------------------------------------------------------------
Mon May 3 11:58:31 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 1.8.2:
* dwarf-reader: Keep stable order when de-duplicating class definitions
- Update to version 1.8.1:
* Fix potential loss of some aliased ELF function symbols
* Ignore duplicated functions and those not associated with ELF symbols
* dwarf-reader: Support fast DW_FORM_line_strp string comparison
* abidiff: support --dump-diff-tree with --leaf-changes-only
- Update to version 1.8:
* abipkgdiff:
* Add a new --self-check option
* make --self-check to fail on any change against own ABIXML
* Fix race condition while using private types suppr specs
* abidw:
* make --abidiff report any change against own ABIXML
* Add --drop-private-types and --drop-undefined-syms options
* abidiff, abidw: Support several --headers-dir{1,2} options
* abg-writer: Add support for stable hash type ids.
* dwarf-reader:
* Support several anonymous data members in a given class
* Support declaration-only enums
* Support artificially generated translation units
* Fix bloom filter access in GNU_HASH section
* Support DWARF5
- Require libdw >= 170 for DWARF5 features
- Update no-tests.diff
-------------------------------------------------------------------
Tue Apr 21 02:51:29 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
- Shift BuildRequires to Python 3 Sphinx due to removal of Python 2.
-------------------------------------------------------------------
Sun Mar 15 20:31:55 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.7
* Fix ELF reader not inteprreting interpret ksymtab with
kernel 4.19+
* Support string form DW_FORM_strx{1,4} from DWARF 5.
* Support decl DIEs referring to symbols using DW_AT_ranges.
-------------------------------------------------------------------
Thu Aug 22 19:14:09 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to snapshot 1.7~git84
* Initial support for Ada ranges.
* Initial support of anonymous data members.
* Represent sizes and offsets in bytes and hexadecimal values.
* Initial basic support of union type in suppression
specifications.
* Filter out changes like type to const type.
* Explicitely detect anonymous data member changes.
* Use the flat representation for anonymous struct/unions.
* Better detect when pointer and qualified types carry local
changes.
* Better detect when diff nodes only carry local type changes.
* Better support array with unknown upper bound.
* Categorize CV qualifier changes on fn return types as harmless.
* Support some new DWARF language encoding for C and C++.
* Support having several debuginfo search dirs for a binary.
-------------------------------------------------------------------
Thu Aug 17 20:32:26 UTC 2017 - jengelh@inai.de
- Update to snapshot 1.0~rc6+git185
* Create a Corpus Group API extension
* Initial support to lookup types per location
* Support loading and comparing two kernel trees
* Avoid loading a translation unit twice from abixml
* Introduce the --kmi-whitelist option to abidiff and abidw
* Avoid emitting duplicated decls in abixml
* Avoid emitting some empty translation units to abixml
* Avoid de-duplicating different C types that have identical name
* Allow selective resolution of class declaration
* Speedup DIE representation computing esp function signature in C
* Do not report about voffset when it's not set in debug info
* Cache function type name computation results
* Filter top cv qualifier changes on function parameter types
* Support ELF symbol visibility property
* Avoid crashing when the elf file could not be read
-------------------------------------------------------------------
Sun May 28 06:52:23 UTC 2017 - jengelh@inai.de
- Update to snapshot 1.0~rc6+git126
* Add support for .deb files to abipkgdiff
* abipkgdiff: automatically recurse into directories and
.tar archives
* abidw: new options --no-architecture, --stats, --noout,
--abidiff, --verbose
* abidiff: new options --no-architecture, --stats, --verbose
* Support new 'accessed_through' suppression property
* Report vtable changes in top-level function change reports
* Add --d{1,2} shortcut options for --debug-info-dir{1,2}
in abidiff
* abipkgdiff: new options --verbose, --no-added-binaries,
--keep-tmp-files, --no-added-syms
- Add no-tests.diff
-------------------------------------------------------------------
Thu Nov 26 09:20:57 CET 2015 - pth@suse.de
- BuildRequire python-sphinx so that the documentation can be built.
- BuildRequire makeinfo.
- Build man pagres and info documentation and package them.
-------------------------------------------------------------------
Sun Mar 1 09:50:56 UTC 2015 - jengelh@inai.de
- Update to new git snapshot 0~git791
* Build the set of exported decls directly during DWARF loading
* Do not miss canonicalizing opportunities on non-member class types
* Stick qualified, pointer, reference and array types into the
global scope
* Do not forget to canonicalize enum underlying type and void type
* Speed up symbol version reading
-------------------------------------------------------------------
Fri Jan 9 00:46:31 UTC 2015 - jengelh@inai.de
- Update to new git snapshot 0~git731
* Support evaluating the SONAME from ELF files
* Try harder to detect a DWARF attribute pointing into alternate DWARF section
* Extend detection of compatible types to arrays
* Detect and report changes in ELF architecture
-------------------------------------------------------------------
Sun Dec 7 19:35:25 UTC 2014 - jengelh@inai.de
- Update to new git snapshot 0~git697
* Fix a crash while writing symbol information
* Initial implementation of the abicompat tool
* Support reading undefined symbols from an ELF file
* Sort functions by the their qualified name
-------------------------------------------------------------------
Fri Sep 12 10:04:34 UTC 2014 - jengelh@inai.de
- Initial package for build.opensuse.org (version 0~git570)

133
libabigail.spec Normal file
View File

@ -0,0 +1,133 @@
#
# spec file for package libabigail
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libabigail
%define lname libabigail3
Version: 2.4
Release: 0
Summary: Application Binary Interface Generic Analysis and Instrumentation Library
License: GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-3.0-or-later
Group: Development/Libraries/C and C++
URL: https://sourceware.org/libabigail/
Source: http://mirrors.kernel.org/sourceware/libabigail/%name-%version.tar.xz
Patch1: no-tests.diff
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1.11.1
BuildRequires: dpkg
BuildRequires: gcc-c++ >= 4.7
BuildRequires: libbpf-devel
BuildRequires: libdw-devel >= 0.170
BuildRequires: libtool >= 2.2
BuildRequires: libzip-devel
BuildRequires: makeinfo
BuildRequires: pkg-config
BuildRequires: python3-Sphinx
BuildRequires: xz
BuildRequires: pkgconfig(libxml-2.0) >= 2.6.22
BuildRequires: pkgconfig(libzip) >= 0.10
%description
ABIGAIL constructs, manipulates, (de-)serializes ABI-relevant
artifacts, such as types, variable, fonctions and declarations
(collectively, the ABI corpus) of a given library or program.
%package -n %lname
Summary: Application Binary Interface Generic Analysis and Instrumentation Library
License: LGPL-3.0-or-later
Group: System/Libraries
%description -n %lname
ABIGAIL constructs, manipulates, (de-)serializes ABI-relevant
artifacts, such as types, variable, fonctions and declarations
(collectively, the ABI corpus) of a given library or program. The
library provides a way to compare two ABI corpuses, provide detailed
information about their differences, and help build tools to infer
interesting conclusions about these differences.
%package devel
Summary: Development files for the ABI-relevant artifact library
License: LGPL-3.0-or-later
Group: Development/Libraries/C and C++
Requires: %lname = %version
%description devel
ABIGAIL constructs, manipulates, (de-)serializes ABI-relevant
artifacts, such as types, variable, fonctions and declarations
(collectively, the ABI corpus) of a given library or program. The
library provides a way to compare two ABI corpuses, provide detailed
information about their differences.
This subpackage contains the files needed to build programs with ABIGAIL.
%package tools
Summary: Utilities to inspect ABI-relevant artifacts
License: LGPL-3.0-or-later
Group: Development/Tools/Other
%description tools
ABIGAIL constructs, manipulates, (de-)serializes ABI-relevant
artifacts, such as types, variable, fonctions and declarations
(collectively, the ABI corpus) of a given library or program.
This subpackage contains the ABIGAIL utilities allowing to infer
interesting conclusions about these differences.
%prep
%autosetup -p1
%build
autoreconf -fiv
# includedir intentional, cf. bugzilla.opensuse.org/795968
%configure --includedir="%_includedir/%name" --docdir="%_docdir/%name" \
--disable-static --enable-cxx11 --disable-silent-rules
%make_build
pushd doc/manuals
make man info
popd
%install
%make_install
rm -f "%buildroot/%_libdir"/*.la
pushd doc/manuals
make DESTDIR="%buildroot" install-man-and-info-doc
popd
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%_libdir/libabigail.so.3*
%files devel
%_includedir/%name/
%_libdir/libabigail.so
%_libdir/pkgconfig/*.pc
%_datadir/aclocal/
%_mandir/man7/libabigail.7.gz
%files tools
%license LICENSE.txt
%_bindir/abi*
%_bindir/kmidiff
%_mandir/man1/abi*.1*
%_infodir/abigail.info.gz
%_libdir/%name/
%changelog

53
no-tests.diff Normal file
View File

@ -0,0 +1,53 @@
build: trim calls into test/
The tests need quite some time to run (they are also really really
large) they should be a separate package in openSUSE.
The main package remains small and has no test/ directory, so patch
the build files not to try to recurse into there.
---
Makefile.am | 2 +-
configure.ac | 16 ----------------
2 files changed, 1 insertion(+), 17 deletions(-)
Index: libabigail-2.0/Makefile.am
===================================================================
--- libabigail-2.0.orig/Makefile.am
+++ libabigail-2.0/Makefile.am
@@ -1,5 +1,5 @@
## SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-SUBDIRS = include src tools tests doc bash-completion
+SUBDIRS = include src tools doc bash-completion
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
headers = config.h
Index: libabigail-2.0/configure.ac
===================================================================
--- libabigail-2.0.orig/configure.ac
+++ libabigail-2.0/configure.ac
@@ -888,25 +888,9 @@ libabigail.pc
doc/manuals/Makefile
src/Makefile
tools/Makefile
- tests/Makefile
- tests/data/Makefile
bash-completion/Makefile])
dnl Some test scripts are generated by autofoo.
-AC_CONFIG_FILES([tests/runtestcanonicalizetypes.sh],
- [chmod +x tests/runtestcanonicalizetypes.sh])
- AC_CONFIG_FILES([tests/runtestslowselfcompare.sh],
- [chmod +x tests/runtestslowselfcompare.sh])
-AC_CONFIG_FILES([tests/mockfedabipkgdiff],
- [chmod +x tests/mockfedabipkgdiff])
-AC_CONFIG_FILES([tests/runtestfedabipkgdiff.py],
- [chmod +x tests/runtestfedabipkgdiff.py])
-AC_CONFIG_FILES([tests/runtestfedabipkgdiffpy3.sh],
- [chmod +x tests/runtestfedabipkgdiffpy3.sh])
-AC_CONFIG_FILES([tests/runtestdefaultsupprs.py],
- [chmod +x tests/runtestdefaultsupprs.py])
-AC_CONFIG_FILES([tests/runtestdefaultsupprspy3.sh],
- [chmod +x tests/runtestdefaultsupprspy3.sh])
AC_OUTPUT