From 1676004254b01c81db1082c3be6b8e403e04bf50df0849a9645e8b688aca5fb5 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Wed, 28 Aug 2024 08:06:33 +0000 Subject: [PATCH] [info=eab8dc44b46c924d8f6399a64bce3c49d92808ead2ec25559529f610102f8bd8] OBS-URL: https://build.opensuse.org/package/show/devel:tools/libabigail?expand=0&rev=29 --- .gitattributes | 23 ++++++ .gitignore | 1 + _scmsync.obsinfo | 4 + build.specials.obscpio | 3 + libabigail-2.4.tar.xz | 3 + libabigail.changes | 179 +++++++++++++++++++++++++++++++++++++++++ libabigail.spec | 133 ++++++++++++++++++++++++++++++ no-tests.diff | 53 ++++++++++++ 8 files changed, 399 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _scmsync.obsinfo create mode 100644 build.specials.obscpio create mode 100644 libabigail-2.4.tar.xz create mode 100644 libabigail.changes create mode 100644 libabigail.spec create mode 100644 no-tests.diff diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..25224dc --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1698700234 +commit: eab8dc44b46c924d8f6399a64bce3c49d92808ead2ec25559529f610102f8bd8 +url: https://src.opensuse.org/jengelh/libabigail +revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..caaa164 --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9989208c8b2c669f9239350a3110d0b6b119dcfba3b2b1ca240e4d3bcbec8502 +size 256 diff --git a/libabigail-2.4.tar.xz b/libabigail-2.4.tar.xz new file mode 100644 index 0000000..4637bda --- /dev/null +++ b/libabigail-2.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fe76b6344188a95f693b84e1b8731443d274a4c4b0ebee18fc00d9aedac8509 +size 357840964 diff --git a/libabigail.changes b/libabigail.changes new file mode 100644 index 0000000..3a0d679 --- /dev/null +++ b/libabigail.changes @@ -0,0 +1,179 @@ +------------------------------------------------------------------- +Mon Oct 30 04:38:53 UTC 2023 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- Shift BuildRequires to Python 3 Sphinx due to removal of Python 2. + +------------------------------------------------------------------- +Sun Mar 15 20:31:55 UTC 2020 - Jan Engelhardt + +- 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 + +- 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) diff --git a/libabigail.spec b/libabigail.spec new file mode 100644 index 0000000..42e5ff2 --- /dev/null +++ b/libabigail.spec @@ -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 diff --git a/no-tests.diff b/no-tests.diff new file mode 100644 index 0000000..a076459 --- /dev/null +++ b/no-tests.diff @@ -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 +