Distribution-wide Changes
- Improved usage data gathering through DNF
- Physical optical media does not require pre-GA testing
- Packaging changes in clang-libs package
- Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages
- Adopting sysusers.d format
- Limited scriptlet usage of core packages
- Faster recovery from low-memory situations in Fedora Workstation
Improved usage data gathering through DNF
Before Fedora 32, The Fedora Project was estimating the number of installed Fedora systems by counting the unique IP addresses which access updates from the official mirrors. This approach is highly inaccurate for multiple reasons, such as undercounting due to NAT and overcounting due to short DHCP leases and laptops moving between different network connections, and this approach also doesn’t allow for distinguishing between Fedora variants. At the same time, accurate usage metrics are highly useful for any software project that wants to serve its community and remain relevant, and so The Fedora Project has been exploring ways to obtain more useful information without compromising privacy of its users.
In Fedora 32, when the installed system contacts one of the official Fedora mirrors, it provides the following information ("user agent"):
-
Fedora version (such as "Fedora 32").
-
Fedora variant (such as "Server").
-
Operating system and architecture (such as "Linux.x86_64").
-
A newly introduced
countme
variable.
The countme
variable is used by Fedora Project to determine the age of the system. The variable has four possible values:
-
1
within the first week of installation - 0-7 days. -
2
between the first week and the first month of installation - 8-30 days. -
3
between the first month and the the first 6 months of installation - 31-180 days. -
4
after the first 6 months of installation - 180 days or more.
Using this system, The Fedora Project can measure the usage levels of various combinations of architectures and variants and collect data short and long term usage of each variant. At the same time, this system avoids collecting any identifying information about any client system.
If you wish to disable this behavior, change the value of the countme
boolean in DNF configuration. See the dnf.conf(5)
man page for details.
This system will not be active on Fedora Project’s side at the moment of Fedora 32 release because the server side portion is not ready. Clients will send their user agent including |
Physical optical media does not require pre-GA testing
Since Fedora 32, the operating system to be installed from the physical optical media will not need to be tested before the general availability. However, issues regarding physical media boot will still be treated as blocker bugs.
The change will affect the following images:
-
Fedora-Everything-netinst-x86\_64-<RELEASE_MILESTONE>.iso
-
Fedora-Workstation-Live-x86\_64-<RELEASE_MILESTONE>.iso
The change aims to address the trend of ever decreasing amount of new computers and laptops with CD/DVD drives, and errors that installation using this media entails.
As a result, the Fedora QE Team and community testers will have more capacity to test parts of Fedora that are far more visible and exposed to end users.
Due to some bugs, users might not be able in some cases to complete the installation from optical media. |
Packaging changes in clang-libs package
The clang-libs
package no longer includes individual component libraries like libclangBasic.so
, libclangAST.so
and so on. Packages that depend on the clang libraries are now linked to libclang-cpp.so
.
As a result of this change:
-
There is an improved stability in Fedora and application start-up time.
-
End-users who develop applications using clang libraries are required to update their applications to use
libclang-cpp.so
instead of the individual component libraries. -
End-users who use Fedora packages that depend on clang libraries do not have any impact due to this change.
Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages
An updated version (3.2.0) of Free Pascal Compiler is now available with Fedora 32. With the updated Free Pascal Compiler you can now build Arch64
and ppc64le
packages. Also, the Free Pascal Compiler now supports new architectures. As a result, the programs that are compiled using FPC are available to run on more architectures that Fedora supports.
Adopting sysusers.d format
Previously, users were created in %pre
section by calling the commands getent
, useradd
, and groupadd
.
With this update, users are defined in the sysusers.d
format. It adds an rpm package Provides generator
to create user(<name>)
and group(<name>)
virtual Provides for packages with sysusers.d files.
An rpm package Provides
generator is added to generate user(<name>)
and group(<name>)
for packages with sysusers.d
files.
As a benefit:
-
Packages declare system users using a uniform syntax.
-
Scriptlets are more standardized.
-
Admins may easily inspect the system user list and find which packages require users.
-
Admins may easily override definitions of system users by providing appropriate
sysusers.d
files with higher priority.Users are still created using old-style
useradd
calls.
Limited scriptlet usage of core packages
In Fedora 32, core packages (packages that are used to build the minimal container image) have had all of their scriptlet calls (%pre
, %post
, %preun
, %postun
) removed. This means the entire install process of the container image is now declarative and transparent to packaging tools such as rpm
, ostree
, or composer
, the installation is faster, and keeping this approach in the future will allow for additional optimizations and features.
Packages can still make changes to the system during installation by placing files in specific locations that trigger actions.
Faster recovery from low-memory situations in Fedora Workstation
The earlyoom
service is now enabled by default in Fedora Workstation.
The earlyoom
service monitors system memory usage.
If free memory falls below a set limit, earlyoom
terminates an appropriate process to free up memory.
As a result, the system does not become unresponsive for long periods of time in low-memory situations.
The following is the default earlyoom
configuration:
-
If both RAM and swap go below 10% free,
earlyoom
sends theSIGTERM
signal to the process with the largestoom_score
. -
If both RAM and swap go below 5% free,
earlyoom
sends theSIGKILL
signal to the process with the largestoom_score
.
For more information, see the earlyoom
man page.
Want to help? Learn how to contribute to Fedora Docs ›