Group :: Development/Debuggers
RPM: drgn
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
# SPDX-License-Identifier: GPL-2.0-only
%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict
Name: drgn
Version: 0.0.24
Release: alt1
Summary: Scriptable debugger library
License: GPL-3.0-or-later
Group: Development/Debuggers
URL: https://drgn.readthedocs.io
Vcs: https://github.com/osandov/drgn
# Docs: https://drgn.readthedocs.io/en/latest/
# Press: https://lwn.net/Articles/789641/
# Conf: https://linuxplumbersconf.org/event/4/contributions/440/
# Refs: https://www.kernel.org/doc/html/latest/bpf/drgn.html
Provides: python-module-drgn
Source: %name-%version.tar
BuildRequires(pre): rpm-build-python3
BuildRequires: bzip2-devel
BuildRequires: flex
BuildRequires: libdw-devel
BuildRequires: libelf-devel
BuildRequires: libgomp-devel
BuildRequires: libkdumpfile-devel
BuildRequires: liblzma-devel
BuildRequires: libstdc++-devel
BuildRequires: python3-module-setuptools_scm
BuildRequires: python3-module-wheel
BuildRequires: zlib-devel
%{?!_without_check:%{?!_disable_check:
BuildRequires: /proc
}}
# Note: Bundled with own version of elfutils.
%description
drgn (pronounced "dragon") is a debugger with an emphasis on programmability.
drgn exposes the types and variables in a program for easy, expressive
scripting in Python. For example, you can debug the Linux kernel.
%prep
%setup
%build
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
%pyproject_build
%install
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
%pyproject_install
mkdir -p %buildroot%_datadir/drgn
cp -r contrib tools -t %buildroot%_datadir/drgn
%check
test -d /proc/self
# Build-in tests (require /proc)
%__python3 setup.py test
# Simple test
export PYTHONPATH=%buildroot%python3_sitelibdir
%buildroot%_bindir/drgn --version
# Testing even in vm-run does not work:
# warning: could not get debugging information for:
# kernel (could not find vmlinux for 6.4.14-un-def-alt1)
# kernel modules (could not find loaded kernel modules: could not find 'struct module')
%files
%doc COPYING README.rst docs
%_bindir/drgn
%_datadir/drgn
%python3_sitelibdir/drgn*
%python3_sitelibdir/_drgn.*
%changelog
…
Full changelog you can see here
%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict
Name: drgn
Version: 0.0.24
Release: alt1
Summary: Scriptable debugger library
License: GPL-3.0-or-later
Group: Development/Debuggers
URL: https://drgn.readthedocs.io
Vcs: https://github.com/osandov/drgn
# Docs: https://drgn.readthedocs.io/en/latest/
# Press: https://lwn.net/Articles/789641/
# Conf: https://linuxplumbersconf.org/event/4/contributions/440/
# Refs: https://www.kernel.org/doc/html/latest/bpf/drgn.html
Provides: python-module-drgn
Source: %name-%version.tar
BuildRequires(pre): rpm-build-python3
BuildRequires: bzip2-devel
BuildRequires: flex
BuildRequires: libdw-devel
BuildRequires: libelf-devel
BuildRequires: libgomp-devel
BuildRequires: libkdumpfile-devel
BuildRequires: liblzma-devel
BuildRequires: libstdc++-devel
BuildRequires: python3-module-setuptools_scm
BuildRequires: python3-module-wheel
BuildRequires: zlib-devel
%{?!_without_check:%{?!_disable_check:
BuildRequires: /proc
}}
# Note: Bundled with own version of elfutils.
%description
drgn (pronounced "dragon") is a debugger with an emphasis on programmability.
drgn exposes the types and variables in a program for easy, expressive
scripting in Python. For example, you can debug the Linux kernel.
%prep
%setup
%build
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
%pyproject_build
%install
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
%pyproject_install
mkdir -p %buildroot%_datadir/drgn
cp -r contrib tools -t %buildroot%_datadir/drgn
%check
test -d /proc/self
# Build-in tests (require /proc)
%__python3 setup.py test
# Simple test
export PYTHONPATH=%buildroot%python3_sitelibdir
%buildroot%_bindir/drgn --version
# Testing even in vm-run does not work:
# warning: could not get debugging information for:
# kernel (could not find vmlinux for 6.4.14-un-def-alt1)
# kernel modules (could not find loaded kernel modules: could not find 'struct module')
%files
%doc COPYING README.rst docs
%_bindir/drgn
%_datadir/drgn
%python3_sitelibdir/drgn*
%python3_sitelibdir/_drgn.*
%changelog
…
Full changelog you can see here