From Fedora Project Wiki


Remove Guile Support From Toolchain

Summary

Remove Guile support from GDB and GNU Make packages.

Owner

Current status

  • Targeted release: Fedora 34
  • Last updated: 2021-02-03
  • FESCo issue: #2558
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

GDB and Make packages currently contain Guile scripting support which allows users to implement (possibly new) functionality in these tools. This change request proposes to remove that support from the these tools, since both provide alternatives without the burden of additional dependencies.


Benefit to Fedora

While GDB supplies a "minimal" package which disables all non-essential features for use in the buildroot, Make has no equivalent, and is always compiled with Guile support. This requires that the buildroot contains Guile. This proposal will help shrink the buildroot.

Furthermore, GDB already supports a much more widely tested and feature-rich Python interface, and maintainers would like to remove the maintenance burden imposed by supporting multiple scripting interfaces.


Scope

  • Proposal owners: Update gdb/make spec files.
  • Other developers: Update Make/GDB scripting files if using Guile. No such users expected.
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Users with GDB and/or Make Guile scripts will need to update and/or rewrite their scripts.

How To Test

GDB: There is nothing to test. If you are using Guile scripts, you should rewrite with Python.

Make: Rebuild packages if it is unknown whether they contain Guile scripts; otherwise, there is nothing to test.

User Experience

Guile scripts that extend the functionality of GDB or Make will stop working when users upgrade these packages. GDB users are encouraged to use GDB's Python interface instead. Users of Guile in Makefiles should either use shell scripting or GNU Make's built-in language or migrate to another build tool with different scripting capabilities (such as CMake or Meson).

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: Revert changes and restore GDB/Make support for Guile.
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes

Release notes should mention the removal of Guile support in GDB/Make and suggest alternatives.