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