3 %bcond_without apidocs # Doxygen based API documentation
4 %bcond_without static_libs # static library
6 Summary: Application Binary Interface Generic Analysis and Instrumentation Library
7 Summary(pl.UTF-8): Biblioteka do ogólnej analizy i porównywania ABI
13 Source0: ftp://sourceware.org/pub/libabigail/%{name}-%{version}.tar.gz
14 # Source0-md5: 538bb4513a57e6d47365e8adb838c2e1
15 Patch0: %{name}-info.patch
16 URL: http://www.sourceware.org/libabigail/
17 BuildRequires: autoconf >= 2.63
18 BuildRequires: automake >= 1:1.11.1
19 %{?with_apidocs:BuildRequires: doxygen}
20 BuildRequires: elfutils-devel
21 BuildRequires: libstdc++-devel >= 6:4.7
22 BuildRequires: libtool >= 2:2.2
23 BuildRequires: libxml2-devel >= 1:2.6.22
24 # for zip-archive (disabled by default)
25 #BuildRequires: libzip-devel >= 0.10.1
26 BuildRequires: pkgconfig
27 BuildRequires: python >= 1:2.6.6
28 BuildRequires: python3 >= 1:3.5
29 BuildRequires: sphinx-pdg
30 BuildRequires: texinfo
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 This is the Application Binary Interface Generic Analysis and
35 Instrumentation Library.
37 It aims at constructing, manipulating, serializing and de-serializing
38 ABI-relevant artifacts.
40 The set of artifacts of interest is made of quantities like types,
41 variable, functions and declarations of a given library or program.
42 For a given library or program this set of quantities is called an
45 This library aims at (among other things) providing a way to compare
46 two ABI Corpora (plural of corpus), provide detailed information about
47 their differences, and help build tools to infer interesting
48 conclusions about these differences.
50 %description -l pl.UTF-8
51 Ten pakiet zawiera bibliotekę ABIGAIL (Application Binary Interface
52 Generic Analysis and Instrumentation Library), służącą do analizy i
53 porównywania binarnych interfejsów aplikacji (ABI).
55 Celem jest konstruowanie, operowanie, serializacja i deserializacja
56 artefaktów związanych z ABI.
58 Zbiór artefaktów, o których tu mowa, powstaje z wielkości takich jak
59 typy, zmienne, funkcje i deklaracje z danej biblioteki czy programu.
60 Dla danej biblioteki czy programu ten zbiór wielkości jest nazywany
63 Celem biblioteki jest (m.in.) zapewnienie sposobu porównywania dwóch
64 ogółów ABI, udostępnianie szczegółowych informacji o różnicach oraz
65 pomoc w tworzeniu narzędzi, potrafiących wysnuwać interesujące wnioski
66 w oparciu o te różnice.
68 %package -n bash-completion-libabigail
69 Summary: Bash completion for ABIGAIL commands
70 Summary(pl.UTF-8): Bashowe uzupełnianie parametrów poleceń ABIGAIL
71 Group: Applications/Shells
72 Requires: %{name} = %{version}-%{release}
73 Requires: bash-completion >= 2.0
75 %description -n bash-completion-libabigail
76 Bash completion for ABIGAIL commands.
78 %description -n bash-completion-libabigail -l pl.UTF-8
79 Bashowe uzupełnianie parametrów poleceń ABIGAIL.
82 Summary: Header files for ABIGAIL library
83 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki ABIGAIL
84 Group: Development/Libraries
85 Requires: %{name} = %{version}-%{release}
86 Requires: libxml2-devel >= 1:2.6.22
89 Header files for ABIGAIL library.
91 %description devel -l pl.UTF-8
92 Pliki nagłówkowe biblioteki ABIGAIL.
95 Summary: Static ABIGAIL library
96 Summary(pl.UTF-8): Statyczna biblioteka ABIGAIL
97 Group: Development/Libraries
98 Requires: %{name}-devel = %{version}-%{release}
101 Static ABIGAIL library.
103 %description static -l pl.UTF-8
104 Statyczna biblioteka ABIGAIL.
107 Summary: API documentation for ABIGAIL library
108 Summary(pl.UTF-8): Dokumentacja API biblioteki ABIGAIL
113 API documentation for ABIGAIL library.
115 %description apidocs -l pl.UTF-8
116 Dokumentacja API biblioteki ABIGAIL.
123 # must rebuild, supplied libtool contains RH-specific hack (-specs=/usr/lib/rpm/redhat/redhat-hardened-ld)
130 %{?with_apidocs:--enable-apidoc} \
131 --enable-bash-completion \
134 --disable-fedabipkgdiff \
137 --disable-silent-rules \
138 %{!?with_static_libs:--disable-static} \
143 %{__make} -C doc apidoc-html-doxygen
146 %{__make} -C doc/manuals info man
147 # generated by Sphinx with no way to align, so do it now
148 # (summary should start at 41st column)
149 %{__sed} -i -e 's/\.info//;s/ <SPACER>/\t\t\t/' doc/manuals/texinfo/abigail.info
152 rm -rf $RPM_BUILD_ROOT
155 DESTDIR=$RPM_BUILD_ROOT
157 # obsoleted by pkg-config
158 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libabigail.la
160 # not covered by make install
161 %{__make} -C doc/manuals install-man-and-info-doc \
162 DESTDIR=$RPM_BUILD_ROOT
164 # install disabled in makefiles (as of 1.6)
165 install -d $RPM_BUILD_ROOT%{bash_compdir}
166 cp -p bash-completion/abi* $RPM_BUILD_ROOT%{bash_compdir}
169 rm -rf $RPM_BUILD_ROOT
171 %post -p /sbin/postshell
173 -/usr/sbin/fix-info-dir -c %{_infodir}
175 %postun -p /sbin/postshell
177 -/usr/sbin/fix-info-dir -c %{_infodir}
180 %defattr(644,root,root,755)
181 %doc AUTHORS COPYING ChangeLog NEWS README
182 %attr(755,root,root) %{_bindir}/abicompat
183 %attr(755,root,root) %{_bindir}/abidiff
184 %attr(755,root,root) %{_bindir}/abidw
185 %attr(755,root,root) %{_bindir}/abilint
186 %attr(755,root,root) %{_bindir}/abipkgdiff
187 %attr(755,root,root) %{_bindir}/kmidiff
188 %attr(755,root,root) %{_libdir}/libabigail.so.*.*.*
189 %attr(755,root,root) %ghost %{_libdir}/libabigail.so.0
190 %dir %{_libdir}/libabigail
191 %{_libdir}/libabigail/default.abignore
192 %{_infodir}/abigail.info*
193 %{_mandir}/man1/abicompat.1*
194 %{_mandir}/man1/abidiff.1*
195 %{_mandir}/man1/abidw.1*
196 %{_mandir}/man1/abilint.1*
197 %{_mandir}/man1/abipkgdiff.1*
198 %{_mandir}/man7/libabigail.7*
200 %files -n bash-completion-libabigail
201 %defattr(644,root,root,755)
202 %{bash_compdir}/abicompat
203 %{bash_compdir}/abidiff
204 %{bash_compdir}/abidw
205 %{bash_compdir}/abilint
206 %{bash_compdir}/abinilint
207 %{bash_compdir}/abipkgdiff
208 %{bash_compdir}/abisym
211 %defattr(644,root,root,755)
212 %attr(755,root,root) %{_libdir}/libabigail.so
213 %{_includedir}/libabigail
214 %{_pkgconfigdir}/libabigail.pc
215 %{_aclocaldir}/abigail.m4
217 %if %{with static_libs}
219 %defattr(644,root,root,755)
220 %{_libdir}/libabigail.a
225 %defattr(644,root,root,755)