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