F37 proposal: GNU Toolchain Update (glibc 2.36, binutils 2.38) (late
System-Wide Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/GNUToolchainF37
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
Update the Fedora 37 GNU Toolchain to glibc 2.36, binutils 2.38.
The set of core GNU Toolchain packages for Fedora 37 are as follows:
* GNU C Compiler 12 (first released in Fedora 36)
** Associated runtimes for C++ (libstdc++), Go (gccgo), OpenMP (gomp),
Fortran (gfortran), D (phobos), Objective C/C++.
* GNU Binary Utilities 2.38 (expected release in Fedora 37)
* GNU C Library 2.36 (expected release in Fedora 37)
* GNU Debugger 12 (immediately available in Fedora 35, 36, and 37)
The glibc 2.36 change will be tracked in this top-level GNU Toolchain
system-wide update.
The binutils 2.38 change will be tracked in this top-level GNU
Toolchain system-wide update.
== Owner ==
* Name: [[User:codonell|Carlos O'Donell]]
* Email: carlos(a)redhat.com
== Detailed Description ==
The GNU Compiler Collection, GNU C Library, GNU Debugger, and GNU
Binary Utilities make up the core part of the GNU Toolchain and it is
useful for our users to transition these components as a complete
implementation when making a new release of Fedora.
The GNU C Library version 2.36 is expected to be released in the
beginning of August 2022; we have started closely tracking the glibc
2.36 development code in Fedora Rawhide and are addressing any issues
as they arise. Given the present schedule Fedora 37 will branch after
the release of glibc 2.36. However, the mass rebuild schedule means
Fedora 37 will mass rebuild (if required) before the final release of
glibc 2.36, but after the ABI is frozen.
The GNU Binutils version 2.38 was released in February 2022; and we
have already been using this version of binutils in Fedora Rawhide
successfully to build the distribution. Given the present schedule for
Fedora 37 we will continue to use Binutils 2.38 for Fedora 37.
== Benefit to Fedora ==
Stays up to date with latest features, improvements, security and bug
fixes from gcc, glibc, binutils, and gdb upstream.
The goal is to track and transition to the latest components of the
GNU Toolchain.
== Scope ==
* Proposal owners: Fedora Toolchain Team (gcc, glibc, binutils, gdb,
...) developers need to ensure that gcc, glibc, binutils, and gdb in
rawhide are stable and ready for the Fedora 37 branch.
* Other developers: Given that glibc is backwards compatible and we
have been testing the new glibc in rawhide it should make very little
impact when updated, except for the occasional deprecation warnings
and removal of legacy interfaces from public header files.
* Release engineering: A mass rebuild is strongly encouraged;
[https://pagure.io/releng/issue/10865 #10865]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives: N/A
== Upgrade/compatibility impact ==
Any source level changes required for glibc 2.36 will be noted here:
https://sourceware.org/glibc/wiki/Release/2.36#Packaging_Changes
== How To Test ==
The GNU Compiler Collection has its own testsuite which is run during
the package build and examined by the gcc developers before being
uploaded.
The GNU C Library has its own testsuite which is run during the
package build and examined by the glibc developers before being
uploaded. This test suite has over 6200 tests that run to verify the
correct operation of the library. In the future we may also run the
microbenchmark to look for performance regressions.
The GNU Binutils has its own testsuite which is run during the package
build and examined by binutils developers before being uploaded. The
regression testsuite is run to verify the correct operation of the
static linker and attendant utilities.
The GNU Debugger has its own testsuite which is run during the package
build and examined by gdb developers before being uploaded. The
regression testsuite is run to verify the correct operation of the
debugger.
== User Experience ==
== Dependencies ==
All packages do not need to be rebuilt due to backwards compatibility.
However, it is advantageous if a mass rebuild is performed during the
Fedora 37 cycle. The mass rebuild would ensure all packages can be
built with the newer compiler and core runtime.
== Contingency Plan ==
* Contingency mechanism glibc: If glibc 2.36 proves too disruptive to
compiling the distribution we could revert to 2.35, but given that
Rawhide has started tracking glibc 2.36, no show-stopper problems are
expected. At this point we can still revert to upstream version 2.35
if insurmountable problems appear, but to do so may require a mass
rebuild to remove new symbols from the ABI/API.
* Contingency mechanism binutils: If binutils 2.38 proves too
distruptive to assembling and linking the distribution we could revert
to 2.37, but given that Rawhide is using 2.38, no show-stopper
problems are expected. At this point we can still revert if
insurmountable problems appear, but to do so may require a mass
rebuild if the defects involve generated binaries.
* Contingency deadline: Fedora mass rebuild on 2022-07-20.
* Blocks release?
** Yes, upgrading to glibc 2.36 does block the release.
== Documentation ==
The gcc manual contains the documentation for the release and doesn't
need any more additional work.
The binutils manual contains the documentation for the release and
doesn't need any more additional work.
The glibc manual contains the documentation for the release and
doesn't need any more additional work.
The gdb manual contains the documentation for the release and doesn't
need any more additional work.
== Release Notes ==
The GNU C Library version 2.36 will be released at the beginning of
August 2022. The current NEWS notes can be seen here as they are
added: https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;hb=HEAD
The GNU Binary Utilities version 2.38 was released February 2022. The
current release notes can be seen here:
https://sourceware.org/pipermail/binutils/2022-February/119721.html
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 9 months
Fedora rawhide compose report: 20220703.n.0 changes
by Fedora Rawhide Report
OLD: Fedora-Rawhide-20220702.n.0
NEW: Fedora-Rawhide-20220703.n.0
===== SUMMARY =====
Added images: 2
Dropped images: 1
Added packages: 0
Dropped packages: 0
Upgraded packages: 22
Downgraded packages: 0
Size of added packages: 0 B
Size of dropped packages: 0 B
Size of upgraded packages: 572.12 MiB
Size of downgraded packages: 0 B
Size change of upgraded packages: -177.20 MiB
Size change of downgraded packages: 0 B
===== ADDED IMAGES =====
Image: Cloud_Base qcow2 s390x
Path: Cloud/s390x/images/Fedora-Cloud-Base-Rawhide-20220703.n.0.s390x.qcow2
Image: Cloud_Base raw-xz s390x
Path: Cloud/s390x/images/Fedora-Cloud-Base-Rawhide-20220703.n.0.s390x.raw.xz
===== DROPPED IMAGES =====
Image: Kinoite dvd-ostree aarch64
Path: Kinoite/aarch64/iso/Fedora-Kinoite-ostree-aarch64-Rawhide-20220702.n.0.iso
===== ADDED PACKAGES =====
===== DROPPED PACKAGES =====
===== UPGRADED PACKAGES =====
Package: OpenImageIO-2.3.17.0-1.fc37
Old package: OpenImageIO-2.3.14.0-10.fc37
Summary: Library for reading and writing images
RPMs: OpenImageIO OpenImageIO-devel OpenImageIO-iv OpenImageIO-utils python3-openimageio
Size: 21.85 MiB
Size change: 314.48 KiB
Changelog:
* Sat Jul 02 2022 Richard Shaw <hobbes1069(a)gmail.com> - 2.3.17.0-1
- Update to 2.3.17.0.
Package: ansible-collection-community-docker-2.7.0-1.fc37
Old package: ansible-collection-community-docker-2.6.0-1.fc37
Summary: Ansible modules and plugins for working with Docker
RPMs: ansible-collection-community-docker
Size: 160.70 KiB
Size change: 938 B
Changelog:
* Sat Jul 02 2022 Maxwell G <gotmax(a)e.email> - 2.7.0-1
- Update to 2.7.0. Fixes rhbz#2103337.
- Fix shebangs
Package: baresip-2.5.0-1.fc37
Old package: baresip-2.4.0-2.fc37
Summary: Modular SIP user-agent with audio and video support
RPMs: baresip baresip-aac baresip-alsa baresip-av1 baresip-codec2 baresip-ctrl_dbus baresip-g722 baresip-g726 baresip-gsm baresip-gst baresip-gst_video baresip-gtk baresip-jack baresip-mpa baresip-mqtt baresip-omx baresip-opus baresip-plc baresip-portaudio baresip-pulse baresip-sdl baresip-snapshot baresip-sndfile baresip-tools baresip-v4l2 baresip-vp8 baresip-vp9 baresip-x11
Size: 5.32 MiB
Size change: 25.80 KiB
Changelog:
* Sat Jul 02 2022 Robert Scheck <robert(a)fedoraproject.org> 2.5.0-1
- Upgrade to 2.5.0 (#2103207)
Package: doctl-1.78.0-1.fc37
Old package: doctl-1.77.0-3.fc37
Summary: The official command line interface for the DigitalOcean API
RPMs: doctl golang-github-digitalocean-doctl-devel
Size: 20.21 MiB
Size change: 49.81 KiB
Changelog:
* Sat Jul 02 2022 Mikel Olasagasti Uranga <mikel(a)olasagasti.info> 1.78.0-1
- Update to 1.78.0 - Closes rhbz#2102839
Package: dwz-0.14-6.fc37
Old package: dwz-0.14-5.fc37
Summary: DWARF optimization and duplicate removal tool
RPMs: dwz
Size: 518.14 KiB
Size change: 411 B
Changelog:
* Fri Jul 01 2022 Mark Wielaard <mjw(a)fedoraproject.org> 0.14-6
- Add dwz-0.14-gdb-add-index.patch
Package: freecad-1:0.20-1.fc37
Old package: freecad-1:0.19.4-3.fc37
Summary: A general purpose 3D CAD modeler
RPMs: freecad freecad-data
Size: 247.33 MiB
Size change: -178.89 MiB
Changelog:
* Fri Jun 24 2022 Jonathan Wakely <jwakely(a)redhat.com> -1:0.19.4-4
- Remove obsolete boost-python3-devel build dependency (#2100748)
* Wed Jun 29 2022 Richard Shaw <hobbes1069(a)gmail.com> - 1:0.20-1
- Update to 0.20.
Package: golang-x-crypto-0-20.20220412git7b82a4e.fc37
Old package: golang-x-crypto-0-19.20220412git7b82a4e.fc37
Summary: Go supplementary cryptography libraries
RPMs: golang-x-crypto-devel
Size: 962.56 KiB
Size change: 952 B
Changelog:
* Sat Jul 02 2022 Robert-Andr�� Mauchin <zebob.m(a)gmail.com> 0-20
- Add Provides for ssh/testdata
Package: mate-panel-1.26.2-2.fc37
Old package: mate-panel-1.26.2-1.fc37
Summary: MATE Desktop panel and applets
RPMs: mate-panel mate-panel-devel mate-panel-libs
Size: 11.91 MiB
Size change: -6.19 KiB
Changelog:
* Sat Jul 02 2022 Wolfgang Ulbrich <fedora(a)raveit.de> - 1.26.2-2
- add patches from 1.26 branch
Package: mate-screensaver-1.26.1-1.fc37
Old package: mate-screensaver-1.26.0-3.fc36
Summary: MATE Screensaver
RPMs: mate-screensaver mate-screensaver-devel
Size: 22.91 MiB
Size change: 8.59 KiB
Changelog:
* Sat Jul 02 2022 Wolfgang Ulbrich <fedora(a)raveit.de> - 1.26.1-1
- update to 1.26.1
- add a few upstream commits from 1.26 branch
Package: mate-settings-daemon-1.26.0-4.fc37
Old package: mate-settings-daemon-1.26.0-3.fc36
Summary: MATE Desktop settings daemon
RPMs: mate-settings-daemon mate-settings-daemon-devel
Size: 3.52 MiB
Size change: -3.15 KiB
Changelog:
* Sat Jun 25 2022 Robert Scheck <robert(a)fedoraproject.org> - 1.26.0-4
- Do not depend on mate-control-center-filesystem during bootstrap
Package: mesa-22.1.3-1.fc37
Old package: mesa-22.1.2-1.fc37
Summary: Mesa graphics libraries
RPMs: mesa-dri-drivers mesa-filesystem mesa-libEGL mesa-libEGL-devel mesa-libGL mesa-libGL-devel mesa-libOSMesa mesa-libOSMesa-devel mesa-libOpenCL mesa-libOpenCL-devel mesa-libd3d mesa-libd3d-devel mesa-libgbm mesa-libgbm-devel mesa-libglapi mesa-libxatracker mesa-libxatracker-devel mesa-omx-drivers mesa-vdpau-drivers mesa-vulkan-drivers
Size: 163.73 MiB
Size change: -14.54 KiB
Changelog:
* Sat Jul 02 2022 Pete Walter <pwalter(a)fedoraproject.org> 22.1.3-1
- Update to 22.1.3
Package: nordugrid-arc-6.15.1-5.fc37
Old package: nordugrid-arc-6.15.1-4.fc37
Summary: Advanced Resource Connector Middleware
RPMs: nordugrid-arc nordugrid-arc-arcctl nordugrid-arc-arcctl-service nordugrid-arc-archery-manage nordugrid-arc-arex nordugrid-arc-arex-python-lrms nordugrid-arc-client nordugrid-arc-community-rtes nordugrid-arc-datadelivery-service nordugrid-arc-devel nordugrid-arc-gridftpd nordugrid-arc-hed nordugrid-arc-infosys-ldap nordugrid-arc-monitor nordugrid-arc-nordugridmap nordugrid-arc-plugins-arcrest nordugrid-arc-plugins-gfal nordugrid-arc-plugins-globus nordugrid-arc-plugins-globus-common nordugrid-arc-plugins-gridftp nordugrid-arc-plugins-gridftpjob nordugrid-arc-plugins-internal nordugrid-arc-plugins-lcas-lcmaps nordugrid-arc-plugins-needed nordugrid-arc-plugins-python nordugrid-arc-plugins-s3 nordugrid-arc-plugins-xrootd nordugrid-arc-test-utils nordugrid-arc-wn python3-nordugrid-arc
Size: 34.61 MiB
Size change: 11.70 KiB
Changelog:
* Sun Jul 03 2022 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.15.1-5
- Disable acix for Fedora 36 (new python twisted not supported)
Package: perl-Sub-HandlesVia-0.027-2.fc37
Old package: perl-Sub-HandlesVia-0.027-1.fc37
Summary: Alternative handles_via implementation
RPMs: perl-Sub-HandlesVia
Size: 94.40 KiB
Size change: 149 B
Changelog:
* Sun Jul 03 2022 Ralf Cors��pius <corsepiu(a)fedoraproject.org> - 0.027-2
- Preps for 0.028.
- BR: perl(FindBin).
- BR: perl(:VERSION).
Package: podman-tui-0.5.0-1.fc37
Old package: podman-tui-0.4.0-2.fc37
Summary: Podman Terminal User Interface
RPMs: podman-tui
Size: 28.46 MiB
Size change: 110.22 KiB
Changelog:
* Sat Jul 02 2022 Navid Yaghoobi <navidys(a)fedoraproject.org> 0.5.0-1
- release v0.5.0
Package: pygrib-2.1.4-5.fc37
Old package: pygrib-2.1.4-4.fc37
Summary: Python module for reading and modifying GRIB files
RPMs: python3-pygrib
Size: 1001.46 KiB
Size change: 240.83 KiB
Changelog:
* Sat Jul 02 2022 Jos de Kloe <josdekloe(a)gmail.com> 2.1.4-5
- remove ExcludeArch: s390x, since this is now supported by eccodes
Package: rust-snafu-0.7.1-1.fc37
Old package: rust-snafu-0.6.10-4.fc36
Summary: Ergonomic error handling library
RPMs: rust-snafu+backtrace-devel rust-snafu+backtraces-devel rust-snafu+backtraces-impl-backtrace-crate-devel rust-snafu+default-devel rust-snafu+futures-core-crate-devel rust-snafu+futures-crate-devel rust-snafu+futures-devel rust-snafu+guide-devel rust-snafu+internal-dev-dependencies-devel rust-snafu+pin-project-devel rust-snafu+rust_1_46-devel rust-snafu+std-devel rust-snafu+unstable-backtraces-impl-std-devel rust-snafu-devel
Added RPMs: rust-snafu+rust_1_46-devel
Dropped RPMs: rust-snafu+futures-01-crate-devel rust-snafu+futures-01-devel
Size: 170.57 KiB
Size change: 1.58 KiB
Changelog:
* Sat Jul 02 2022 Robert-Andr�� Mauchin <zebob.m(a)gmail.com> 0.7.1-1
- Update to 0.7.1 - Close: rhbz#2036803
Package: rust-snafu-derive-0.7.1-1.fc37
Old package: rust-snafu-derive-0.6.10-4.fc36
Summary: Ergonomic error handling library
RPMs: rust-snafu-derive+default-devel rust-snafu-derive+rust_1_46-devel rust-snafu-derive+unstable-backtraces-impl-std-devel rust-snafu-derive-devel
Added RPMs: rust-snafu-derive+rust_1_46-devel
Size: 54.75 KiB
Size change: 10.85 KiB
Changelog:
* Sat Jul 02 2022 Robert-Andr�� Mauchin <zebob.m(a)gmail.com> 0.7.1-1
- Update to 0.7.1 - Close: rhbz#2036804
Package: rust-target-2.0.0-2.fc37
Old package: rust-target-1.0.0-3.fc36
Summary: Get information on compilation target
RPMs: rust-target+default-devel rust-target-devel target
Added RPMs: target
Size: 727.17 KiB
Size change: 707.26 KiB
Changelog:
* Sat Jul 02 2022 Robert-Andr�� Mauchin <zebob.m(a)gmail.com> 2.0.0-1
- Update to 2.0.0
* Sat Jul 02 2022 Robert-Andr�� Mauchin <zebob.m(a)gmail.com> 2.0.0-2
- Tests are only designed for x86_64, disable tests on other arches
Package: rust-temptree-0.2.0-1.fc37
Old package: rust-temptree-0.1.0-3.fc36
Summary: Temporary trees of files
RPMs: rust-temptree+default-devel rust-temptree-devel
Size: 22.37 KiB
Size change: 491 B
Changelog:
* Sat Jul 02 2022 Robert-Andr�� Mauchin <zebob.m(a)gmail.com> 0.2.0-1
- Update to 0.2.0
Package: sameboy-0.15-1.fc37
Old package: sameboy-0.14.7-2.fc36
Summary: Game Boy and Game Boy Color emulator written in C
RPMs: sameboy
Size: 1.58 MiB
Size change: 291.04 KiB
Changelog:
* Sun Jul 03 2022 Jan Dr��gehoff <sentrycraft123(a)gmail.com> - 0.15-1
- Update to 0.15
Package: siril-1.0.3-1.fc37
Old package: siril-1.0.2-4.fc37
Summary: Astronomical image processing software
RPMs: siril
Size: 6.35 MiB
Size change: -73.03 KiB
Changelog:
* Sat Jul 02 2022 Mattia Verga <mattia.verga(a)proton.me> 1.0.3-1
- Upgrade to 1.0.3 (fedora#2101319)
Package: tmt-1.15.0-1.fc37
Old package: tmt-1.14.0-2.fc37
Summary: Test Management Tool
RPMs: python3-tmt tmt tmt-all tmt-provision-container tmt-provision-virtual tmt-report-html tmt-report-junit tmt-test-convert
Size: 709.73 KiB
Size change: 49.61 KiB
Changelog:
* Sat Jul 02 2022 Luk���� Zachar <lzachar(a)redhat.com> - 1.15.0-1
- Require fresh testcloud with coreos support
- Bad substitution in tmt-reboot
- Ignore "certificate verify failed" error when handling retries
- Cache content of each loaded environment file
- Initial polarion support for test export
- Fixes names of Artemis API versions
- Convert FmfIdType from TypedDict to a dataclass
- Add CoreOS support to the testcloud provision
- Run containers with root user
- Retry getting environment file
- Test import --general is default now
- Add typing for steps/finish/shell.py
- Enhance tmt.utils.retry_session with timeout support
- Adjust the `rpm-ostree` install implementation
- Add support for the `rpm-ostree` package manager
- Add `environment-file` to possible Plan keys
- Avoid Library url conflict if repo doesn't exist
- Check changes are pushed before export nitrate
- Add typing for beakerlib.py
- Unbundle template from the report.html plugin
- Rename `uuid` to `identifier` to prevent conflicts
- Use `must` for all mandatory spec requirements
- Fail import for packages starting with minus sign
- Adds support for newer Artemis API versions
- Disable the extra verbose progress in testcloud
- Refactor internal executor scripts
- Adds "missing" imports to help IDEs follow objects
- Add typing for steps/__init__.py
- Implement the test `result` attribute
- Add typing for plugins/__init__.py
- Detect legacy relevancy during import as well
- Implement the new user story key `priority`
- Implement new class `SerializableContainer`
- Add schema for stories
- Add typing for steps/prepare/shell.py
- Add typing for steps/prepare/ansible.py
- Require fmf >= 1.1.0 (we need validation support)
- Package fmf root into the source tarball as well
- Add JSON Schema for tests
- Exclude namespaced backup in beakerlib
- Use --depth=1 when cloning git repos by default
- Handle missing nitrate user during export
- Removes unused GuestContainer.container_id attribute
- Every subpackage must require the main tmt package
- Introduce dataclasses as a requirement
- Avoid re-using image/instance for different values by testcloud plugin
- Add typing for multihost.py
- Except nitrate xmlrpc issues during import
- Exclude beakerlib's backup dir from guest.pull()
- Increase `duration` for the reboot-related tests
- Several release-related tests and docs adjustments
===== DOWNGRADED PACKAGES =====
1 year, 9 months