Skip to content

Build system overhaul - #246

Closed
MrIndeciso wants to merge 45 commits into
devfrom
enable-wheel-distrib
Closed

MrIndeciso wants to merge 45 commits into
devfrom
enable-wheel-distrib

Conversation

@MrIndeciso

Copy link
Copy Markdown
Member

No description provided.

@MrIndeciso
MrIndeciso force-pushed the enable-wheel-distrib branch 17 times, most recently from 22d7dee to 5bacd11 Compare May 27, 2025 19:25
@MrIndeciso
MrIndeciso force-pushed the enable-wheel-distrib branch from 5bacd11 to cbbb86a Compare May 27, 2025 19:39
@MrIndeciso
MrIndeciso requested a review from Copilot June 1, 2025 10:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR overhauls the build system for libdebug, implements changes to native ptrace bindings, introduces new symbol parsing modules with nanobind, and adds multiple scripts and workflows for building and testing wheels on various operating systems. Key changes include replacing tgkill with thread_kill in the ptrace binding code, restructuring the symbol parser module and its CMake configuration, and adding new CI workflows and platform‐specific wheel preparation scripts.

Reviewed Changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.

File Description
libdebug/ptrace/native/libdebug_ptrace_binding.cpp Replaces direct use of tgkill with thread_kill and adds a new include for utils.h to support it.
libdebug/native/symbols/debug_sym_parser_shared.cpp Modifies the add_symbol_info function to push both the demangled and original symbol entries.
CMakeLists.txt Updates the project configuration to include new options for enabling/disabling libdwarf, libelf, and libiberty features and refactors targets and dependencies for the symbol parsing modules.
Various cmake and workflow scripts Introduces new wheel distribution scripts for CentOS, Alpine, AlmaLinux and updates CI workflows for broader distro compatibility.
Comments suppressed due to low confidence (3)

libdebug/native/symbols/debug_sym_parser_shared.cpp:31

  • Consider expanding the comment to clarify the rationale for pushing both the demangled and the original symbol entries, so future maintainers understand that this duplication is intentional.
// We push both the demangled name and the original name

libdebug/ptrace/native/libdebug_ptrace_binding.cpp:207

  • Ensure that the new function 'thread_kill' fully replicates the intended behavior of the previous 'tgkill' calls, including proper signal handling and error checking.
thread_kill(process_id, it->first, SIGSTOP);

.github/workflows/wheels.yml:88

  • [nitpick] Verify that the repeated exclusions for 'alpine:3.22' with various Python versions are intentional and consider consolidating them for clarity in the workflow configuration.
- distro: alpine:3.22

@MrIndeciso
MrIndeciso force-pushed the enable-wheel-distrib branch from e6e116f to 1041c1f Compare June 1, 2025 11:44
@MrIndeciso
MrIndeciso requested review from Frank01001 and io-no June 1, 2025 13:05
@MrIndeciso MrIndeciso linked an issue Jun 1, 2025 that may be closed by this pull request
@MrIndeciso MrIndeciso linked an issue Jun 1, 2025 that may be closed by this pull request
@MrIndeciso
MrIndeciso marked this pull request as ready for review June 1, 2025 13:12
@MrIndeciso
MrIndeciso force-pushed the enable-wheel-distrib branch 2 times, most recently from a0d50eb to b0d8044 Compare June 1, 2025 20:45
Let's see how they perform now
@MrIndeciso
MrIndeciso force-pushed the enable-wheel-distrib branch from b0d8044 to 7fe08d2 Compare June 1, 2025 21:07
@io-no
io-no changed the base branch from dev to main June 4, 2025 13:56
@io-no
io-no changed the base branch from main to dev June 4, 2025 14:01
@io-no

io-no commented Jun 8, 2025

Copy link
Copy Markdown
Member

Closing because cherry-picked in #249

@io-no io-no closed this Jun 8, 2025
@MrIndeciso
MrIndeciso deleted the enable-wheel-distrib branch June 15, 2025 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Installation fails on Arch Linux (libdwarf.h not found) Installation failing in Debian sid

4 participants