]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without tests # do not perform tests | |
4 | # | |
5 | Summary: A collection of utilities and DSOs to handle compiled objects | |
6 | Summary(pl.UTF-8): Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów | |
7 | Name: elfutils | |
8 | Version: 0.157 | |
9 | Release: 1 | |
10 | License: GPL v2+ or LGPL v3+ (libraries), GPL v3+ (programs) | |
11 | Group: Development/Tools | |
12 | Source0: https://fedorahosted.org/releases/e/l/elfutils/%{version}/%{name}-%{version}.tar.bz2 | |
13 | # Source0-md5: 0f6746a55f0bc26558f0c162fe137fa1 | |
14 | Patch0: %{name}-pl.po.patch | |
15 | Patch1: %{name}-debian-manpages.patch | |
16 | Patch2: %{name}-portability.patch | |
17 | Patch3: %{name}-robustify.patch | |
18 | Patch4: %{name}-align.patch | |
19 | Patch5: %{name}-paxflags.patch | |
20 | Patch6: %{name}-sparc.patch | |
21 | Patch7: %{name}-inline.patch | |
22 | Patch8: %{name}-scanf.patch | |
23 | Patch9: %{name}-strings_c.patch | |
24 | URL: https://fedorahosted.org/elfutils/ | |
25 | BuildRequires: autoconf >= 2.63 | |
26 | BuildRequires: automake >= 1:1.8 | |
27 | BuildRequires: gcc >= 5:3.4 | |
28 | BuildRequires: 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 | |
32 | BuildRequires: glibc-devel >= 6:2.3.4 | |
33 | %endif | |
34 | BuildRequires: perl-tools-pod | |
35 | BuildRequires: rpmbuild(macros) >= 1.315 | |
36 | BuildRequires: sharutils | |
37 | %if %{with tests} && %(test -d /proc/self ; echo $?) | |
38 | # native test needs proc (for libdwfl -p PID to work) | |
39 | BuildRequires: MOUNTED_PROC | |
40 | %endif | |
41 | Requires: %{name}-libelf = %{version}-%{release} | |
42 | BuildRoot: %{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 | |
54 | Elfutils is a collection of utilities, including ld (a linker), nm | |
55 | (for listing symbols from object files), size (for listing the section | |
56 | sizes of an object or archive file), strip (for discarding symbols), | |
57 | readline (the see the raw ELF file structures), and elflint (to check | |
58 | for well-formed ELF files). Also included are numerous helper | |
59 | libraries which implement DWARF, ELF, and machine-specific ELF | |
60 | handling. | |
61 | ||
62 | %description -l pl.UTF-8 | |
63 | Elfutils to zestaw narzędzi, składający się z ld (linkera), nm (do | |
64 | listowania symboli z plików obiektów), size (do listowania rozmiarów | |
65 | sekcji plików obiektów lub archiwów), strip (do usuwania symboli), | |
66 | readline (do oglądania surowych struktur plików ELF) oraz elflint (do | |
67 | sprawdzania poprawności plików ELF). Dołączone są także liczne | |
68 | biblioteki pomocnicze z zaimplementowaną obsługą DWARF, ELF i ELF | |
69 | specyficznych dla architektury. | |
70 | ||
71 | %package devel | |
72 | Summary: Development part of libraries to handle compiled objects | |
73 | Summary(pl.UTF-8): Część programistyczna bibliotek do obsługi skompilowanych obiektów | |
74 | Group: Development/Libraries | |
75 | Requires: %{name} = %{version}-%{release} | |
76 | Obsoletes: libelf-devel | |
77 | ||
78 | %description devel | |
79 | The elfutils-devel package contains the development part of libraries | |
80 | to create applications for handling compiled objects. libelf allows | |
81 | you to access the internals of the ELF object file format, so you can | |
82 | see the different sections of an ELF file. libebl provides some | |
83 | higher-level ELF access functionality. libdwarf provides access to the | |
84 | DWARF debugging information. libasm provides a programmable assembler | |
85 | interface. | |
86 | ||
87 | %description devel -l pl.UTF-8 | |
88 | Pakiet elfutils-devel zawiera część programistyczną bibliotek do | |
89 | tworzenia aplikacji obsługujących skompilowane obiekty. libelf pozwala | |
90 | na dostęp do wnętrzności formatu pliku obiektowego ELF, co pozwala na | |
91 | oglądanie różnych sekcji pliku ELF. libebl udostępnia funkcjonalność | |
92 | dostępu do plików ELF trochę wyższego poziomu. libdwarf pozwala na | |
93 | dostęp do informacji DWARF służących do odpluskwiania. libasm | |
94 | udostępnia programowalny interfejs asemblera. | |
95 | ||
96 | %package libelf | |
97 | Summary: Library to read and write ELF files | |
98 | Summary(pl.UTF-8): Biblioteki do odczytu i zapisu plików ELF | |
99 | Group: Libraries | |
100 | #Obsoletes: libelf | |
101 | ||
102 | %description libelf | |
103 | The elfutils-libelf package provides a DSO which allows reading and | |
104 | writing ELF files on a high level. Third party programs depend on this | |
105 | package to read internals of ELF files. The programs of the elfutils | |
106 | package use it also to generate new ELF files. | |
107 | ||
108 | %description libelf -l pl.UTF-8 | |
109 | Pakiet elfutils-libelf udostępnia bibliotekę dzieloną, która pozwala | |
110 | na wysokopoziomowe czytanie i zapisywanie plików ELF. Inne programy | |
111 | wymagają tego pakietu, aby odczytywać zawartość plików ELF. Programy z | |
112 | pakietu elfutils używają jej także do generowania nowych plików ELF. | |
113 | ||
114 | %package static | |
115 | Summary: Static libraries to handle compiled objects | |
116 | Summary(pl.UTF-8): Statyczne biblioteki do obsługi skompilowanych obiektów | |
117 | Group: Development/Libraries | |
118 | Requires: %{name}-devel = %{version}-%{release} | |
119 | Obsoletes: libelf-static | |
120 | ||
121 | %description static | |
122 | The elfutils-static package contains the static libraries to create | |
123 | applications for handling compiled objects. libelf allows you to | |
124 | access the internals of the ELF object file format, so you can see the | |
125 | different sections of an ELF file. libebl provides some higher-level | |
126 | ELF access functionality. libdwarf provides access to the DWARF | |
127 | debugging information. libasm provides a programmable assembler | |
128 | interface. | |
129 | ||
130 | %description static -l pl.UTF-8 | |
131 | Pakiet elfutils-static zawiera statyczne biblioteki do tworzenia | |
132 | aplikacji obsługujących skompilowane obiekty. libelf pozwala na dostęp | |
133 | do wnętrzności formatu pliku obiektowego ELF, co pozwala na oglądanie | |
134 | różnych sekcji pliku ELF. libebl udostępnia funkcjonalność dostępu do | |
135 | plików ELF trochę wyższego poziomu. libdwarf pozwala na dostęp do | |
136 | informacji DWARF służących do odpluskwiania. libasm udostępnia | |
137 | programowalny 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 | |
178 | LC_ALL=C \ | |
179 | %{__make} -C tests check | |
180 | %endif | |
181 | ||
182 | %install | |
183 | rm -rf $RPM_BUILD_ROOT | |
184 | install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}} | |
185 | ||
186 | %{__make} install \ | |
187 | DESTDIR=$RPM_BUILD_ROOT | |
188 | ||
189 | install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
190 | ||
191 | mv $RPM_BUILD_ROOT%{_libdir}/{libelf-*.so,libelf.so.*} $RPM_BUILD_ROOT/%{_lib} | |
192 | ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelf-*.so) \ | |
193 | $RPM_BUILD_ROOT%{_libdir}/libelf.so | |
194 | ||
195 | %find_lang %{name} | |
196 | ||
197 | %clean | |
198 | rm -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 |