libabigail/libabigail.spec
Dodji Seketeli 48825d3612 Fix enum precision loss issues on 32 bits
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
2016-01-06 10:45:56 +01:00

219 lines
7.9 KiB
RPMSpec

%global tarball_revision rc1
%global tarball_name %{name}-%{version}.%{tarball_revision}
Name: libabigail
Version: 1.0
Release: 0.%{tarball_revision}.3%{?dist}
Summary: Set of ABI analysis tools
License: LGPLv3+
URL: https://sourceware.org/libabigail/
# This tarball was constructed from pulling the source code of
# libabigail from its Git repository by doing:
# git clone git://sourceware.org/git/libabigail.git
# pushd libabigail
# autoreconf -i
# configure
# make dist
Source0: %{tarball_name}.tar.gz
Patch0: enum-value-wide-precision-on-32-bits-machine-patch.txt
BuildRequires: libtool
BuildRequires: elfutils-devel
BuildRequires: libxml2-devel
BuildRequires: doxygen
BuildRequires: python-sphinx
BuildRequires: texinfo
BuildRequires: dos2unix
BuildRequires: dpkg
%description
The libabigail package comprises five command line utilities: abidiff,
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. abipkgdiff compares the ABIs of ELF binaries
contained in 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.
Install libabigail if you need to compare the ABI of ELF shared
libraries.
%package devel
Summary: Shared library and header files to write ABI analysis tools
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains a shared library and the associated header files
that are necessary to develop applications that use the C++ Libabigail
library. The library provides facilities to analyze and compare
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.
%prep
%setup -n %{tarball_name}
%patch0 -p1
%build
%configure --disable-silent-rules --disable-zip-archive --disable-static
make %{?_smp_mflags}
pushd doc
make html-doc
pushd manuals
make html-doc
make man
make info
popd
popd
%install
%make_install
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
%check
make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2)
if test $? -ne 0; then
cat tests/tests-suite.log
fi
%post
/sbin/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
%postun -p /sbin/ldconfig
%files
%{_bindir}/abicompat
%{_bindir}/abidiff
%{_bindir}/abidw
%{_bindir}/abilint
%{_bindir}/abipkgdiff
%{_libdir}/libabigail.so.0
%{_libdir}/libabigail.so.0.0.0
%doc AUTHORS ChangeLog
%license COPYING COPYING-LGPLV3 COPYING-GPLV3
%{_mandir}/man1/*
%{_mandir}/man7/*
%{_infodir}/abigail.info*
%files devel
%{_libdir}/libabigail.so
%{_libdir}/pkgconfig/libabigail.pc
%{_includedir}/*
%{_datadir}/aclocal/abigail.m4
%files doc
%license COPYING COPYING-LGPLV3 COPYING-GPLV3
%doc doc/manuals/html/*
%changelog
* Wed Jan 6 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc1.3
- Fix precision loss on enum values, on 32 bit systems.
- Run make check in // if possible
* Wed Jan 6 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc1.2
- Add/Remove info pages to/from info pages database after install/before remove
* Tue Jan 5 2016 Dodji Seketeli <dodji@redhat.com> - 1.0-0.rc1.1
- Ship man/info pages right into the main package, along with the main
programs.
- Update to upstream release 1.0.rc1
- Significant changes include:
rhtbz/1283906 - crash in abigail::dwarf_reader::build_reference_type()
libabigail/19336 - Better handle redundantly qualified reference types
libabigail/19126 - abidw segv on a dwz compressed version of r300_dri.so
libabigail/19355 - Libabigail slow on r300_dri.so
Numerous other bug fixes and cleanups
* Mon Nov 16 2015 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.7.rc0.20151116gitd8bcceb
- Update to upstream release 1.0.rc0
- Take a tarball built using make dist now.
- Update the comments in the spec regarding how the tarball has been generated.
- Do not run autoreconf -i anymore, during the build.
* Wed Sep 9 2015 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.6.20150909git164d17e
- Update to upstream git commit hash 164d17e
Bug 18791 - libabigail fails to read the output of abidw
Bug 18818 - abidw aborts on a class with a non-complete base class
Bug 18828 - Handle force-resolving of multiple declarations-only of the same type
Bug 18844 - assert failure in abidw at abg-dwarf-reader.cc:6537
Bug 18894 - Fix representation of enumerators in abixml format
Bug 18893 - type degradation from dwarf to abixml on libGLU.so
Bug 18892 - type degradation from DWARF to abixml on libtsan.so
Bug 18904 - Fix support for C++ rvalue references
Numerous additional bug fixes
Added .deb, tarball and directory support to abipkgdiff
Several improvements to abidw, abidiff and abilint
- Added dpkg build dependency to activate support of .deb archives
- cat tests/test-suite.log when check fails
- Update description to add abipkgdiff
* Mon Jul 27 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.5.20150727gitf0d319a
- Update to upstream git commit hash f0d319a. Returns different exit status code
when abipkgdiff runs and various other bug fixes in libabigail.
- Adjust date, git_revision and Release macros
* Mon Jul 20 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.4.20150720gitab1316b
- Update to upstream git commit hash ab1316b. It brings various bug fixes and a
new abipkgdiff tool to detect abi changes at package level.
- Install abipkgdiff binary in bindir
- Adjust date, git_revision and Release macros
* Thu Jun 25 2015 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.3.20150625git43c06a8
- Update to upstream git commit hash 43c06a8 (pre-release of 1.0).
This brings lots of bug fixes as well as some improvements in change
report suppression capabilities in the library and in the abidiff
tool.
- Tarball name format is now clearer: %%{name}-%%{version}-git-%%{git_revision}
- Add new macro tarball_name for that
- Adjust the Source0, git_revision, date, Release macros
- Adjust the %setup directive to the fact that the tarball now extracts to
a directory named %%{name}-%%{version}-git-%%{git_revision}
- Adjust the packaging of the man pages as some of them moved from
section 7 to section 1.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.2.20150422gita9582d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Apr 22 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.1.20150420gita9582d8
- Add COPYING-GPLV3 license file as well
- Remove python-sphinx-latex from BuildRequires
- Package latest source tar with git revision a9582d8
* Sat Jan 24 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.3.20150114git63c81f0
- Specify only sub-packgae name instead of giving full package name
- Add info as post and preun Requires for doc sub-package
* Fri Jan 23 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.2.20150114git63c81f0
- Add python-sphinx-latex as BuildRequires
- Use license instead of doc macro for license file installation
- Update checkout value
* Sun Jan 18 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.1.git.63c81f0
- Initial build of the libabigail package using source code from git
revision 63c81f0.