]> git.pld-linux.org Git - packages/elfutils.git/blobdiff - elfutils.spec
- allocated pointers need 8-byte alignment on sparc (to use ldd/std opcodes to access...
[packages/elfutils.git] / elfutils.spec
index 6189aadc575858f10920b6dd14f1ae6549225644..c3c862efc1efca6a034902fc6040185fd4d9f919 100644 (file)
@@ -1,23 +1,40 @@
+#
+# Conditional build:
+%bcond_without tests   # do not perform tests
+#
 Summary:       A collection of utilities and DSOs to handle compiled objects
 Summary(pl):   Zestaw narzêdzi i bibliotek do obs³ugi skompilowanych obiektów
 Name:          elfutils
-Version:       0.76
-Release:       8
-License:       GPL
+Version:       0.108
+Release:       2
+License:       OSL 1.0 (http://www.opensource.org/licenses/osl.php)
 Group:         Development/Tools
+# http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/SRPMS/
 Source0:       %{name}-%{version}.tar.gz
+# Source0-md5: fd318a634c8f67c7ac8a975f16965cc3
 Patch0:                %{name}-pl.po.patch
+Patch1:                %{name}-debian-manpages.patch
+Patch2:                %{name}-portability.patch
+Patch3:                %{name}-bswap.patch
+Patch4:                %{name}-robustify.patch
 #URL:          file://home/devel/drepper
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake >= 1:1.7
 BuildRequires: gcc >= 3.2
 BuildRequires: gettext-devel
-BuildRequires:  libltdl-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.213
 BuildRequires: sharutils
-Requires:      elfutils-libelf = %{version}-%{release}
+Requires:      %{name}-libelf = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define _programprefix eu-
+%define                _programprefix  eu-
 
 %description
 Elfutils is a collection of utilities, including ld (a linker), nm
@@ -41,8 +58,8 @@ specyficznych dla architektury.
 Summary:       Development part of libraries to handle compiled objects
 Summary(pl):   Czê¶æ programistyczna bibliotek do obs³ugi skompilowanych obiektów
 Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
 Obsoletes:     libelf-devel
-Requires:      elfutils = %{version}-%{release}
 
 %description devel
 The elfutils-devel package contains the development part of libraries
@@ -84,8 +101,8 @@ pakietu elfutils u
 Summary:       Static libraries to handle compiled objects
 Summary(pl):   Statyczne biblioteki do obs³ugi skompilowanych obiektów
 Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
 Obsoletes:     libelf-static
-Requires:      elfutils-devel = %{version}-%{release}
 
 %description static
 The elfutils-static package contains the static libraries to create
@@ -107,41 +124,62 @@ programowalny interfejs asemblera.
 
 %prep
 %setup -q
-%patch -p1
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
+#%%{__gettextize}
 %{__aclocal}
 %{__autoheader}
 %{__automake}
 %{__autoconf}
+
+# Turn off optimization on sparc to avoid Bus error with some tests
+%ifarch sparc
+CFLAGS="%{rpmcflags} -O0" ; export CFLAGS
+%endif
 %configure \
        --program-prefix=%{_programprefix} \
        --enable-shared
 
+# make check depends on test-nlist not stripped
+%{__perl} -pi -e 's/^(LDFLAGS =.*)-s/$1/' tests/Makefile
+
 %{__make}
+%{__make} -C debian/man
+%if %{with tests}
+# $ORIGIN used in RPATH needs /proc to work - workaround it using LD_LIBRARY_PATH;
+# ../libelf is needed also to use proper libelf by ../src/elflint during tests
+LD_LIBRARY_PATH=../libasm:../libdw:../libebl:../libelf \
+%{__make} -C tests check
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_prefix}
+install -d $RPM_BUILD_ROOT{%{_mandir}/man1,/%{_lib}}
 
 # *OBJEXT must be passed to workaround problem with messed gettext,
 # which doesn't like *-po dir names
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
-       CATOBJEXT=.gmo INSTOBJEXT=.mo
+       MKINSTALLDIRS=$(pwd)/config/mkinstalldirs \
+       CATOBJEXT=.gmo \
+       INSTOBJEXT=.mo
 
-chmod +x $RPM_BUILD_ROOT%{_prefix}/%{_lib}/lib*.so*
-chmod +x $RPM_BUILD_ROOT%{_prefix}/%{_lib}/elfutils/lib*.so*
+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
 
 %find_lang libelf
-%find_lang libasm
-%find_lang libdwarf
-%find_lang libebl
 %find_lang %{name}
-cat libasm.lang libdwarf.lang libebl.lang >> %{name}.lang
 
 %clean
-rm -rf ${RPM_BUILD_ROOT}
+rm -rf $RPM_BUILD_ROOT
 
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
@@ -151,24 +189,29 @@ rm -rf ${RPM_BUILD_ROOT}
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc README TODO
+%doc AUTHORS COPYING NEWS NOTES README THANKS TODO
 %attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/lib*-*.so
+%attr(755,root,root) %{_libdir}/libasm-*.so
+%attr(755,root,root) %{_libdir}/libdw-*.so
 %dir %{_libdir}/elfutils
 %attr(755,root,root) %{_libdir}/elfutils/lib*.so
-%exclude %{_libdir}/libelf-*.so
+%{_mandir}/man1/*.1*
 
 %files devel
 %defattr(644,root,root,755)
-%doc libdwarf/AVAILABLE
+#%doc doc/elfutils.sgml
+%attr(755,root,root) %{_libdir}/libasm.so
+%attr(755,root,root) %{_libdir}/libdw.so
+%attr(755,root,root) %{_libdir}/libelf.so
+%{_libdir}/libebl.a
 %{_includedir}/*
-%{_libdir}/lib*.so
-%exclude %{_libdir}/lib*-*.so
 
 %files libelf -f libelf.lang
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libelf-*.so
+%attr(755,root,root) /%{_lib}/libelf-*.so
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libasm.a
+%{_libdir}/libdw.a
+%{_libdir}/libelf.a
This page took 0.10021 seconds and 4 git commands to generate.