]> git.pld-linux.org Git - packages/elfutils.git/blame - elfutils.spec
- release 2
[packages/elfutils.git] / elfutils.spec
CommitLineData
fb301307
JB
1#
2# Conditional build:
0f22fc8f 3%bcond_without tests # do not perform tests
fb301307 4#
7f09d52f 5Summary: A collection of utilities and DSOs to handle compiled objects
cc5b5c39 6Summary(pl.UTF-8): Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów
d5753979 7Name: elfutils
96e6dfc1 8Version: 0.153
abd68bf7 9Release: 2
a387ef5e 10License: GPL v2 with OSL linking exception
d5753979 11Group: Development/Tools
b68ac3ec 12Source0: https://fedorahosted.org/releases/e/l/elfutils/%{version}/%{name}-%{version}.tar.bz2
96e6dfc1 13# Source0-md5: 289a146182bc29f0236eaa15d8ebdf98
b1ad9ed4 14Patch0: %{name}-pl.po.patch
0937133b 15Patch1: %{name}-debian-manpages.patch
30cc8b05 16Patch2: %{name}-portability.patch
6e7aa217
JB
17Patch3: %{name}-robustify.patch
18Patch4: %{name}-align.patch
2adb9a49 19Patch5: %{name}-paxflags.patch
d748a5ee 20Patch6: %{name}-sparc.patch
e8d7e46b 21Patch7: %{name}-inline.patch
b9da8af5 22Patch8: %{name}-scanf.patch
c7da537f 23Patch9: %{name}-strings_c.patch
156767db 24Patch10: %{name}-upstream.patch
47d694b2 25URL: https://fedorahosted.org/elfutils/
61d61d68
JB
26BuildRequires: autoconf >= 2.63
27BuildRequires: automake >= 1:1.8
754b8f17 28BuildRequires: gcc >= 5:3.4
b1ad9ed4 29BuildRequires: gettext-devel
5ac8a270 30%ifarch %{x8664} alpha ia64 ppc64 s390x sparc64
13e1fe93 31# PR*FAST{8,16} in <inttypes.h> were broken for 64-bit archs in older versions
ad511c9f 32# also needed for nanosecond timestamps on alpha
13e1fe93
JB
33BuildRequires: glibc-devel >= 6:2.3.4
34%endif
0937133b 35BuildRequires: perl-tools-pod
21429b83 36BuildRequires: rpmbuild(macros) >= 1.315
b1ad9ed4 37BuildRequires: sharutils
4a8c3342
JB
38%if %{with tests} && %(test -d /proc/self ; echo $?)
39# native test needs proc (for libdwfl -p PID to work)
40BuildRequires: MOUNTED_PROC
41%endif
fb301307 42Requires: %{name}-libelf = %{version}-%{release}
7f09d52f 43BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
ecbc8f89 44
dea0813b 45# fails to build with -Wl,-s
46%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
61d61d68
JB
47%if %{with tests} && 0%(echo %{rpmcflags} | grep -q '\<-g' ; echo $?)
48# tests require debug symbols
49%define specflags -g
50%endif
dea0813b 51
82cf832a 52%define programprefix eu-
ecbc8f89
AF
53
54%description
d5753979
AF
55Elfutils is a collection of utilities, including ld (a linker), nm
56(for listing symbols from object files), size (for listing the section
57sizes of an object or archive file), strip (for discarding symbols),
58readline (the see the raw ELF file structures), and elflint (to check
59for well-formed ELF files). Also included are numerous helper
60libraries which implement DWARF, ELF, and machine-specific ELF
ecbc8f89
AF
61handling.
62
13991385
JR
63%description -l pl.UTF-8
64Elfutils to zestaw narzędzi, składający się z ld (linkera), nm (do
65listowania symboli z plików obiektów), size (do listowania rozmiarów
66sekcji plików obiektów lub archiwów), strip (do usuwania symboli),
67readline (do oglądania surowych struktur plików ELF) oraz elflint (do
68sprawdzania poprawności plików ELF). Dołączone są także liczne
69biblioteki pomocnicze z zaimplementowaną obsługą DWARF, ELF i ELF
7f09d52f
JB
70specyficznych dla architektury.
71
ecbc8f89 72%package devel
7f09d52f 73Summary: Development part of libraries to handle compiled objects
cc5b5c39 74Summary(pl.UTF-8): Część programistyczna bibliotek do obsługi skompilowanych obiektów
7f09d52f 75Group: Development/Libraries
fb301307 76Requires: %{name} = %{version}-%{release}
d5753979 77Obsoletes: libelf-devel
ecbc8f89
AF
78
79%description devel
7f09d52f
JB
80The elfutils-devel package contains the development part of libraries
81to create applications for handling compiled objects. libelf allows
82you to access the internals of the ELF object file format, so you can
83see the different sections of an ELF file. libebl provides some
84higher-level ELF access functionality. libdwarf provides access to the
85DWARF debugging information. libasm provides a programmable assembler
ecbc8f89
AF
86interface.
87
13991385
JR
88%description devel -l pl.UTF-8
89Pakiet elfutils-devel zawiera część programistyczną bibliotek do
90tworzenia aplikacji obsługujących skompilowane obiekty. libelf pozwala
91na dostęp do wnętrzności formatu pliku obiektowego ELF, co pozwala na
92oglądanie różnych sekcji pliku ELF. libebl udostępnia funkcjonalność
93dostępu do plików ELF trochę wyższego poziomu. libdwarf pozwala na
94dostęp do informacji DWARF służących do odpluskwiania. libasm
95udostępnia programowalny interfejs asemblera.
7f09d52f 96
ecbc8f89 97%package libelf
7f09d52f 98Summary: Library to read and write ELF files
cc5b5c39 99Summary(pl.UTF-8): Biblioteki do odczytu i zapisu plików ELF
7f09d52f 100Group: Libraries
e21fb8cd 101#Obsoletes: libelf
ecbc8f89
AF
102
103%description libelf
104The elfutils-libelf package provides a DSO which allows reading and
d5753979
AF
105writing ELF files on a high level. Third party programs depend on this
106package to read internals of ELF files. The programs of the elfutils
107package use it also to generate new ELF files.
ecbc8f89 108
13991385
JR
109%description libelf -l pl.UTF-8
110Pakiet elfutils-libelf udostępnia bibliotekę dzieloną, która pozwala
111na wysokopoziomowe czytanie i zapisywanie plików ELF. Inne programy
112wymagają tego pakietu, aby odczytywać zawartość plików ELF. Programy z
113pakietu elfutils używają jej także do generowania nowych plików ELF.
7f09d52f 114
2a18e913 115%package static
7f09d52f 116Summary: Static libraries to handle compiled objects
cc5b5c39 117Summary(pl.UTF-8): Statyczne biblioteki do obsługi skompilowanych obiektów
7f09d52f 118Group: Development/Libraries
fb301307 119Requires: %{name}-devel = %{version}-%{release}
9da385b9 120Obsoletes: libelf-static
2a18e913
AF
121
122%description static
123The elfutils-static package contains the static libraries to create
124applications for handling compiled objects. libelf allows you to
125access the internals of the ELF object file format, so you can see the
126different sections of an ELF file. libebl provides some higher-level
127ELF access functionality. libdwarf provides access to the DWARF
128debugging information. libasm provides a programmable assembler
129interface.
130
13991385 131%description static -l pl.UTF-8
7f09d52f 132Pakiet elfutils-static zawiera statyczne biblioteki do tworzenia
13991385
JR
133aplikacji obsługujących skompilowane obiekty. libelf pozwala na dostęp
134do wnętrzności formatu pliku obiektowego ELF, co pozwala na oglądanie
135różnych sekcji pliku ELF. libebl udostępnia funkcjonalność dostępu do
136plików ELF trochę wyższego poziomu. libdwarf pozwala na dostęp do
137informacji DWARF służących do odpluskwiania. libasm udostępnia
7f09d52f 138programowalny interfejs asemblera.
2a18e913 139
ecbc8f89
AF
140%prep
141%setup -q
61d61d68 142%patch0 -p1
0937133b 143%patch1 -p1
5d5c3b33 144%patch2 -p1
30cc8b05
JR
145%patch3 -p1
146%patch4 -p1
f1d8205d 147%patch5 -p1
3dfc27e9 148%patch6 -p1
4a8c3342 149%patch7 -p1
e8d7e46b 150%patch8 -p1
c7da537f 151%patch9 -p0
156767db 152%patch10 -p1
d748a5ee 153
f2c7e483 154%{__rm} po/stamp-po
ecbc8f89 155
82cf832a 156# temporarily disable test failing on specific archs
e5c7956c 157%ifarch alpha
82cf832a
JB
158%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile
159%endif
80e874f2 160
ecbc8f89 161%build
30cc8b05 162#%%{__gettextize}
0f5a32a6 163%{__aclocal} -I m4
d5753979 164%{__autoheader}
d5753979 165%{__autoconf}
d748a5ee 166%{__automake}
d5753979 167%configure \
96e6dfc1 168 --disable-werror \
e33ecb8e 169 --program-prefix=%{programprefix}
ecbc8f89 170
fb301307
JB
171# make check depends on test-nlist not stripped
172%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile
173
b1ad9ed4 174%{__make}
0937133b 175%{__make} -C debian/man
d748a5ee 176
6771db41 177%if %{with tests}
80e874f2
JB
178# some tests rely on English messages
179LC_ALL=C \
6771db41
JB
180%{__make} -C tests check
181%endif
0937133b 182
ecbc8f89 183%install
d5753979 184rm -rf $RPM_BUILD_ROOT
30cc8b05 185install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
ecbc8f89 186
d5753979 187%{__make} install \
668f585d 188 DESTDIR=$RPM_BUILD_ROOT
ecbc8f89 189
0937133b 190install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
ecbc8f89 191
668f585d
JB
192mv $RPM_BUILD_ROOT%{_libdir}/{libelf-*.so,libelf.so.*} $RPM_BUILD_ROOT/%{_lib}
193ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelf-*.so) \
30cc8b05
JR
194 $RPM_BUILD_ROOT%{_libdir}/libelf.so
195
9a404d6e 196%find_lang %{name}
ecbc8f89
AF
197
198%clean
0937133b 199rm -rf $RPM_BUILD_ROOT
ecbc8f89 200
7f09d52f
JB
201%post -p /sbin/ldconfig
202%postun -p /sbin/ldconfig
ecbc8f89 203
7f09d52f
JB
204%post libelf -p /sbin/ldconfig
205%postun libelf -p /sbin/ldconfig
ecbc8f89 206
d748a5ee 207%files
d5753979 208%defattr(644,root,root,755)
54a69a2e 209%doc AUTHORS EXCEPTION NEWS NOTES README THANKS TODO
668f585d 210%attr(755,root,root) %{_bindir}/eu-*
0937133b 211%attr(755,root,root) %{_libdir}/libasm-*.so
b68ac3ec 212%attr(755,root,root) %ghost %{_libdir}/libasm.so.1
0937133b 213%attr(755,root,root) %{_libdir}/libdw-*.so
b68ac3ec 214%attr(755,root,root) %ghost %{_libdir}/libdw.so.1
ecbc8f89 215%dir %{_libdir}/elfutils
2a18e913 216%attr(755,root,root) %{_libdir}/elfutils/lib*.so
668f585d 217%{_mandir}/man1/eu-*.1*
ecbc8f89
AF
218
219%files devel
d5753979 220%defattr(644,root,root,755)
0937133b
JB
221%attr(755,root,root) %{_libdir}/libasm.so
222%attr(755,root,root) %{_libdir}/libdw.so
0937133b
JB
223%attr(755,root,root) %{_libdir}/libelf.so
224%{_libdir}/libebl.a
668f585d
JB
225%{_includedir}/elfutils
226%{_includedir}/dwarf.h
227%{_includedir}/gelf.h
228%{_includedir}/libelf.h
229%{_includedir}/nlist.h
ecbc8f89 230
d748a5ee 231%files libelf -f %{name}.lang
d5753979 232%defattr(644,root,root,755)
30cc8b05 233%attr(755,root,root) /%{_lib}/libelf-*.so
b68ac3ec 234%attr(755,root,root) %ghost /%{_lib}/libelf.so.1
2a18e913
AF
235
236%files static
237%defattr(644,root,root,755)
0937133b
JB
238%{_libdir}/libasm.a
239%{_libdir}/libdw.a
0937133b 240%{_libdir}/libelf.a
This page took 0.141883 seconds and 4 git commands to generate.