Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37398886
en ru br
ALT Linux repos
S:0.189.0.46.27a8-alt1
5.0: 0.137-alt2
4.1: 0.131-alt1
4.0: 0.126-alt1
3.0: 0.108-alt3
+backports:0.115-alt0.M30.1

Other repositories
Upstream:0.131

Group :: Development/C
RPM: elfutils

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: elfutils
Version: 0.126
Release: alt1

Summary: A collection of utilities and DSOs to handle compiled objects
License: GPL
Group: Development/C
Packager: Dmitry V. Levin <ldv at altlinux.org>

Source: %name-%version.tar
Source1: testfile16.symtab
Source2: testfile16.symtab.debug

Patch0: elfutils-0.124-rh-strip-copy-symtab.patch
Patch1: elfutils-0.126-rh-portability.patch
Patch2: elfutils-0.126-rh-robustify.patch
Patch3: elfutils-0.126-alt-warnings.patch

Requires: libelf = %version-%release

%def_enable static
%def_disable check

BuildRequires: flex
%{?_enable_check:BuildRequires: /proc}

%define _gnu %nil
%define _configure_script ../configure
%define _programprefix eu-
%define buildtarget build-%_target_platform

%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),
readelf (to 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.

%package devel
Summary: Development libraries to handle compiled objects
Group: Development/C
Requires: %name = %version-%release
Requires: libelf-devel = %version-%release

%description devel
This package contains the libraries to create applications for
handling compiled objects.  libebl provides some higher-level ELF access
functionality.  libdw provides access to the DWARF debugging information.
libasm provides a programmable assembler interface.

%package -n libelf
Summary: Library to read and write ELF files
Group: System/Libraries

%description -n libelf
This 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.

%package -n libelf-devel
Summary: Development libelf library
Group: Development/C
Requires: libelf = %version-%release

%description -n libelf-devel
This package contains the library 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.

%package -n libelf-devel-static
Summary: Static libelf library
Group: Development/C
Requires: libelf-devel = %version-%release

%description -n libelf-devel-static
This package contains static library 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.

%prep
%setup -q
%patch0 -p1
install -pm644 %_sourcedir/testfile16.symtab* tests/
%patch1 -p1
%patch2 -p1
%patch3 -p1
%__subst -p 's/ -Werror / /' tests/Makefile*

%build
%add_optflags -fexceptions
rm -rf %buildtarget
mkdir %buildtarget
pushd %buildtarget
%configure --enable-dependency-tracking \
--program-prefix=%_programprefix \
--enable-shared %{subst_enable static}
%make_build
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:LD_LIBRARY_PATH=../libasm:../libcpu:../libdw:../libebl:../libelf make -k check}}}
popd

%install
mkdir -p %buildroot%prefix
%makeinstall -C %buildtarget
#install -pm644 %buildtarget/src/libld_elf_*.so %buildroot%_libdir/

%post -p %post_ldconfig
%postun -p %postun_ldconfig

%post -n libelf -p %post_ldconfig
%postun -n libelf -p %postun_ldconfig

%files
%doc README TODO
%_bindir/eu-addr2line
%_bindir/eu-ar
%_bindir/eu-elfcmp
%_bindir/eu-elflint
%_bindir/eu-findtextrel
%_bindir/eu-nm
%_bindir/eu-objdump
%_bindir/eu-ranlib
%_bindir/eu-readelf
%_bindir/eu-size
%_bindir/eu-strings
%_bindir/eu-strip
%exclude %_bindir/eu-ld
%_libdir/libasm-*.so
%_libdir/libdw-*.so
%_libdir/libasm*.so.*
%_libdir/libdw*.so.*
%_libdir/elfutils

%files devel
%_includedir/dwarf.h
%_includedir/elfutils
%_libdir/libasm.so
%_libdir/libdw.so
%exclude %_libdir/libasm.a
%exclude %_libdir/libdw.a
%exclude %_libdir/libebl.a

%files -n libelf
%_libdir/libelf-*.so
%_libdir/libelf*.so.*

%files -n libelf-devel
%_libdir/libelf.so
%_includedir/libelf.h
%_includedir/gelf.h
%_includedir/nlist.h

%if_enabled static
%files -n libelf-devel-static
%_libdir/libelf.a
%endif

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin