From Fedora Project Wiki

< Changes

Revision as of 19:32, 8 December 2020 by Keiths (talk | contribs)


Remove Guile Support From Toolchain

Summary

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.

Owner

Current status

  • Targeted release: Fedora 34
  • Last updated: 2020-12-08
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

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 package spec files.
  • Other developers: Update Make/GDB scripting files if using Guile.
  • 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. Make users should either use shell scripting or migrate to CMake, Meson, or some other build tool.

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.