a015e54
%global tarball_revision rc5
07e807c
%global tarball_name %{name}-%{version}.%{tarball_revision}
6f1617b
6f1617b
Name: libabigail
6f1617b
Version: 1.0
9e661de
Release: 0.8.%{tarball_revision}.2%{?dist}
6f1617b
Summary: Set of ABI analysis tools
6f1617b
6f1617b
License: LGPLv3+
6f1617b
URL: https://sourceware.org/libabigail/
07e807c
Source0: ftp://mirrors.kernel.org/sourceware/libabigail/%{tarball_name}.tar.gz
6f1617b
70e8ff5
BuildRequires: gcc-c++
6f1617b
BuildRequires: libtool
6f1617b
BuildRequires: elfutils-devel
6f1617b
BuildRequires: libxml2-devel
6f1617b
BuildRequires: doxygen
6f1617b
BuildRequires: python-sphinx
6f1617b
BuildRequires: texinfo
6f1617b
BuildRequires: dos2unix
95cac7c
BuildRequires: dpkg
a015e54
BuildRequires: python2-devel
a015e54
BuildRequires: rpm-python
7df2238
BuildRequires: python-mock
a015e54
BuildRequires: koji
a015e54
BuildRequires: pyxdg
9025568
BuildRequires: python-unittest2
6f1617b
6f1617b
%description
95cac7c
The libabigail package comprises five command line utilities: abidiff,
95cac7c
abipkgdiff, abicompat, abidw and abilint.  The abidiff command line
95cac7c
tool compares the ABI of two ELF shared libraries and emits meaningful
95cac7c
textual reports about changes impacting exported functions, variables
95cac7c
and their types.  abipkgdiff compares the ABIs of ELF binaries
95cac7c
contained in two packages.  abicompat checks if a subsequent version
95cac7c
of a shared library is still compatible with an application that is
95cac7c
linked against it.  abidw emits an XML representation of the ABI of a
95cac7c
given ELF shared library. abilint checks that a given XML
95cac7c
representation of the ABI of a shared library is correct.
6f1617b
6f1617b
Install libabigail if you need to compare the ABI of ELF shared
6f1617b
libraries.
6f1617b
6f1617b
%package devel
6f1617b
Summary: Shared library and header files to write ABI analysis tools
6f1617b
Requires: %{name}%{?_isa} = %{version}-%{release}
6f1617b
6f1617b
%description devel
6f1617b
This package contains a shared library and the associated header files
6f1617b
that are necessary to develop applications that use the C++ Libabigail
6f1617b
library.  The library provides facilities to analyze and compare
6f1617b
application binary interfaces of shared libraries in the ELF format.
6f1617b
6f1617b
%package doc
6f1617b
Summary: Man pages, texinfo files and html manuals of libabigail
6f1617b
Requires(post): info
6f1617b
Requires(preun): info
6f1617b
6f1617b
%description doc
6f1617b
This package contains documentation for the libabigail tools in the
6f1617b
form of man pages, texinfo documentation and API documentation in html
6f1617b
format.
6f1617b
6f1617b
%prep
0c5ddc6
%setup -n %{tarball_name}
6f1617b
6f1617b
%build
6f1617b
%configure --disable-silent-rules --disable-zip-archive --disable-static 
6f1617b
make %{?_smp_mflags}
6f1617b
pushd doc
6f1617b
make html-doc
6f1617b
pushd manuals
6f1617b
make html-doc
6f1617b
make man
6f1617b
make info
6f1617b
popd
6f1617b
popd
6f1617b
6f1617b
%install
6f1617b
%make_install
6f1617b
find %{buildroot} -name '*.la' -exec rm -f {} ';'
6f1617b
6f1617b
# Install man and texinfo files as they are not installed by the
6f1617b
# default 'install' target of the makefile.
6f1617b
make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot}
6f1617b
dos2unix doc/manuals/html/_static/jquery.js
6f1617b
6f1617b
%check
70e8ff5
time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2)
6f1617b
5fab88f
%post
5fab88f
/sbin/ldconfig
6f1617b
/usr/sbin/install-info %{_infodir}/abigail.info* %{_infodir}/dir 2>/dev/null || :
6f1617b
5fab88f
%preun
6f1617b
if [ $1 -eq 0 ]; then
6f1617b
  /usr/sbin/install-info --delete %{_infodir}/abigail.info* %{_infodir}/dir 2>/dev/null || :
6f1617b
fi
6f1617b
5fab88f
%postun -p /sbin/ldconfig
5fab88f
6f1617b
%files
6f1617b
%{_bindir}/abicompat
6f1617b
%{_bindir}/abidiff
6f1617b
%{_bindir}/abidw
6f1617b
%{_bindir}/abilint
Sinny Kumari 064e6fa
%{_bindir}/abipkgdiff
a015e54
%{_bindir}/fedabipkgdiff
6f1617b
%{_libdir}/libabigail.so.0
6f1617b
%{_libdir}/libabigail.so.0.0.0
a015e54
%{_libdir}/libabigail/default.abignore
9e661de
%doc README AUTHORS ChangeLog
6f1617b
%license COPYING COPYING-LGPLV3 COPYING-GPLV3
2ea07e7
%{_mandir}/man1/*
2ea07e7
%{_mandir}/man7/*
2ea07e7
%{_infodir}/abigail.info*
6f1617b
6f1617b
%files devel
6f1617b
%{_libdir}/libabigail.so
6f1617b
%{_libdir}/pkgconfig/libabigail.pc
6f1617b
%{_includedir}/*
6f1617b
%{_datadir}/aclocal/abigail.m4
6f1617b
6f1617b
%files doc
6f1617b
%license COPYING  COPYING-LGPLV3 COPYING-GPLV3
6f1617b
%doc doc/manuals/html/*
6f1617b
6f1617b
%changelog
9e661de
* Tue Jun 28 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.8.rc5.2
9e661de
- Add README
9e661de
a015e54
* Mon Jun 27 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.8.rc5.1
a015e54
- Update to upstream 1.0.rc5 tarball
a015e54
- Add new build requires for new fedabipkgdiff tool:
9025568
  python2-devel, rpm-python, python-mock, koji, pyxdg, python-unittest2
a015e54
- Add new %%{_bindir}/fedabipkgdiff binary and
a015e54
  %%{_libdir}/libabigail/default.abignore configuration file to the set
a015e54
  of distributed files. 
a015e54
- Drop patches that were integrated upstream:
a015e54
  0001-Bug-19961-Distinguish-between-PI-executable-and-shar.patch
a015e54
  0002-Bug-19964-Cannot-load-function-aliases-on-ppc64.patch
a015e54
27c4c9d
* Mon Apr 25 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.8.rc4.2
27c4c9d
- Fix PIE and ppc64 function aliases handling.
27c4c9d
  The exact two upstream bugs fixed are:
27c4c9d
    Bug 19961 - Distinguish between PI executable and shared library
27c4c9d
    Bug 19964 - Cannot load function aliases on ppc64
27c4c9d
  The two upstream patches applied are 8944ceb9ef03a4187 and 2529f84ae0e2ca2a
27c4c9d
cc9139b
* Sun Apr 17 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.8.rc4.1
cc9139b
- Update to upstream 1.0.rc4
cc9139b
cc9139b
* Fri Mar 25 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.8.rc3.1
5ca805b
- Bump pseudo epoch to 1.0.-0.8.rc3.1 to fix upgrade issues
5ca805b
70e8ff5
* Tue Mar  8 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc3.1
70e8ff5
- Update to upstream 1.0.rc3
70e8ff5
- Add gcc-c++ as BuildRequires
70e8ff5
- Measure the time taken by regression tests
70e8ff5
- drop the enum-val-stable-on-32-64-bits-patch patch as it's now
70e8ff5
  included upstream.
70e8ff5
8a71eb7
* Fri Jan  8 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc2.2
8a71eb7
- Add enum-val-stable-on-32-64-bits-patch
8a71eb7
5fab88f
* Fri Jan  8 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc2.1
5fab88f
- Update to upstream release 1.0.rc2
5fab88f
- Run make check in // if possible
5fab88f
5fab88f
* Wed Jan  6 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc1.2
5fab88f
- Add/Remove info pages to/from info pages database after install/before remove
5fab88f
2ea07e7
* Wed Jan  6 2016 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.rc1.1
2ea07e7
- Ship man/info pages right into the main package, along with the main
2ea07e7
  programs.
2ea07e7
- Update to upstream release 1.0.rc1
2ea07e7
- Significant changes include:
2ea07e7
   rhtbz/1283906 - crash in abigail::dwarf_reader::build_reference_type()
2ea07e7
   libabigail/19336 - Better handle redundantly qualified reference types
2ea07e7
   libabigail/19126 - abidw segv on a dwz compressed version of r300_dri.so
2ea07e7
   libabigail/19355 - Libabigail slow on r300_dri.so
2ea07e7
   Numerous other bug fixes and cleanups
2ea07e7
07e807c
* Tue Nov 17 2015 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.7.rc0
07e807c
- Update to upstream release 1.0.rc0
07e807c
- Take a tarball built using make dist now.
07e807c
- Do not run autoreconf -i anymore, during the build.
07e807c
95cac7c
* Wed Sep 9 2015 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.6.20150909git164d17e
95cac7c
- Update to upstream git commit hash 164d17e
95cac7c
  Bug 18791 - libabigail fails to read the output of abidw
95cac7c
  Bug 18818 - abidw aborts on a class with a non-complete base class
95cac7c
  Bug 18828 - Handle force-resolving of multiple declarations-only of the same type
95cac7c
  Bug 18844 - assert failure in abidw at abg-dwarf-reader.cc:6537
95cac7c
  Bug 18894 - Fix representation of enumerators in abixml format
95cac7c
  Bug 18893 - type degradation from dwarf to abixml on libGLU.so
95cac7c
  Bug 18892 - type degradation from DWARF to abixml on libtsan.so
95cac7c
  Bug 18904 - Fix support for C++ rvalue references
95cac7c
  Numerous additional bug fixes
95cac7c
  Added .deb, tarball and directory support to abipkgdiff
95cac7c
  Several improvements to abidw, abidiff and abilint
95cac7c
- Added dpkg build dependency to activate support of .deb archives
95cac7c
- cat tests/test-suite.log when check fails
95cac7c
- Update description to add abipkgdiff
95cac7c
Sinny Kumari f5b177f
* Mon Jul 27 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.4.20150727gitf0d319a
Sinny Kumari f5b177f
- Update to upstream git commit hash f0d319a. Returns different exit status code
Sinny Kumari f5b177f
  when abipkgdiff runs and various other bug fixes in libabigail.
Sinny Kumari f5b177f
- Adjust date, git_revision and Release macros
Sinny Kumari f5b177f
Sinny Kumari 064e6fa
* Mon Jul 20 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.4.20150720gitab1316b
Sinny Kumari 064e6fa
- Update to upstream git commit hash ab1316b. It brings various bug fixes and a
Sinny Kumari 064e6fa
  new abipkgdiff tool to detect abi changes at package level.
Sinny Kumari 064e6fa
- Install abipkgdiff binary in bindir
Sinny Kumari 064e6fa
- Adjust date, git_revision and Release macros
Sinny Kumari 064e6fa
0c5ddc6
* Thu Jun 25 2015 Dodji Seketeli <dodji@seketeli.org> - 1.0-0.3.20150625git43c06a8
0c5ddc6
- Update to upstream git commit hash 43c06a8 (pre-release of 1.0).
0c5ddc6
  This brings lots of bug fixes as well as some improvements in change
0c5ddc6
  report suppression capabilities in the library and in the abidiff
0c5ddc6
  tool.
0c5ddc6
- Tarball name format is now clearer: %%{name}-%%{version}-git-%%{git_revision}
0c5ddc6
- Add new macro tarball_name for that
Sinny Kumari 064e6fa
- Adjust the Source0, git_revision, date, Release macros
0c5ddc6
- Adjust the %setup directive to the fact that the tarball now extracts to
0c5ddc6
  a directory named %%{name}-%%{version}-git-%%{git_revision}
0c5ddc6
- Adjust the packaging of the man pages as some of them moved from
0c5ddc6
  section 7 to section 1.
0c5ddc6
1dcf138
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.2.20150422gita9582d8
1dcf138
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
1dcf138
6f1617b
* Wed Apr 22 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.1.20150420gita9582d8
6f1617b
- Add COPYING-GPLV3 license file as well
6f1617b
- Remove python-sphinx-latex from BuildRequires
6f1617b
- Package latest source tar with git revision a9582d8
6f1617b
6f1617b
* Sat Jan 24 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.3.20150114git63c81f0
6f1617b
- Specify only sub-packgae name instead of giving full package name
6f1617b
- Add info as post and preun Requires for doc sub-package
6f1617b
6f1617b
* Fri Jan 23 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.2.20150114git63c81f0
6f1617b
- Add python-sphinx-latex as BuildRequires
6f1617b
- Use license instead of doc macro for license file installation
6f1617b
- Update checkout value
6f1617b
6f1617b
* Sun Jan 18 2015 Sinny Kumari <ksinny@gmail.com> - 1.0-0.1.git.63c81f0
6f1617b
- Initial build of the libabigail package using source code from git
6f1617b
  revision 63c81f0.