%define major 1 %define libname %mklibname dwarves %{major} %define develname %mklibname dwarves -d %define main_version 1.26 %define rel 2 Name: dwarves Version: %main_version Release: %mkrel %rel License: GPLv2 Summary: Debugging Information Manipulation Tools (pahole & friends) URL: http://acmel.wordpress.com Source: http://fedorapeople.org/~acme/dwarves/%{name}-%{version}.tar.xz Group: Development/Tools Requires: %{libname} = %{version}-%{release} BuildRequires: cmake >= 2.8.12 BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libelf) >= 0.130 %description Dwarves is a set of tools that use the 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. These tools can also be used to encode and read the BTF type information format used with the Linux kernel bpf syscall, using 'pahole -J' and 'pahole -F btf'. Other tools, like codiff or pfunct (detect informations about functions, inlines, etc.) ot btfdiff (compare pahole's BTF and DWARF output to check they produce the same results) are also included. %package -n %{libname} Summary: Debugging information processing library Group: System/Libraries %description -n %{libname} Shared library used for dwarves. %package -n %{develname} Summary: Debugging information library development files Group: Development/C Requires: %{libname} = %{version} Provides: %{name}-devel = %{version}-%{release} %description -n %{develname} Dwarves development package. %prep %setup -q %build %cmake %cmake_build %install %cmake_install %files %doc changes-v1.26 NEWS README.btf README.ctracer %{_bindir}/btfdiff %{_bindir}/codiff %{_bindir}/ctracer %{_bindir}/dtagnames %{_bindir}/fullcircle %{_bindir}/ostra-cg %{_bindir}/pahole %{_bindir}/pdwtags %{_bindir}/pfunct %{_bindir}/pglobal %{_bindir}/prefcnt %{_bindir}/scncopy %{_bindir}/syscse %dir %{_datadir}/dwarves/ %dir %{_datadir}/dwarves/runtime/ %dir %{_datadir}/dwarves/runtime/python/ %defattr(0644,root,root,0755) %{_mandir}/man1/pahole.1* %{_datadir}/dwarves/runtime/ctracer_relay.c %{_datadir}/dwarves/runtime/ctracer_relay.h %{_datadir}/dwarves/runtime/linux.blacklist.cu %{_datadir}/dwarves/runtime/Makefile %attr(0755,root,root) %{_datadir}/dwarves/runtime/python/ostra.py* %files -n %{libname} %{_libdir}/libdwarves.so.%{major}{,.*} %{_libdir}/libdwarves_emit.so.%{major}{,.*} %{_libdir}/libdwarves_reorganize.so.%{major}{,.*} %files -n %{develname} %doc MANIFEST README %{_includedir}/dwarves/btf_encoder.h %{_includedir}/dwarves/config.h %{_includedir}/dwarves/ctf.h %{_includedir}/dwarves/dutil.h %{_includedir}/dwarves/dwarves.h %{_includedir}/dwarves/dwarves_emit.h %{_includedir}/dwarves/dwarves_reorganize.h %{_includedir}/dwarves/elfcreator.h %{_includedir}/dwarves/elf_symtab.h %{_includedir}/dwarves/gobuffer.h %{_includedir}/dwarves/hash.h %{_includedir}/dwarves/libctf.h %{_includedir}/dwarves/list.h %{_includedir}/dwarves/rbtree.h %{_libdir}/libdwarves.so %{_libdir}/libdwarves_emit.so %{_libdir}/libdwarves_reorganize.so %changelog * Sat Apr 13 2024 ghibo <ghibo> 1.26-2.mga9 + Revision: 2056789 - dwarves for mga9 * Wed Apr 10 2024 ghibo <ghibo> 1.26-2.mga10 + Revision: 2056404 - Reorder files list * Wed Apr 10 2024 ghibo <ghibo> 1.26-1.mga10 + Revision: 2056399 - initial release based on FC SPEC file. - imported package dwarves (required for kernel & co.) * Wed Apr 10 2024 ghibo <ghibo> 1.26-2.mga10 - Initial release (required for kernel & co.) based on FC SPEC file.