N
Портал сборок NiceOS
Корпоративный портал наблюдаемости для опубликованных сборок пакетов NiceOS.

input/dwarves.spec

raw · 5.9 KiB

%global githubname libbpf
%global githubver  1.6.2
%global githubfull %{githubname}-%{githubver}
%global libver     1.6.2

Name:           dwarves
Version:        1.31
Release:        1%{?dist}
Summary:        Debugging Information Manipulation Tools (pahole & friends)
Summary(ru):    Инструменты для работы с отладочной информацией (pahole и др.)

# RU: По данным upstream (acmel/dwarves) проект распространяется под GPL-2.0.
# EN: Upstream (acmel/dwarves) indicates the project is licensed under GPL-2.0.
License:        GPL-2.0-only
URL:            https://github.com/acmel/dwarves
Source0:        https://github.com/acmel/dwarves/archive/refs/tags/v%{version}.tar.gz

Packager:       NICE SOFT GROUP LLC (ООО "НАЙС СОФТ ГРУПП") 5024245440 <niceos@ncsgp.ru>
Vendor:         NiceSOFT
Distribution:   NiceOS.Core
BugURL:         https://bugs.niceos.ru/
VCS:            https://specs.niceos.ru/rmps/%{name}

BuildRequires:  cmake
BuildRequires:  elfutils-devel
BuildRequires:  gcc
BuildRequires:  zlib-devel
BuildRequires:	libbpf-devel
BuildRequires:  zstd-devel
BuildRequires:  elfutils-libelf-devel

Requires:       elfutils
Requires:       elfutils-libelf
Requires:       zlib
Requires:       %{name}-libs = %{version}-%{release}

%description
dwarves is a collection of tools for analyzing and processing debugging
information (DWARF) embedded by compilers into ELF binaries. This information is
used by debuggers and analysis tools such as GDB, systemtap, and Linux kernel
tracing utilities.

The package includes utilities such as pahole, codiff, and pfunct. The pahole
tool can inspect data structures, identify alignment holes, analyze field
layout, and help optimize structures for better CPU cache utilization.

The dwarves tools are also used to generate, read, and compare BTF (BPF Type
Format) type information used by the Linux kernel and the eBPF subsystem. This
package is widely used in kernel development, debugging, and low-level system
software analysis.

%description -l ru
dwarves — набор инструментов для анализа и обработки отладочной информации
(DWARF), встроенной компиляторами в ELF-бинарные файлы. Эти данные используются
отладчиками и инструментами анализа, такими как GDB, systemtap и средствами
трассировки ядра Linux.

В состав пакета входят утилиты pahole, codiff, pfunct и другие. Утилита pahole
позволяет анализировать структуры данных, находить «дыры» выравнивания, изучать
размещение полей и оптимизировать структуры для более эффективного использования
кэш-памяти процессора.

Инструменты dwarves также используются для генерации, чтения и сравнения
информации типов в формате BTF (BPF Type Format), применяемом ядром Linux и
подсистемой eBPF. Пакет широко применяется при разработке, анализе и отладке
ядра и низкоуровневого системного ПО.

%package        libs
Summary:        Debugging information processing library
Summary(ru):    Библиотека для обработки отладочной информации

%description -n %{name}-libs
The %{name}-libs package contains shared libraries for processing and analyzing
DWARF and BTF debugging information. These libraries are used by the %{name}
tools and by other applications that work with debugging data in ELF binaries.

%description -l ru -n %{name}-libs
%{name}-libs содержит разделяемые библиотеки для обработки и анализа отладочной
информации DWARF и BTF. Эти библиотеки используются инструментами пакета
%{name}, а также другими приложениями, работающими с отладочными данными
ELF-бинарных файлов.

%package        devel
Summary:        Debugging information library development files
Summary(ru):    Файлы разработки для библиотек dwarves
Requires:       %{name} = %{version}-%{release}

%description -n %{name}-devel
The %{name}-devel package contains header files and development resources
required to build applications that use the %{name} libraries to work with
DWARF and BTF debugging information.

%description -l ru -n %{name}-devel
%{name}-devel содержит заголовочные файлы и ресурсы разработки, необходимые для
создания приложений, использующих библиотеки %{name} для работы с отладочной
информацией DWARF и BTF.

%prep
%autosetup -p1

%build
%cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DLIBBPF_EMBEDDED=OFF
%cmake_build

%install
%cmake_install

%post -n %{name}-libs -p /sbin/ldconfig
%postun -n %{name}-libs -p /sbin/ldconfig

%files
%{_bindir}/*

%files libs
%{_libdir}/*.so.*

%files devel
%{_includedir}/%{name}/*.h
%{_libdir}/*.so
%{_datadir}/*

%changelog
* Sun May 24 2026 NiceOS Team <support@niceos.ru> - 1.31-1
- EN: * Sun May 24 2026 NiceOS Team <niceos@ncsgp.ru> - 1.31-1
- Update to 1.31; refresh upstream source tarball and note upstream BTF/DWARF fixes plus a pahole segfault fix.
- RU: * Sun May 24 2026 NiceOS Team <niceos@ncsgp.ru> - 1.31-1
- Обновление до 1.31; обновлён upstream-архив, включены исправления BTF/DWARF и segfault в pahole.


* Sun Jan 11 2026 NiceOS Team <niceos@ncsgp.ru> - 1.30-1
- Initial build for NiceOS (Первая сборка для НАЙС.ОС)