# Created by pyp2rpm-3.3.5 %if 0%{?rhel} %bcond_with docs %else %bcond_without docs %endif %bcond_without tests %global pypi_name drgn %global _description %{expand: 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.} Name: python-%{pypi_name} Version: 0.0.23+80.gc596ef5 Release: 1.20230819022418044002.pr347.80.gc596ef5 Summary: Programmable debugger License: LGPL-2.1-or-later URL: https://github.com/osandov/drgn Source0: drgn-0.0.23+80.gc596ef5.tar.gz BuildRequires: python3-devel BuildRequires: python3dist(setuptools) %if %{with docs} BuildRequires: sed BuildRequires: python3dist(sphinx) BuildRequires: python3-docs %endif %if %{with tests} BuildRequires: python3dist(pytest) %endif BuildRequires: gcc-c++ BuildRequires: make BuildRequires: bzip2-devel BuildRequires: elfutils-devel BuildRequires: libkdumpfile-devel BuildRequires: zlib-devel BuildRequires: xz-devel # These are needed when building from git snapshots BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool %description %{_description} %package -n %{pypi_name} Summary: %{summary} %description -n %{pypi_name} %{_description} %if %{with docs} %package -n %{pypi_name}-doc Summary: %{pypi_name} documentation BuildArch: noarch Requires: python3-docs %description -n %{pypi_name}-doc %{_description} This package contains additional documentation for %{pypi_name}. %endif %prep %autosetup -n drgn-0.0.23+80.gc596ef5 -p1 # Remove bundled egg-info rm -rf %{pypi_name}.egg-info %if %{with docs} # Use local intersphinx inventory sed -r \ -e 's|https://docs.python.org/3|%{_docdir}/python3-docs/html|' \ -i docs/conf.py %endif # Ensure version is always set, even when building from git snapshots if [ ! -f drgn/internal/version.py ]; then echo '__version__ = "%{version}"' > drgn/internal/version.py fi %build # verbose build V=1 %py3_build %if %{with docs} # generate html docs PYTHONPATH=${PWD} sphinx-build-3 docs html # remove the sphinx-build leftovers rm -rf html/.{doctrees,buildinfo} %endif %install %py3_install mkdir -p %{buildroot}%{_datadir}/drgn cp -PR contrib tools %{buildroot}%{_datadir}/drgn %if %{with tests} %check %pytest %endif %files -n %{pypi_name} %license COPYING %license LICENSES %doc README.rst %{_bindir}/drgn %{_datadir}/drgn %{python3_sitearch}/_%{pypi_name}.pyi %{python3_sitearch}/_%{pypi_name}.cpython*.so %{python3_sitearch}/%{pypi_name} %{python3_sitearch}/%{pypi_name}-%{version}-py%{python3_version}.egg-info %if %{with docs} %files -n %{pypi_name}-doc %license COPYING %license LICENSES %doc html %endif %changelog * Sat Aug 19 2023 Packit - 0.0.23+80.gc596ef5-1.20230819022418044002.pr347.80.gc596ef5 - cli: Open /proc/kcore via sudo when not root (Stephen Brennan) - libdrgn: linux_kernel: fallback section iterator (Stephen Brennan) - libdrgn: Add program_from_core_dump_fd (Stephen Brennan) - Add Program.set_core_dump_fd() (Stephen Brennan) - libdrgn: dwarf_info: fix crash after DW_CFA_restore_state (Omar Sandoval) - CI: combine Main Branch Push CI back into CI workflow (Omar Sandoval) - libdrgn: set default number of OpenMP threads without hyperthreads (Omar Sandoval) - libdrgn: add _cleanup_fclose_ scope guard (Omar Sandoval) - libdrgn: util.h: include (Omar Sandoval) - drgn.helpers.linux.printk: handle log_buf name conflict between v3.18 and v4.15 (Omar Sandoval) - libdrgn: dwarf_info: fix resolving incomplete type in wrong scope (Omar Sandoval) - libdrgn: dwarf_info: index nested classes/structs/unions (Omar Sandoval) - libdrgn: dwarf_info: scalably index all DIEs per name (Omar Sandoval) - libdrgn: dwarf_info: index specifications per thread (Omar Sandoval) - libdrgn: dwarf_info: don't store file in DWARF index entries (Omar Sandoval) - libdrgn: dwarf_info: add drgn_namespace_find_child() (Omar Sandoval) - libdrgn: dwarf_info: remove ambiguous incomplete type check (Omar Sandoval) - libdrgn: dwarf_info: fail hard instead of rolling back on error during DWARF indexing (Omar Sandoval) - libdrgn: dwarf_info: make drgn_dwarf_index_state::max_threads an int (Omar Sandoval) - libdrgn: vector: support using a smaller type for size/capacity (Omar Sandoval) - libdrgn: vector: support storing entries in vector structure (Omar Sandoval) - libdrgn: add macros for defining types conditionally (Omar Sandoval) - libdrgn: revamp generic vector API (Omar Sandoval) - libdrgn: get rid of compatible type requirement for {min,max}_iconst() (Omar Sandoval) - libdrgn: define auto to __auto_type via autoconf (Omar Sandoval) - libdrgn: dwarf_info: fix segfault if .debug_str_offsets is too short (Omar Sandoval) - libdrgn: fix segfault if looking up main language fails (Omar Sandoval) - libdrgn: detect flattened vmcores and raise error (Stephen Brennan) - libdrgn: examples: load_debug_info: pass struct drgn_program address to --{pre,post}-exec (Omar Sandoval) - libdrgn: examples: load_debug_info: fix handling of --time vs --post-exec (Omar Sandoval) - libdrgn: examples: add --pre-exec and --post-exec options to load_debug_info (Omar Sandoval) - libdrgn: require semicolon after DEFINE_{HASH,VECTOR,BINARY_SEARCH_TREE}* (Omar Sandoval) - libdrgn: dwarf_info: fix memcpy() undefined behavior (again) (Omar Sandoval) - libdrgn: support value objects with >64-bit integer types (Omar Sandoval) - libdrgn: python: add _cleanup_pydecref_ scope guard (Omar Sandoval) - libdrgn: add _cleanup_free_ scope guard, no_cleanup_ptr(), and return_ptr() (Omar Sandoval) - libdrgn: python: fix creating compound value with 32-bit float member on big-endian (Omar Sandoval) - libdrgn: fix stray bits when reading bytes of bit field (Omar Sandoval) - helpers: support `dmesg` with RHEL 7 (Oleksandr Natalenko) - drgn.helpers.linux.net: add skb_shinfo() (Omar Sandoval) - drgn.helpers.linux.net: add netdev_priv() (Omar Sandoval) - pre-commit: update Black to 23.7.0 (Omar Sandoval) - CONTRIBUTING: add Linux kernel helper guidelines (Omar Sandoval) - docs: update required Sphinx version to 5.3.0 (Omar Sandoval) - docs: document supported architectures and kernel versions (Omar Sandoval) - libdrgn: dwarf_info: support DWO split DWARF (Omar Sandoval) - libdrgn: dwarf_info: read CU DIE with libdw in DWARF index (Omar Sandoval) - libdrgn: dwarf_info: parse units with dwarf_next_unit() in DWARF index (Omar Sandoval) - libdrgn: dwarf_info: move file name table parsing code (Omar Sandoval) - libdrgn: dwarf_info: get rid of struct drgn_dwarf_index_pending_cu (Omar Sandoval) - libdrgn: dwarf_info: handle GNU Debug Fission location lists (Omar Sandoval) - libdrgn: dwarf_info: handle split DWARF .debug_addr (Omar Sandoval) - libdrgn: dwarf_info: handle split DWARF in dwarf_module_find_dwarf_scopes() (Omar Sandoval) - libdrgn: dwarf_info: handle missing DW_AT_loclists_base (Omar Sandoval) - libdrgn: dwarf_info: handle missing DW_AT_str_offsets_base (Omar Sandoval) - libdrgn: dwarf_info: fix CU header size computation for GNU Debug Fission (Omar Sandoval) - tests: test DWARF 5 (Omar Sandoval) - cli: configure logger (Omar Sandoval) - libdrgn: python: log to the standard logging module (Omar Sandoval) - libdrgn: add simple logging framework (Omar Sandoval) - libdrgn: call blocking hooks around DWARF index (Omar Sandoval) - libdrgn: python: set blocking callback to release GIL (Omar Sandoval) - libdrgn: add API for hooks around blocking operations (Omar Sandoval) - docs: document thread safety (Omar Sandoval) - libdrgn: debug_info: try harder to get debug file path (Omar Sandoval) - vmtest.config: add highmem=off to Arm QEMU config (Omar Sandoval) - vmtest.config: add 6.5 to supported kernels (Omar Sandoval) - vmtest.config: work around ppc64 build failure on v6.5-rc1 (Omar Sandoval) - libdrgn: dwarf_info: get byte order from passed file in drgn_eval_cfi_dwarf_expression() (Omar Sandoval) - setup.py: allow testing against local kernels (Omar Sandoval) - libdrgn: dwarf_info: ignore DW_OP_{,GNU_}entry_value (Omar Sandoval) - libdrgn: dwarf_info: don't call dwarf_dieoffset() redundantly (Omar Sandoval) - libdrgn: dwarf_info: only iterate necessary DIE subtrees in drgn_module_find_dwarf_scopes() (Omar Sandoval) - setup.py: get kmod path from build_kmod() (Omar Sandoval) - drgn.helpers.linux.list: add list_count_nodes() (Omar Sandoval) - libdrgn: program: find crashed task with cpu_curr() instead of find_task() (Omar Sandoval) - drgn.helpers.linux.sched: add cpu_curr() helper (Omar Sandoval) - vmtest.enter_kdump: use kexec(8) on non-x86-64 architectures (Omar Sandoval) - vmtest.enter_kdump: move body into main() function (Omar Sandoval)