]> git.pld-linux.org Git - packages/elfutils.git/blame - elfutils.spec
- small upstream fixes for elflint bug (http://sourceware.org/bugzilla/show_bug.cgi...
[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
f2c7e483 9Release: 1
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/
5a22e3bf 26BuildRequires: autoconf >= 2.59
fb1f2abe 27BuildRequires: automake >= 1:1.7
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.*
47
82cf832a 48%define programprefix eu-
ecbc8f89
AF
49
50%description
d5753979
AF
51Elfutils is a collection of utilities, including ld (a linker), nm
52(for listing symbols from object files), size (for listing the section
53sizes of an object or archive file), strip (for discarding symbols),
54readline (the see the raw ELF file structures), and elflint (to check
55for well-formed ELF files). Also included are numerous helper
56libraries which implement DWARF, ELF, and machine-specific ELF
ecbc8f89
AF
57handling.
58
13991385
JR
59%description -l pl.UTF-8
60Elfutils to zestaw narzędzi, składający się z ld (linkera), nm (do
61listowania symboli z plików obiektów), size (do listowania rozmiarów
62sekcji plików obiektów lub archiwów), strip (do usuwania symboli),
63readline (do oglądania surowych struktur plików ELF) oraz elflint (do
64sprawdzania poprawności plików ELF). Dołączone są także liczne
65biblioteki pomocnicze z zaimplementowaną obsługą DWARF, ELF i ELF
7f09d52f
JB
66specyficznych dla architektury.
67
ecbc8f89 68%package devel
7f09d52f 69Summary: Development part of libraries to handle compiled objects
cc5b5c39 70Summary(pl.UTF-8): Część programistyczna bibliotek do obsługi skompilowanych obiektów
7f09d52f 71Group: Development/Libraries
fb301307 72Requires: %{name} = %{version}-%{release}
d5753979 73Obsoletes: libelf-devel
ecbc8f89
AF
74
75%description devel
7f09d52f
JB
76The elfutils-devel package contains the development part of libraries
77to create applications for handling compiled objects. libelf allows
78you to access the internals of the ELF object file format, so you can
79see the different sections of an ELF file. libebl provides some
80higher-level ELF access functionality. libdwarf provides access to the
81DWARF debugging information. libasm provides a programmable assembler
ecbc8f89
AF
82interface.
83
13991385
JR
84%description devel -l pl.UTF-8
85Pakiet elfutils-devel zawiera część programistyczną bibliotek do
86tworzenia aplikacji obsługujących skompilowane obiekty. libelf pozwala
87na dostęp do wnętrzności formatu pliku obiektowego ELF, co pozwala na
88oglądanie różnych sekcji pliku ELF. libebl udostępnia funkcjonalność
89dostępu do plików ELF trochę wyższego poziomu. libdwarf pozwala na
90dostęp do informacji DWARF służących do odpluskwiania. libasm
91udostępnia programowalny interfejs asemblera.
7f09d52f 92
ecbc8f89 93%package libelf
7f09d52f 94Summary: Library to read and write ELF files
cc5b5c39 95Summary(pl.UTF-8): Biblioteki do odczytu i zapisu plików ELF
7f09d52f 96Group: Libraries
e21fb8cd 97#Obsoletes: libelf
ecbc8f89
AF
98
99%description libelf
100The elfutils-libelf package provides a DSO which allows reading and
d5753979
AF
101writing ELF files on a high level. Third party programs depend on this
102package to read internals of ELF files. The programs of the elfutils
103package use it also to generate new ELF files.
ecbc8f89 104
13991385
JR
105%description libelf -l pl.UTF-8
106Pakiet elfutils-libelf udostępnia bibliotekę dzieloną, która pozwala
107na wysokopoziomowe czytanie i zapisywanie plików ELF. Inne programy
108wymagają tego pakietu, aby odczytywać zawartość plików ELF. Programy z
109pakietu elfutils używają jej także do generowania nowych plików ELF.
7f09d52f 110
2a18e913 111%package static
7f09d52f 112Summary: Static libraries to handle compiled objects
cc5b5c39 113Summary(pl.UTF-8): Statyczne biblioteki do obsługi skompilowanych obiektów
7f09d52f 114Group: Development/Libraries
fb301307 115Requires: %{name}-devel = %{version}-%{release}
9da385b9 116Obsoletes: libelf-static
2a18e913
AF
117
118%description static
119The elfutils-static package contains the static libraries to create
120applications for handling compiled objects. libelf allows you to
121access the internals of the ELF object file format, so you can see the
122different sections of an ELF file. libebl provides some higher-level
123ELF access functionality. libdwarf provides access to the DWARF
124debugging information. libasm provides a programmable assembler
125interface.
126
13991385 127%description static -l pl.UTF-8
7f09d52f 128Pakiet elfutils-static zawiera statyczne biblioteki do tworzenia
13991385
JR
129aplikacji obsługujących skompilowane obiekty. libelf pozwala na dostęp
130do wnętrzności formatu pliku obiektowego ELF, co pozwala na oglądanie
131różnych sekcji pliku ELF. libebl udostępnia funkcjonalność dostępu do
132plików ELF trochę wyższego poziomu. libdwarf pozwala na dostęp do
133informacji DWARF służących do odpluskwiania. libasm udostępnia
7f09d52f 134programowalny interfejs asemblera.
2a18e913 135
ecbc8f89
AF
136%prep
137%setup -q
96e6dfc1 138#patch0 -p1
0937133b 139%patch1 -p1
5d5c3b33 140%patch2 -p1
30cc8b05
JR
141%patch3 -p1
142%patch4 -p1
f1d8205d 143%patch5 -p1
3dfc27e9 144%patch6 -p1
4a8c3342 145%patch7 -p1
e8d7e46b 146%patch8 -p1
c7da537f 147%patch9 -p0
156767db 148%patch10 -p1
d748a5ee 149
f2c7e483 150%{__rm} po/stamp-po
ecbc8f89 151
82cf832a 152# temporarily disable test failing on specific archs
e5c7956c 153%ifarch alpha
82cf832a
JB
154%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile
155%endif
80e874f2 156
ecbc8f89 157%build
30cc8b05 158#%%{__gettextize}
0f5a32a6 159%{__aclocal} -I m4
d5753979 160%{__autoheader}
d5753979 161%{__autoconf}
d748a5ee 162%{__automake}
d5753979 163%configure \
96e6dfc1 164 --disable-werror \
e33ecb8e 165 --program-prefix=%{programprefix}
ecbc8f89 166
fb301307
JB
167# make check depends on test-nlist not stripped
168%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile
169
b1ad9ed4 170%{__make}
0937133b 171%{__make} -C debian/man
d748a5ee 172
6771db41 173%if %{with tests}
80e874f2
JB
174# some tests rely on English messages
175LC_ALL=C \
6771db41
JB
176%{__make} -C tests check
177%endif
0937133b 178
ecbc8f89 179%install
d5753979 180rm -rf $RPM_BUILD_ROOT
30cc8b05 181install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
ecbc8f89 182
d5753979 183%{__make} install \
668f585d 184 DESTDIR=$RPM_BUILD_ROOT
ecbc8f89 185
0937133b 186install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
ecbc8f89 187
668f585d
JB
188mv $RPM_BUILD_ROOT%{_libdir}/{libelf-*.so,libelf.so.*} $RPM_BUILD_ROOT/%{_lib}
189ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelf-*.so) \
30cc8b05
JR
190 $RPM_BUILD_ROOT%{_libdir}/libelf.so
191
9a404d6e 192%find_lang %{name}
ecbc8f89
AF
193
194%clean
0937133b 195rm -rf $RPM_BUILD_ROOT
ecbc8f89 196
7f09d52f
JB
197%post -p /sbin/ldconfig
198%postun -p /sbin/ldconfig
ecbc8f89 199
7f09d52f
JB
200%post libelf -p /sbin/ldconfig
201%postun libelf -p /sbin/ldconfig
ecbc8f89 202
d748a5ee 203%files
d5753979 204%defattr(644,root,root,755)
54a69a2e 205%doc AUTHORS EXCEPTION NEWS NOTES README THANKS TODO
668f585d 206%attr(755,root,root) %{_bindir}/eu-*
0937133b 207%attr(755,root,root) %{_libdir}/libasm-*.so
b68ac3ec 208%attr(755,root,root) %ghost %{_libdir}/libasm.so.1
0937133b 209%attr(755,root,root) %{_libdir}/libdw-*.so
b68ac3ec 210%attr(755,root,root) %ghost %{_libdir}/libdw.so.1
ecbc8f89 211%dir %{_libdir}/elfutils
2a18e913 212%attr(755,root,root) %{_libdir}/elfutils/lib*.so
668f585d 213%{_mandir}/man1/eu-*.1*
ecbc8f89
AF
214
215%files devel
d5753979 216%defattr(644,root,root,755)
0937133b
JB
217%attr(755,root,root) %{_libdir}/libasm.so
218%attr(755,root,root) %{_libdir}/libdw.so
0937133b
JB
219%attr(755,root,root) %{_libdir}/libelf.so
220%{_libdir}/libebl.a
668f585d
JB
221%{_includedir}/elfutils
222%{_includedir}/dwarf.h
223%{_includedir}/gelf.h
224%{_includedir}/libelf.h
225%{_includedir}/nlist.h
ecbc8f89 226
d748a5ee 227%files libelf -f %{name}.lang
d5753979 228%defattr(644,root,root,755)
30cc8b05 229%attr(755,root,root) /%{_lib}/libelf-*.so
b68ac3ec 230%attr(755,root,root) %ghost /%{_lib}/libelf.so.1
2a18e913
AF
231
232%files static
233%defattr(644,root,root,755)
0937133b
JB
234%{_libdir}/libasm.a
235%{_libdir}/libdw.a
0937133b 236%{_libdir}/libelf.a
This page took 0.101276 seconds and 4 git commands to generate.