Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracker: Fedora 41 changes considerations #1714

Open
dustymabe opened this issue Apr 23, 2024 · 6 comments
Open

tracker: Fedora 41 changes considerations #1714

dustymabe opened this issue Apr 23, 2024 · 6 comments
Labels
F41-Changes F41 meeting topics for meetings

Comments

@dustymabe
Copy link
Member

dustymabe commented Apr 23, 2024

Output generated by and stored alongside (with modifications) this script in a fork of the pgm_scripts repo.


Fedora 41 Accepted System-Wide Changes (wiki source)

  1. ✔️ DNF/RPM Copy on Write enablement for all variants
    • RPM Copy on Write provides a better experience for Fedora Users as it reduces the amount of I/O and offsets CPU cost of package decompression. RPM Copy on Write uses reflinking capabilities in btrfs, which is the default filesystem starting from Fedora 33 for most variants. Note that this behavior is not being turned on by default for this Change.
    • Tracking bug: #1915976
    • NOTES: (copied from f40): JL: This path of librpm is not used by rpm-ostree. The whole download and unpack path is ostree native and has different tradeoffs. Good to keep track of this conceptually, but nothing for FCOS to do here.
  2. ✔️ KTLS implementation for GnuTLS
    • Acceleration of GnuTLS with software Kernel TLS (KTLS)
    • Tracking bug: #2130000
    • NOTES: (copied from f40): JL: This should be transparent to FCOS.
  3. ✔️ Modernize Live Media
    • Modernize the live media by switching to the "new" live environment setup scripts provided by livesys-scripts and leverage new functionality in dracut to enable support for automatically enabling persistent overlays when flashed to USB sticks.
    • Tracking bug: #2139918
    • NOTES: (copied from f40): DWM: This shouldn't affect FCOS. FCOS has its own live media separate from this process.
  4. Ostree Native Container (Phase 2, stable)
  5. ✔️ Anaconda WebUI for Fedora Workstation by default
    • The new PatternFly-based UI has been developed by the Anaconda team for some time now and we would like to make it available for users of Fedora to enhance and modernize installation experience. As the first step in this user adoption process, we are targeting Fedora Workstation only.
    • Tracking bug: #2231339
    • NOTES: (copied from f40): DWM: FCOS doesn't use an anaconda based installer. (JL: ...yet)
  6. ✔️ Changes/Python3.13
    • Update the Python stack in Fedora from Python 3.12 to Python 3.13, the newest major release of the Python programming language.
    • Tracking bug: #2244836
    • NOTES: JL:️ FCOS doesn't ship Python (...yet)
  7. ✔️ Remove Python Mock Usage
    • python-mock has been deprecated since Fedora 34 - 6 releases ago, but is still in use in many packages. We plan to go through the remaining usages and clean them up, with the goal of retiring python-mock from Fedora.
    • Tracking bug: #2258085
    • NOTES: MA: FCOS doesn't ship python (yet), so this should have no impact.
  8. Enable systemd service hardening features for default system services 👉 Tracker: Harden all our systemd units #1662
    • Improve security by enabling some of the high level systemd security hardening settings that isolate and sandbox default system services.
    • Tracking bug: #2260082
    • NOTES: MA: an issue was opened during the last release cycle.
  9. ✔️ Unify /usr/bin and /usr/sbin
    • The /usr/sbin directory becomes a symlink to bin, which means paths like /usr/bin/foo and /usr/sbin/foo point to the same place. /bin and /sbin are already symlinks to usr/bin and usr/sbin, so effectively /bin/foo and /sbin/foo also point to the same place. /usr/sbin will be removed from the default $PATH. The same change is also done to make /usr/local/sbin point to bin, effectively making /usr/local/bin/foo and /usr/local/sbin/foo point to the same place. The definition of %_sbindir will be changed to %_bindir, so packages will start using the new directory after a rebuild without any further action. Maintainers may stop using %_sbindir, but don't need to.
    • Tracking bug: #2267022
    • NOTES: TR: Should not impact FCOS
  10. ✔️ SPDX License Phase 4 (The last one)
    • The fourth phase of transition from using Fedora's short names for licenses to SPDX identifiers in the License: field of Fedora package spec files. This phase focuses on migrating the remaining packages.
    • Tracking bug: #2270363
    • NOTES: JL: Packages owned by the CoreOS team did this in Fedora 39: F39 Change: SPDX License Phase 2 #1497
  11. Switch to dnf5 👉 Ship dnf in FCOS and RHCOS #1687
    • Change the default package manager from dnf to dnf5.
    • Tracking bug: #2274810
    • NOTES: JL: This affects FCOS, where we want to ship dnf5 in FCOS and rely on this change. See Ship dnf in FCOS and RHCOS #1687.
  12. ✔️ GNU Toolchain Update (gcc 14+, binutils 2.42+, glibc 2.40, gdb 14+)
    • Update the Fedora 41 GNU Toolchain to gcc 14.1+, binutils 2.42+, glibc 2.40 and gdb 14+.
    • Tracking bug: #2274811
    • NOTES: TR: Should not impact FCOS
  13. ✔️ Deprecate Openssl engine support
    • We disable building the packages using ENGINE API in OpenSSL without breaking ABI.
    • Tracking bug: #2276420
    • NOTES: TR: Should no impact FCOS
  14. ✔️ RPM 4.20
    • Update RPM to the up coming 4.20 release.
    • Tracking bug: #2276421
    • NOTES:
      • TR: May impact rpm-ostree
      • JL: Should be transparent to FCOS. Any fallout should show up in rawhide first.
  15. ✔️ Upgrade systems to createrepo_c 1.0 and change repositories metadata settings
    • This is a proposal for upgrading systems which produce composes to createrepo_c > 1.0 and changing some options used to create Fedora repositories metadata. Note that some of these changes are inevitable due to createrepo_c >= 1.0 behavioral change. We aim to change both Rawhide/F41, then move all following releases to the new settings, while preserving most of the current settings for releases <= 40.
    • Tracking bug: #2276422
    • NOTES: TR: Should not impact FCOS
  16. ✔️ Reproducible Package Builds
    • A post-build cleanup is integrated into the RPM build process so that common causes of build irreproducibility in packages are removed, making most of Fedora packages reproducible.
    • Tracking bug: #2279765
    • NOTES: TR: We can check our packages but should not impact FCOS
  17. ✔️ Perl 5.40
    • A new perl 5.40 version brings a lot of changes done over a year of development. Perl 5.40 was released on June 9th 2024. See perldelta for 5.40.0 for more details about new release.
    • Tracking bug: #2282166
    • NOTES: TR: We don't ship Perl
  18. ✔️ Drop Mandatory Requires on JRE
    • Drop the requirement of Java libraries to have Requires on JREs.
    • Tracking bug: #2282167
    • NOTES: TR: We don't ship JRE
  19. ✔️ Golang 1.23
    • Update of Go (golang package) to the upcoming version 1.23 in Fedora 41.
    • Tracking bug: #2293625
    • NOTES: JL: Will affect some packages, but should be transparent otherwise
  20. ✔️ Removing network-scripts package
    • network-scripts package will be removed in Fedora 41. By removing the package, we also remove support for legacy ifup/ifdown network scripts that have been deprecated since 2018.
    • Tracking bug: #2293626
    • NOTES: JL: FCOS hasn't shipped with that package for a while, or possibly ever.
  21. DNF and bootc in Image Mode Fedora variants
    • Enhance the image-mode Fedora user experience by providing familiar DNF commands on client side and inside a container image build. Provide DNF5 alongside rpm-ostree while we slowly port functionality from rpm-ostree to DNF5.
    • Tracking bug: #2293627
    • NOTES: JL: We are involved in this and this is already tracked seperately
  22. ✔️ Make Tuned the Default Power Profile Management Daemon
    • This Change makes ‘tuned’ the default power profile management daemon in Fedora Workstation, KDE Plasma, and Budgie instead of power-profiles-daemon.
    • Tracking bug: #2293628
    • NOTES: JL: FCOS doesnt ship with tuned
  23. ✔️ LLVM 19
    • Update all llvm sub-projects in Fedora Linux to version 19.
    • Tracking bug: #2293629
    • NOTES: JL: Not sure if any CoreOS packages use LLVM currently, but should be transparent if so
  24. ✔️ Node.js 22.x by default
    • The latest release of Node.js to carry a 30-month lifecycle is the 22.x series. As with 20.x, 18.x 16.x, 14.x, 12.x, 10.x and 8.x before it, Fedora 41 will carry 22.x as the default Node.js interpreter for the system. The 20.x, and 18.x interpreters will remain available as parallel-installable options.
    • Tracking bug: #2293630
    • NOTES:
      • TR: We don't ship Node.js
      • MA: Change didnt have a tracking bug when the script was run on 2024-06-17.
  25. ✔️ Replace Redis with Valkey
    • Obsolete Redis for Valkey due to Redis's license change to RASLv2/SSPL.
    • Tracking bug: #2293631
    • NOTES: JL: FCOS doesn't ship either

Fedora 41 Accepted Self-Contained Changes (wiki source)

  1. ✔️ Enable bootupd for Fedora Atomic Desktops and Fedora IoT
    • By design, ostree does not manage bootloader updates as they can not (yet) happen in a safe fashion. To solve this issue, bootupd (https://github.com/coreos/bootupd) was created. bootupd is a small socket activated program that takes care of updating the bootloader. It currently only supports EFI booted systems and rpm-ostree based systems. The updates are triggered by an administrator and are not (yet) automated for safety reasons. This change is about enabling bootupd integration in Fedora Atomic Desktops and Fedora IoT to make bootloader updates easier. bootupd is already used in Fedora CoreOS.
    • Tracking bug: #2150982
    • NOTES: TR: Already enabled in Fedora CoreOS
  2. ✔️ mkosi-initrd
    • mkosi-initrd is an alternative builder for initrds. It will be packaged in Fedora, so that users can use it to build initrds locally. A kernel-install plugin will be provided to build the initrd when a kernel package is installed. As a stretch goal, initrds will be build in koji and delivered via rpm packages. As a further stretch goal, pre-built initrds will be used in Unified Kernel Images that can be delivered via rpm packages.
    • Tracking bug: #2203221
    • NOTES: TR: No immediate action needed as we build our own initrd for now
  3. ✔️ Enable auto-updates by default in Fedora Kinoite
    • On Fedora Kinoite, Plasma Discover supports automatically updating the system in a safe fashion via rpm-ostree staged updates. We want users to benefit from bug fixes and updates in general by default thus we want to enable auto-updates by default. Users will still have the option of disabling that or tuning the frequency at which updates happen.
    • Tracking bug: #2233192
    • NOTES: TR: Should not impact FCOS
  4. ✔️ Haskell GHC 9.6 and Stackage LTS 22
    • Update the GHC Haskell compiler from major version 9.4 to 9.6 and Haskell packages from Stackage LTS 21 to LTS 22 versions.
    • Tracking bug: #2258070
    • NOTES: JL: FCOS doesn't ship these packages
  5. ✔️ Add bpfman to Fedora (Self-Contained Change proposal)
    • bpfman: An eBPF Manager bpfman operates as an eBPF manager, focusing on simplifying the deployment and administration of eBPF programs. Its notable features encompass:
    • Tracking bug: #2271633
    • NOTES: JL: This is transparent to FCOS
  6. ✔️ Enable Consistent Device Naming in Cloud Images
    • This proposal aims to remove the net.ifnames=0 kernel command line entry from the Fedora cloud kickstarts so that consistent device naming is enabled for cloud instances. This change brings Fedora Cloud in line with Fedora Server, Workstation, and CoreOS.
    • Tracking bug: #2274818
    • NOTES: TR: Already done for Fedora CoreOS
  7. ✔️ PHP 64-bit only
    • Drop support for 32-bit builds
    • Tracking bug: #2274819
    • NOTES: TR: We don't ship PHP in FCOS
  8. ✔️ Pytest 8
    • Update to a new upstream release of pytest that is not completely compatible with previous releases. Pytest 8 is a major upstream release removing a lot of deprecated functions and introducing breaking changes.
    • Tracking bug: #2276439
    • NOTES: JL: We don't ship nor use this testing framework in FCOS AFAIK
  9. ✔️ Multiple Versioned Kubernetes Packages
    • Provide all maintained Kubernetes releases in Fedora as multiple, versioned packages. Current practice is a separate Kubernetes release matched with each Fedora release.
    • Tracking bug: #2276440
    • NOTES: TR: FCOS does not include any kubernetes package
  10. ✔️ Python built with gcc -O3
    • Instead of Fedora's default -O2 compiler flag, we will use -O3 to build CPython. This only impacts the interpreter and Python standard library, not any 3rd party extension modules built as RPM or on developer machines. This aligns with the way Python is built upstream. According to our performance measurements, it makes Python significantly faster (pyperformance geometric mean: 1.04x faster).
    • Tracking bug: #2279768
    • NOTES: JL: FCOS doesn't ship Python (...yet)
  11. ✔️ Fedora Miracle Window Manager
    • Create an official Fedora Spin shipping the up-and-coming Miracle Window Manager
    • Tracking bug: #2282169
    • NOTES: TR: Those packages are not included in FCOS
  12. ✔️ IBus Chewing for Traditional Chinese (Taiwan) Desktop by Default
    • Change the default input method for Traditional Chinese (Taiwan), the zh_TW locale, from ibus-libzhuyin to ibus-chewing. ibus-chewing is the ibus front-end of the libchewing library. Chewing (新酷音, https://chewing.im/) is one of the most popular and featureful IM among zh_TW users.
    • Tracking bug: #2293624
    • NOTES: FCOS doesn't ship with ibus
@travier
Copy link
Member

travier commented May 22, 2024

After a first look, I don't see anything impacting FCOS. Some of those things were already there in the F40 change so we should be able to re-purpose the tracking issue (from #1626).

@travier
Copy link
Member

travier commented May 29, 2024

108: #1662

@gursewak1997 gursewak1997 removed the meeting topics for meetings label Jun 5, 2024
@marmijo
Copy link
Contributor

marmijo commented Jun 12, 2024

I've scheduled a 1 hour call for us to review these changes before bringing them up in the FCOS community meeting again.
The call is scheduled for Tuesday, June 18th at 1:00pm EDT / 5:00pm UTC. Please feel free to join the meeting to discuss by using the options below:

Fedora 41 Changes Review:
Tuesday, June 18 · 1:00pm - 2:00pm (EDT) / 5:00pm - 6:00pm (UTC)
Google Meet joining info
Video call link: https://meet.google.com/joh-atum-gzu
Or dial: ‪(US) +1 978-820-2527‬ PIN: ‪411 775 782‬#
More phone numbers: https://tel.meet/joh-atum-gzu?pin=7830773142837
Or join via SIP: sip:7830773142837@gmeet.redhat.com

@marmijo
Copy link
Contributor

marmijo commented Jun 18, 2024

I updated the list with the review from @jlebon, @travier, and myself today: https://pagure.io/fork/dustymabe/fedora-pgm/pgm_scripts/c/25f962e99689cbcad478db53c308391cdef3a81a?branch=dusty-fcos-changes

@marmijo
Copy link
Contributor

marmijo commented Jun 26, 2024

I ran the script and updated the description today. A few new changes came through. https://pagure.io/fork/dustymabe/fedora-pgm/pgm_scripts/c/1073c4c0c0d11aff6d40149208c822ce2c180198?branch=dusty-fcos-changes.

@jlebon jlebon added the meeting topics for meetings label Jun 26, 2024
@marmijo
Copy link
Contributor

marmijo commented Jul 3, 2024

Updated the description with the outcome of today's community meeting discussion: https://pagure.io/fork/dustymabe/fedora-pgm/pgm_scripts/c/5639d52b0ac7a3aaa0acb92719558bee79498014?branch=dusty-fcos-changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
F41-Changes F41 meeting topics for meetings
Projects
None yet
Development

No branches or pull requests

5 participants