coreos / fedora-coreos-tracker

Issue tracker for Fedora CoreOS
https://fedoraproject.org/coreos/
260 stars 60 forks source link

tracker: Fedora 41 changes considerations #1714

Open dustymabe opened 2 months ago

dustymabe commented 2 months ago

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 👉 https://github.com/coreos/fedora-coreos-tracker/issues/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: https://github.com/coreos/fedora-coreos-tracker/issues/1497
  11. Switch to dnf5 👉 https://github.com/coreos/fedora-coreos-tracker/issues/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 commented 1 month ago

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 https://github.com/coreos/fedora-coreos-tracker/issues/1626).

travier commented 1 month ago

108: https://github.com/coreos/fedora-coreos-tracker/issues/1662

marmijo commented 3 weeks ago

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 commented 2 weeks ago

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 commented 1 week ago

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.

marmijo commented 1 day ago

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