Skip to content

TOOL-30782 stop building gdb-python and crash-python - #412

Merged
prakashsurya merged 1 commit into
os-upgradefrom
projects/tool-30782-drop-gdb-python
Aug 10, 2026
Merged

TOOL-30782 stop building gdb-python and crash-python#412
prakashsurya merged 1 commit into
os-upgradefrom
projects/tool-30782-drop-gdb-python

Conversation

@prakashsurya

@prakashsurya prakashsurya commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Problem

Neither package builds on resolute without carrying work we do not want to carry.

gdb-python bundles a readline old enough to predate C23. GCC 15 defaults to -std=gnu23, where an empty parameter list means (void), so readline's unprototyped termcap declarations turn every call into an error:

display.c:2805:17: error: too many arguments to function 'tputs'; expected 0, have 3

The only cheap fix is pinning the whole tree to -std=gnu17 (gdb-python#21) — a mitigation with no end date rather than a port. Rather than keep that indefinitely, drop the package.

crash-python has to go with it: it is the Python extension layer that runs inside gdb-python and Depends: gdb-python, so keeping it while dropping gdb-python leaves it uninstallable and breaks the appliance build at dependency resolution.

Solution

Remove both from package-lists/build/main.pkgs and delete their packages/ definitions. The repos themselves are left in place — only the build entries go.

We keep crash-dump analysis; we drop the second way of doing it

Worth stating plainly, since "remove crash-python" reads worse than it is:

  • sdb remains available on the appliance, exactly as before — still built here, still in delphix-platform's dependencies. It is the tool we actually reach for, it is ours, and it is where the debugging effort goes.
  • drgn remains — the engine sdb is built on.
  • savedump, makedumpfile, libkdumpfile all remain. Dump collection is untouched.

The appliance keeps a complete collect-and-analyse story. What goes away is the crash-python/gdb-python path, an older second way of inspecting the same dumps that duplicates what sdb already does — and the only one of the two that will not build on 26.04. sdb is the preferred tool going forward, and this makes it the only one, instead of maintaining a parallel toolchain to reach the same place.

Nothing programmatic loses a dependency. The only consumer is delphix-platform, which pulls in crash-python through the DEPENDS block its own comment describes as "tools that are intended for human convenience. The product should not rely on them programmatically." That reference is removed in delphix-platform#567, with the same change up for team discussion on develop in #568.

Verified there is nothing else to unwind: neither package appears in the develop or os-upgrade auto-sync lists in linux_pkg_check_updates.groovy, appliance-build has zero references, and no other package depends on either (checked dlpx-app-gate, sdb, drgn, savedump, libkdumpfile, makedumpfile). After this change grep -r finds no remaining reference in linux-pkg.

Testing Done

Validated by the next build-packages/post-push BUILD_POLICY=ALL run on os-upgrade, which should no longer schedule either package; results on TOOL-30782.

Neither builds on resolute without carrying work we do not want to carry.

gdb-python bundles a readline old enough to predate C23, so GCC 15's default of
-std=gnu23 turns every unprototyped termcap call into an argument-count error.
The only cheap fix is pinning the whole tree to -std=gnu17, which is a
mitigation with no end date rather than a port.

crash-python goes with it. It is the Python extension layer that runs inside
gdb-python and Depends on it, so keeping crash-python while dropping gdb-python
would leave it uninstallable.

Nothing programmatic loses a dependency. delphix-platform pulls crash-python in
through the DEPENDS block its own comment describes as "tools that are intended
for human convenience. The product should not rely on them programmatically."
That reference is removed separately in delphix-platform.

What is actually lost is on-appliance kernel crash-dump inspection. Dump
analysis in practice happens off-appliance with sdb against a saved vmcore, and
savedump, makedumpfile and libkdumpfile all stay.

The repos are left in place; only the build entries go.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@prakashsurya
prakashsurya merged commit d560569 into os-upgrade Aug 10, 2026
5 checks passed
@prakashsurya
prakashsurya deleted the projects/tool-30782-drop-gdb-python branch August 10, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant