]> git.pld-linux.org Git - packages/elfutils.git/blame_incremental - elfutils.spec
- really remove am patch
[packages/elfutils.git] / elfutils.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_without tests # do not perform tests
4#
5Summary: A collection of utilities and DSOs to handle compiled objects
6Summary(pl.UTF-8): Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów
7Name: elfutils
8Version: 0.157
9Release: 1
10License: GPL v2+ or LGPL v3+ (libraries), GPL v3+ (programs)
11Group: Development/Tools
12Source0: https://fedorahosted.org/releases/e/l/elfutils/%{version}/%{name}-%{version}.tar.bz2
13# Source0-md5: 0f6746a55f0bc26558f0c162fe137fa1
14Patch0: %{name}-pl.po.patch
15Patch1: %{name}-debian-manpages.patch
16Patch2: %{name}-portability.patch
17Patch3: %{name}-robustify.patch
18Patch4: %{name}-align.patch
19Patch5: %{name}-paxflags.patch
20Patch6: %{name}-sparc.patch
21Patch7: %{name}-inline.patch
22Patch8: %{name}-scanf.patch
23Patch9: %{name}-strings_c.patch
24URL: https://fedorahosted.org/elfutils/
25BuildRequires: autoconf >= 2.63
26BuildRequires: automake >= 1:1.8
27BuildRequires: gcc >= 5:3.4
28BuildRequires: gettext-devel
29%ifarch %{x8664} alpha ia64 ppc64 s390x sparc64
30# PR*FAST{8,16} in <inttypes.h> were broken for 64-bit archs in older versions
31# also needed for nanosecond timestamps on alpha
32BuildRequires: glibc-devel >= 6:2.3.4
33%endif
34BuildRequires: perl-tools-pod
35BuildRequires: rpmbuild(macros) >= 1.315
36BuildRequires: sharutils
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
41Requires: %{name}-libelf = %{version}-%{release}
42BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44# fails to build with -Wl,-s
45%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
46%if %{with tests} && 0%(echo %{rpmcflags} | grep -q '\<-g' ; echo $?)
47# tests require debug symbols
48%define specflags -g
49%endif
50
51%define programprefix eu-
52
53%description
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
60handling.
61
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
69specyficznych dla architektury.
70
71%package devel
72Summary: Development part of libraries to handle compiled objects
73Summary(pl.UTF-8): Część programistyczna bibliotek do obsługi skompilowanych obiektów
74Group: Development/Libraries
75Requires: %{name} = %{version}-%{release}
76Obsoletes: libelf-devel
77
78%description devel
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
85interface.
86
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.
95
96%package libelf
97Summary: Library to read and write ELF files
98Summary(pl.UTF-8): Biblioteki do odczytu i zapisu plików ELF
99Group: Libraries
100#Obsoletes: libelf
101
102%description libelf
103The elfutils-libelf package provides a DSO which allows reading and
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.
107
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.
113
114%package static
115Summary: Static libraries to handle compiled objects
116Summary(pl.UTF-8): Statyczne biblioteki do obsługi skompilowanych obiektów
117Group: Development/Libraries
118Requires: %{name}-devel = %{version}-%{release}
119Obsoletes: libelf-static
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
130%description static -l pl.UTF-8
131Pakiet elfutils-static zawiera statyczne biblioteki do tworzenia
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
137programowalny interfejs asemblera.
138
139%prep
140%setup -q
141#%patch0 -p1
142%patch1 -p1
143%patch2 -p1
144%patch3 -p1
145%patch4 -p1
146%patch5 -p1
147%patch6 -p1
148%patch7 -p1
149%patch8 -p1
150%patch9 -p0
151
152%{__rm} po/stamp-po
153
154# temporarily disable test failing on specific archs
155# - as for 0.155/binutils-2.23.52.0.1 this fails also on x86
156#ifarch alpha
157%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile.am
158#endif
159
160%build
161#%%{__gettextize}
162%{__aclocal} -I m4
163%{__autoheader}
164%{__autoconf}
165%{__automake}
166%configure \
167 --disable-werror \
168 --program-prefix=%{programprefix}
169
170# make check depends on test-nlist not stripped
171%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile
172
173%{__make}
174%{__make} -C debian/man
175
176%if %{with tests}
177# some tests rely on English messages
178LC_ALL=C \
179%{__make} -C tests check
180%endif
181
182%install
183rm -rf $RPM_BUILD_ROOT
184install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
185
186%{__make} install \
187 DESTDIR=$RPM_BUILD_ROOT
188
189install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
190
191mv $RPM_BUILD_ROOT%{_libdir}/{libelf-*.so,libelf.so.*} $RPM_BUILD_ROOT/%{_lib}
192ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelf-*.so) \
193 $RPM_BUILD_ROOT%{_libdir}/libelf.so
194
195%find_lang %{name}
196
197%clean
198rm -rf $RPM_BUILD_ROOT
199
200%post -p /sbin/ldconfig
201%postun -p /sbin/ldconfig
202
203%post libelf -p /sbin/ldconfig
204%postun libelf -p /sbin/ldconfig
205
206%files
207%defattr(644,root,root,755)
208%doc AUTHORS CONTRIBUTING ChangeLog NEWS NOTES README THANKS TODO
209%attr(755,root,root) %{_bindir}/eu-*
210%attr(755,root,root) %{_libdir}/libasm-*.so
211%attr(755,root,root) %ghost %{_libdir}/libasm.so.1
212%attr(755,root,root) %{_libdir}/libdw-*.so
213%attr(755,root,root) %ghost %{_libdir}/libdw.so.1
214%dir %{_libdir}/elfutils
215%attr(755,root,root) %{_libdir}/elfutils/lib*.so
216%{_mandir}/man1/eu-*.1*
217
218%files devel
219%defattr(644,root,root,755)
220%attr(755,root,root) %{_libdir}/libasm.so
221%attr(755,root,root) %{_libdir}/libdw.so
222%attr(755,root,root) %{_libdir}/libelf.so
223%{_libdir}/libebl.a
224%{_includedir}/elfutils
225%{_includedir}/dwarf.h
226%{_includedir}/gelf.h
227%{_includedir}/libelf.h
228%{_includedir}/nlist.h
229
230%files libelf -f %{name}.lang
231%defattr(644,root,root,755)
232%attr(755,root,root) /%{_lib}/libelf-*.so
233%attr(755,root,root) %ghost /%{_lib}/libelf.so.1
234
235%files static
236%defattr(644,root,root,755)
237%{_libdir}/libasm.a
238%{_libdir}/libdw.a
239%{_libdir}/libelf.a
This page took 0.064098 seconds and 4 git commands to generate.