]> git.pld-linux.org Git - packages/elfutils.git/blobdiff - elfutils.spec
- disable run-elflint-self.sh on sparcs and alpha
[packages/elfutils.git] / elfutils.spec
index f47cd1351e090f281aa696ed548c3c4865f76df1..3826c05553af67c146f9f2d25e4764b2e980b572 100644 (file)
-Summary: A collection of utilities and DSOs to handle compiled objects.
-Name: elfutils
-Version: 0.76
-Release: 3
-Copyright: GPL
-Group: Development/Tools
-#URL: file://home/devel/drepper
-Source: elfutils-%{version}.tar.gz
-Obsoletes: libelf libelf-devel
-Requires: elfutils-libelf = %{version}-%{release}
-
-# ExcludeArch: xxx
-
-BuildRoot: %{_tmppath}/%{name}-root
-BuildRequires: gcc >= 3.2
-BuildRequires: sharutils
-
-%define _gnu %{nil}
-%define _programprefix eu-
+#
+# Conditional build:
+%bcond_without tests   # do not perform tests
+#
+Summary:       A collection of utilities and DSOs to handle compiled objects
+Summary(pl.UTF-8):     Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów
+Name:          elfutils
+Version:       0.128
+Release:       2
+License:       GPL v2 with OSL linking exception
+Group:         Development/Tools
+# http://download.fedora.redhat.com/pub/fedora/linux/core/development/source/SRPMS/
+# or abuse systemtap to get .tar.gz directly
+Source0:       ftp://sources.redhat.com/pub/systemtap/elfutils/%{name}-%{version}.tar.gz
+# Source0-md5: 4da87e49616101ec256e313218c421ef
+Patch0:                %{name}-pl.po.patch
+Patch1:                %{name}-debian-manpages.patch
+Patch2:                %{name}-portability.patch
+Patch3:                %{name}-robustify.patch
+Patch4:                %{name}-align.patch
+Patch5:                %{name}-paxflags.patch
+Patch6:                %{name}-sparc.patch
+Patch7:                %{name}-strip-copy-symtab.patch
+Patch8:                %{name}-gcc4.patch
+Patch9:                %{name}-inline.patch
+Patch10:       %{name}-Werror.patch
+#URL:          file://home/devel/drepper
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake >= 1:1.7
+BuildRequires: gcc >= 3.2
+BuildRequires: gettext-devel
+%ifarch %{x8664} alpha ia64 ppc64 s390x sparc64
+# PR*FAST{8,16} in <inttypes.h> were broken for 64-bit archs in older versions
+# also needed for nanosecond timestamps on alpha
+BuildRequires: glibc-devel >= 6:2.3.4
+%endif
+BuildRequires: libltdl-devel
+BuildRequires: perl-tools-pod
+BuildRequires: rpmbuild(macros) >= 1.315
+BuildRequires: sharutils
+%if %{with tests} && %(test -d /proc/self ; echo $?)
+# native test needs proc (for libdwfl -p PID to work)
+BuildRequires: MOUNTED_PROC
+%endif
+Requires:      %{name}-libelf = %{version}-%{release}
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+# fails to build with -Wl,-s
+%define                filterout_ld    (-Wl,)?-[sS] (-Wl,)?--strip.*
+
+%define                _programprefix  eu-
 
 %description
-Elfutils is a collection of utilities, including ld (a linker),
-nm (for listing symbols from object files), size (for listing the
-section sizes of an object or archive file), strip (for discarding
-symbols), readline (the see the raw ELF file structures), and elflint
-(to check for well-formed ELF files).  Also included are numerous
-helper libraries which implement DWARF, ELF, and machine-specific ELF
+Elfutils is a collection of utilities, including ld (a linker), nm
+(for listing symbols from object files), size (for listing the section
+sizes of an object or archive file), strip (for discarding symbols),
+readline (the see the raw ELF file structures), and elflint (to check
+for well-formed ELF files). Also included are numerous helper
+libraries which implement DWARF, ELF, and machine-specific ELF
 handling.
 
+%description -l pl.UTF-8
+Elfutils to zestaw narzędzi, składający się z ld (linkera), nm (do
+listowania symboli z plików obiektów), size (do listowania rozmiarów
+sekcji plików obiektów lub archiwów), strip (do usuwania symboli),
+readline (do oglądania surowych struktur plików ELF) oraz elflint (do
+sprawdzania poprawności plików ELF). Dołączone są także liczne
+biblioteki pomocnicze z zaimplementowaną obsługą DWARF, ELF i ELF
+specyficznych dla architektury.
+
 %package devel
-Summary: Development libraries to handle compiled objects.
-Group: Development/Tools
-Requires: elfutils = %{version}-%{release}
+Summary:       Development part of libraries to handle compiled objects
+Summary(pl.UTF-8):     Część programistyczna bibliotek do obsługi skompilowanych obiektów
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     libelf-devel
 
 %description devel
-The elfutils-devel package contains the libraries to create
-applications for handling compiled objects.  libelf allows you to
-access the internals of the ELF object file format, so you can see the
-different sections of an ELF file.  libebl provides some higher-level
-ELF access functionality.  libdwarf provides access to the DWARF
-debugging information.  libasm provides a programmable assembler
+The elfutils-devel package contains the development part of libraries
+to create applications for handling compiled objects. libelf allows
+you to access the internals of the ELF object file format, so you can
+see the different sections of an ELF file. libebl provides some
+higher-level ELF access functionality. libdwarf provides access to the
+DWARF debugging information. libasm provides a programmable assembler
 interface.
 
+%description devel -l pl.UTF-8
+Pakiet elfutils-devel zawiera część programistyczną bibliotek do
+tworzenia aplikacji obsługujących skompilowane obiekty. libelf pozwala
+na dostęp do wnętrzności formatu pliku obiektowego ELF, co pozwala na
+oglądanie różnych sekcji pliku ELF. libebl udostępnia funkcjonalność
+dostępu do plików ELF trochę wyższego poziomu. libdwarf pozwala na
+dostęp do informacji DWARF służących do odpluskwiania. libasm
+udostępnia programowalny interfejs asemblera.
+
 %package libelf
-Summary: Library to read and write ELF files.
-Group: Development/Tools
+Summary:       Library to read and write ELF files
+Summary(pl.UTF-8):     Biblioteki do odczytu i zapisu plików ELF
+Group:         Libraries
+#Obsoletes:    libelf
 
 %description libelf
 The elfutils-libelf package provides a DSO which allows reading and
-writing ELF files on a high level.  Third party programs depend on
-this package to read internals of ELF files.  The programs of the
-elfutils package use it also to generate new ELF files.
+writing ELF files on a high level. Third party programs depend on this
+package to read internals of ELF files. The programs of the elfutils
+package use it also to generate new ELF files.
+
+%description libelf -l pl.UTF-8
+Pakiet elfutils-libelf udostępnia bibliotekę dzieloną, która pozwala
+na wysokopoziomowe czytanie i zapisywanie plików ELF. Inne programy
+wymagają tego pakietu, aby odczytywać zawartość plików ELF. Programy z
+pakietu elfutils używają jej także do generowania nowych plików ELF.
+
+%package static
+Summary:       Static libraries to handle compiled objects
+Summary(pl.UTF-8):     Statyczne biblioteki do obsługi skompilowanych obiektów
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Obsoletes:     libelf-static
+
+%description static
+The elfutils-static package contains the static libraries to create
+applications for handling compiled objects. libelf allows you to
+access the internals of the ELF object file format, so you can see the
+different sections of an ELF file. libebl provides some higher-level
+ELF access functionality. libdwarf provides access to the DWARF
+debugging information. libasm provides a programmable assembler
+interface.
+
+%description static -l pl.UTF-8
+Pakiet elfutils-static zawiera statyczne biblioteki do tworzenia
+aplikacji obsługujących skompilowane obiekty. libelf pozwala na dostęp
+do wnętrzności formatu pliku obiektowego ELF, co pozwala na oglądanie
+różnych sekcji pliku ELF. libebl udostępnia funkcjonalność dostępu do
+plików ELF trochę wyższego poziomu. libdwarf pozwala na dostęp do
+informacji DWARF służących do odpluskwiania. libasm udostępnia
+programowalny interfejs asemblera.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+
+rm -f po/stamp-po
+
+# strip-test5 needs adjusting for strip-copy-symtab patch (already in FC, but not worth bothering)
+sed -i -e 's/ run-strip-test5\.sh / /' tests/Makefile.am
 
 %build
-mkdir build-%{_target_platform}
-cd build-%{_target_platform}
-../configure \
-  --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
-  --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
-  --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
-  --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
-  --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
-  --infodir=%{_infodir} --program-prefix=%{_programprefix} --enable-shared
-cd ..
+#%%{__gettextize}
+%{__aclocal}
+%{__autoheader}
+%{__autoconf}
+%{__automake}
+%configure \
+       --program-prefix=%{_programprefix} \
+       --enable-shared
+
+# make check depends on test-nlist not stripped
+%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile
+
+# disable test failing on specific archs
+%ifarch sparc sparc64 alpha
+%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile
+%endif
+
+%{__make}
+%{__make} -C debian/man
+
+%if %{with tests}
+# some tests rely on English messages
+LC_ALL=C \
+%{__make} -C tests check
+%endif
 
 %install
-rm -rf ${RPM_BUILD_ROOT}
-mkdir -p ${RPM_BUILD_ROOT}%{_prefix}
-
-cd build-%{_target_platform}
-#make check
-%makeinstall
-
-chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
-chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so*
-
-cd ..
-
-# XXX Nuke unpackaged files
-{ cd ${RPM_BUILD_ROOT}
-  rm -f .%{_bindir}/eu-ld
-  rm -f .%{_includedir}/elfutils/libasm.h
-  rm -f .%{_includedir}/elfutils/libdw.h
-  rm -f .%{_includedir}/elfutils/libdwarf.h
-  rm -f .%{_libdir}/libasm-%{version}.so
-  rm -f .%{_libdir}/libasm.a
-  rm -f .%{_libdir}/libdw-%{version}.so
-  rm -f .%{_libdir}/libdw.a
-  rm -f .%{_libdir}/libdwarf.a
-}
-
-%check
-cd build-%{_target_platform}
-make check
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
 
-%clean
-rm -rf ${RPM_BUILD_ROOT}
+# *OBJEXT must be passed to workaround problem with messed gettext,
+# which doesn't like *-po dir names
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       MKINSTALLDIRS=$(pwd)/config/mkinstalldirs \
+       CATOBJEXT=.gmo \
+       INSTOBJEXT=.mo
+
+install debian/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
+
+mv $RPM_BUILD_ROOT%{_libdir}/libelf-*.so $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libelf-*.so) \
+        $RPM_BUILD_ROOT%{_libdir}/libelf.so
 
-%post -p /sbin/ldconfig
+/sbin/ldconfig -n -N $RPM_BUILD_ROOT%{_libdir}
+/sbin/ldconfig -n -N $RPM_BUILD_ROOT/%{_lib}
 
-%postun -p /sbin/ldconfig
+%find_lang %{name}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
 
-%post libelf -p /sbin/ldconfig
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
 
-%postun libelf -p /sbin/ldconfig
+%post  libelf -p /sbin/ldconfig
+%postun        libelf -p /sbin/ldconfig
 
 %files
-%defattr(-,root,root)
-%doc README TODO libdwarf/AVAILABLE
-%{_bindir}/eu-elflint
-#%{_bindir}/eu-ld
-%{_bindir}/eu-nm
-%{_bindir}/eu-readelf
-%{_bindir}/eu-size
-%{_bindir}/eu-strip
-#%{_libdir}/libasm-%{version}.so
-%{_libdir}/libebl-%{version}.so
-#%{_libdir}/libdw-%{version}.so
-%{_libdir}/libdwarf-%{version}.so
-#%{_libdir}/libasm*.so.*
-%{_libdir}/libebl*.so.*
-#%{_libdir}/libdw*.so.*
-%{_libdir}/libdwarf*.so.*
+%defattr(644,root,root,755)
+%doc AUTHORS EXCEPTION NEWS NOTES README THANKS TODO
+%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_libdir}/libasm-*.so
+%ghost %attr(755,root,root) %{_libdir}/libasm.so.*
+%attr(755,root,root) %{_libdir}/libdw-*.so
+%ghost %attr(755,root,root) %{_libdir}/libdw.so.*
 %dir %{_libdir}/elfutils
-%{_libdir}/elfutils/lib*.so
+%attr(755,root,root) %{_libdir}/elfutils/lib*.so
+%{_mandir}/man1/*.1*
 
 %files devel
-%defattr(-,root,root)
-%{_includedir}/dwarf.h
-%{_includedir}/libelf.h
-%{_includedir}/gelf.h
-%{_includedir}/nlist.h
-%dir %{_includedir}/elfutils
-%{_includedir}/elfutils/elf-knowledge.h
-%{_includedir}/elfutils/libebl.h
-#%{_libdir}/libasm.a
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libasm.so
+%attr(755,root,root) %{_libdir}/libdw.so
+%attr(755,root,root) %{_libdir}/libelf.so
 %{_libdir}/libebl.a
-%{_libdir}/libelf.a
-#%{_libdir}/libdw.a
-#%{_libdir}/libasm.so
-%{_libdir}/libebl.so
-%{_libdir}/libelf.so
-#%{_libdir}/libdw.so
-#%{_libdir}/libdwarf.so
-
-%files libelf
-%defattr(-,root,root)
-%{_libdir}/libelf-%{version}.so
-%{_libdir}/libelf*.so.*
-
-%changelog
-* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
-- debuginfo rebuild
-
-* Thu Feb 20 2003 Jeff Johnson <jbj@redhat.com> 0.76-2
-- use the correct way of identifying the section via the sh_info link.
-
-* Sat Feb 15 2003 Jakub Jelinek <jakub@redhat.com> 0.75-2
-- update to 0.75 (eu-strip -g fix)
-
-* Tue Feb 11 2003 Jakub Jelinek <jakub@redhat.com> 0.74-2
-- update to 0.74 (fix for writing with some non-dirty sections)
-
-* Thu Feb  6 2003 Jeff Johnson <jbj@redhat.com> 0.73-3
-- another -0.73 update (with sparc fixes).
-- do "make check" in %%check, not %%install, section.
-
-* Mon Jan 27 2003 Jeff Johnson <jbj@redhat.com> 0.73-2
-- update to 0.73 (with s390 fixes).
-
-* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
-- rebuilt
-
-* Wed Jan 22 2003 Jakub Jelinek <jakub@redhat.com> 0.72-4
-- fix arguments to gelf_getsymshndx and elf_getshstrndx
-- fix other warnings
-- reenable checks on s390x
+%{_includedir}/*
 
-* Sat Jan 11 2003 Karsten Hopp <karsten@redhat.de> 0.72-3
-- temporarily disable checks on s390x, until someone has
-  time to look at it
+%files libelf -f %{name}.lang
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libelf-*.so
+%ghost %attr(755,root,root) /%{_lib}/libelf.so.*
 
-* Thu Dec 12 2002 Jakub Jelinek <jakub@redhat.com> 0.72-2
-- update to 0.72
-
-* Wed Dec 11 2002 Jakub Jelinek <jakub@redhat.com> 0.71-2
-- update to 0.71
-
-* Wed Dec 11 2002 Jeff Johnson <jbj@redhat.com> 0.69-4
-- update to 0.69.
-- add "make check" and segfault avoidance patch.
-- elfutils-libelf needs to run ldconfig.
-
-* Tue Dec 10 2002 Jeff Johnson <jbj@redhat.com> 0.68-2
-- update to 0.68.
-
-* Fri Dec  6 2002 Jeff Johnson <jbj@redhat.com> 0.67-2
-- update to 0.67.
-
-* Tue Dec  3 2002 Jeff Johnson <jbj@redhat.com> 0.65-2
-- update to 0.65.
-
-* Mon Dec  2 2002 Jeff Johnson <jbj@redhat.com> 0.64-2
-- update to 0.64.
-
-* Sun Dec 1 2002 Ulrich Drepper <drepper@redhat.com> 0.64
-- split packages further into elfutils-libelf
-
-* Sat Nov 30 2002 Jeff Johnson <jbj@redhat.com> 0.63-2
-- update to 0.63.
-
-* Fri Nov 29 2002 Ulrich Drepper <drepper@redhat.com> 0.62
-- Adjust for dropping libtool
-
-* Sun Nov 24 2002 Jeff Johnson <jbj@redhat.com> 0.59-2
-- update to 0.59
-
-* Thu Nov 14 2002 Jeff Johnson <jbj@redhat.com> 0.56-2
-- update to 0.56
-
-* Thu Nov  7 2002 Jeff Johnson <jbj@redhat.com> 0.54-2
-- update to 0.54
-
-* Sun Oct 27 2002 Jeff Johnson <jbj@redhat.com> 0.53-2
-- update to 0.53
-- drop x86_64 hack, ICE fixed in gcc-3.2-11.
-
-* Sat Oct 26 2002 Jeff Johnson <jbj@redhat.com> 0.52-3
-- get beehive to punch a rhpkg generated package.
-
-* Wed Oct 23 2002 Jeff Johnson <jbj@redhat.com> 0.52-2
-- build in 8.0.1.
-- x86_64: avoid gcc-3.2 ICE on x86_64 for now.
-
-* Tue Oct 22 2002 Ulrich Drepper <drepper@redhat.com> 0.52
-- Add libelf-devel to conflicts for elfutils-devel
-
-* Mon Oct 21 2002 Ulrich Drepper <drepper@redhat.com> 0.50
-- Split into runtime and devel package
-
-* Fri Oct 18 2002 Ulrich Drepper <drepper@redhat.com> 0.49
-- integrate into official sources
-
-* Wed Oct 16 2002 Jeff Johnson <jbj@redhat.com> 0.46-1
-- Swaddle.
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libasm.a
+%{_libdir}/libdw.a
+%{_libdir}/libelf.a
This page took 0.0783509999999999 seconds and 4 git commands to generate.