dwarves/dwarves.spec

116 lines
3.3 KiB
RPMSpec

#
# spec file for package dwarves (Version 1.8)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: dwarves
URL: http://acmel.wordpress.com/
Summary: DWARF utilities
Version: 1.9
Release: 0
License: GPLv2
Group: Development/Tools/Debuggers
#Git-Clone: git://git.kernel.org/pub/scm/linux/kernel/git/acme/pahole
#DL-URL: http://fedorapeople.org/~acme/dwarves/
Source: http://fedorapeople.org/~acme/dwarves/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake libdw-devel libdwarf-devel libebl-devel libelf-devel
BuildRequires: zlib-devel
# Also known by its most prominent tool
Provides: pahole = %version-%release
%description
dwarves is a set of tools that use the DWARF debugging information
inserted in ELF binaries by compilers such as GCC, used by well known
debuggers such as GDB, and more recent ones such as systemtap.
Utilities in the dwarves suite include pahole, that can be used to
find alignment holes in structs and classes in languages such as C,
C++, but not limited to these.
It also extracts other information such as CPU cacheline alignment,
helping pack those structures to achieve more cache hits.
A diff like tool, codiff can be used to compare the effects changes
in source code generate on the resulting binaries.
Another tool is pfunct, that can be used to find all sorts of
information about functions, inlines, decisions made by the compiler
about inlining, etc.
The documentation about ctracer is not updated to the latest
developments: it now generates systemtap scripts, stay tuned for
improvements in this area!
Authors:
--------
Arnaldo Carvalho de Melo <acme@redhat.com>
%package -n libdwarves1
Summary: DWARF processing libraries of dwarves tools
Group: System/Libraries
%description -n libdwarves1
This package contains the libdwarves shared library for the dwarves
toolset, providing processing for DWARF, a debugging data format
for ELF files.
dwarves is a set of tools that use the DWARF debugging information
inserted in ELF binaries by compilers such as GCC, used by well known
debuggers such as GDB, and more recent ones such as systemtap.
%package -n libdwarves-devel
Summary: DWARF processing library development files
Group: Development/Libraries
Requires: libdwarves1 = %{version}-%{release}
%description -n libdwarves-devel
This package contains the development files for libdwarves, a library
for processing DWARF, a debugging data format for ELF files.
Authors:
--------
Arnaldo Carvalho de Melo <acme@redhat.com>
%prep
%setup -q -c
%build
export CFLAGS="$RPM_OPT_FLAGS"
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -D__LIB=%{_lib} .
make
%install
make DESTDIR=%{buildroot} install
%post -n libdwarves1 -p /sbin/ldconfig
%postun -n libdwarves1 -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README NEWS
%{_bindir}/*
%{_mandir}/man*/*
%files -n libdwarves1
%defattr(-,root,root)
%{_libdir}/*.so.*
%files -n libdwarves-devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_includedir}/*
%{_datadir}/%{name}
%changelog