#3026 Change: Python Extension Flags Reduction
Closed: Accepted by zbyszek. Opened by amoloney.

Continuing the work started with
https://fedoraproject.org/wiki/Changes/Python_Extension_Flags, this
change is about further reducing the build and linker flags (CFLAGS
and LDFLAGS) saved internally in the Python interpreter for use by
distutils and other build systems. Compiling non-RPM Python extension
modules will carry only the compiler flags required for binary
compatibility with the interpreter they were built against and not
Fedora specific ones.

Practically that means the only Fedora derived flag will be
-fexceptions and Python will apply its own upstream
hardcoded ones, making the final flag set for a non-RPM compiled
Python extension as follows:

  • -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG
    -fexceptions

Python C extensions built as rpm's will '''not''' be
affected.

The current main Python interpreter on Fedora 39 will be modified
(Python 3.12) and Python 3.6-3.11 will follow.

This change will affect every package that provides support for
extension builders via utilizing the %{extension...flags}
macros which at the time being is only Python.

Owners, do not implement this work until the FESCo vote has explicitly ended.
The Fedora Program Manager will create a tracking bug in Bugzilla for this Change, which is your indication to proceed.
See the FESCo ticket policy and the Changes policy for more information.

REMINDER: This ticket is for FESCo members to vote on the proposal. Further discussion should happen in the devel list thread linked above.


+1 🐍

Following the rules, this should have been approved about 4 days ago with (+7, 0, 0). But since @dcantrell votes, let's count his vote too, this doesn't change the outcome.

APPROVED (+8, 0, 0)

Metadata Update from @zbyszek:
- Issue tagged with: pending announcement

Announced.

Metadata Update from @zbyszek:
- Issue untagged with: pending announcement
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

The change has been implemented but I don't see it at https://fedoraproject.org/wiki/Releases/39/ChangeSet nor I got a tracking bug.

Change tracking bugs have apparently gone by the wayside since... certain RH staffing decisions

Yeah. I think we're in semi-self-service mode now: please create an releng and tracker bugs as appropriate if something is missing.

https://bugzilla.redhat.com/show_bug.cgi?id=2229725

Metadata