Wiki -> https://fedoraproject.org/wiki/Changes/WifiMACRandomization
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 ==
Adopt stable-ssid as the default MAC address randomization mode for
Wi-Fi networks in NetworkManager for Fedora 40, enhancing user privacy
without compromising network stability.
== Owner ==
* Name: [[User:sfaye| Stanislas FAYE]], [[User:Till| Till Maas]]
* Email: <sfaye(a)redhat.com>, <till(a)fedoraproject.org>
== Detailed Description ==
The change involves adding a new file,
/usr/lib/NetworkManager/conf.d/22-wifi-mac-addr.conf. This file sets
`wifi.cloned-mac-address=”stable-ssid”` as the default mode for MAC
address randomization in Wi-Fi connections within NetworkManager for
[https://docs.fedoraproject.org/en-US/releases/f40/ Fedora Linux 40].
The `stable-ssid` mode, which generates a MAC address based on the
network's SSID, is aimed at enhancing user privacy. This new default
value will apply to Wi-Fi profiles in
[https://docs.fedoraproject.org/en-US/releases/f40/ Fedora Linux 40],
but profiles have the option to explicitly set different values to
override the default.
The content of the added file is:
[connection.22-wifi-mac-addr]
match-device=type:wifi
wifi.cloned-mac-address=stable-ssid
[.config]
enable=nm-version-min:1.45
For further details, please refer to `man NetworkManager.conf`.
Note that this change will impact networks that rely on static MAC
addresses. Users may need to adjust their Wi-Fi settings, particularly
if their network operations depend on consistent MAC addresses. For
example, networks with access control based on MAC addresses will need
to explicitly set `wifi.cloned-mac-address` to “preserve” in network
profiles to avoid any disruptions in connectivity.
== Benefit to Fedora ==
This change enhances user privacy by addressing the issue of MAC
address tracking method used by network operators and advertisers to
gather data about users’ movements and device usage patterns. By
randomizing MAC addresses, Fedora reduces the potential for this type
of passive surveillance, thereby enhancing individual privacy. It
aligns Fedora with privacy-focused features present in other modern
operating systems. The generated MAC address under the `stable-ssid`
mode is derived from the network’s SSID, a per-host key (from
`/etc/machine-id` and `/var/lib/NetworkManager/secret_key`), and a
per-interface identifier.
== Scope ==
* Proposal owners:
The [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_reques…
merge request] is already merged upstream.
* Other developers: N/A
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
With the adoption of `stable-ssid` as the default in Fedora 40,
existing users may experience changes in their Wi-Fi connection
behavior, particularly those whose network setups depend on fixed MAC
addresses. It’s crucial for users to be aware that upgrading to Fedora
40 will apply this new MAC address randomization by default. Users
needing to maintain consistent MAC addresses for specific networks can
address this by following one of these steps:
1. Manually set `wifi.cloned-mac-address` to `permanent` for specific
profiles using
`nmcli connection modify [$PROFILE] wifi.cloned-mac-address permanent`
2. Create a custom configuration file in
`/etc/NetworkManager/conf.d/22-wifi-mac-addr.conf`, which can be empty
or contain specific configurations. This will prevent the default file
in `/usr/lib` from being loaded.
3. Create a higher priority .conf file like
/etc/NetworkManager/conf.d/90-wifi-mac-addr.conf with:
[connection-90-wifi-mac-addr-conf]
wifi.cloned-mac-address=permanent
For details on the order in which configuration files are loaded and
their priority, refer to `man NetworkManager.conf`
== How To Test ==
* Upgrade NetworkManager to version 1.45 or newer implementing the
stable-ssid mode
* Connect to Wi-Fi network using nmcli or the GNOME network settings
* Use `ip link show` (replacing [device] with your Wi-Fi device’s
name) to check the MAC address assigned to the device.
* Note the MAC address and reconnect to the same network to confirm
that the MAC address remains consistent across sessions.
* Connect to different Wi-Fi networks and observe the MAC address for
each connection.
* Ensure that the MAC address is derived from the network’s SSID.
* Manually override the MAC address for a specific Wi-Fi profile using
`nmcli connection modify [profile] wifi.cloned-mac-address
[your-mac-address]` to set a specific MAC address
* Reconnect to the network and use `nmcli device show [device]` to
verify that the specified MAC address is being used.
== User Experience ==
Users will experience an additional layer of privacy without any
required action on their part. The change is transparent, with minimal
impact on the day-to-day user experience. However, for those with
specific network configurations reliant on static MAC addresses, this
update may require manual adjustments to network profile settings.
Users in such scenarios will need to be aware of the change and how to
revert to a fixed MAC address if necessary, ensuring their network
connectivity aligns with their requirements.
== Dependencies ==
N/A
== Contingency Plan ==
* Contingency mechanism: Revert to previous MAC address handling if
significant issues arise.
* Contingency deadline: Beta freeze of Fedora 40.
* Blocks release? No
== Documentation ==
No documentation change is required.
== Release Notes ==
The change will be mentioned in the Release Notes.
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki -> https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
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 ==
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`.
== Owner ==
* Name: [[User:zbyszek|Zbigniew Jędrzejewski-Szmek]]
* Email: zbyszek at in.waw.pl
== Detailed Description ==
The split between `/bin` and `/sbin` is not useful, and also unused.
The original split was to have "important" binaries statically linked
in `/sbin` which could then be used for emergency and rescue
operations. Obviously, we don't do static linking anymore. Later, the
split was repurposed to isolate "important" binaries that would only
be used by the administrator. While this seems attractive in theory,
in practice it's very hard to categorize programs like this, and
normal users routinely invoke programs from `/sbin`. Most programs
that require root privileges for ''certain'' operations are also used
when operating without privileges. And even when privileges are
required, often those are acquired dynamically, e.g. using `polkit`.
Since many years, the default `$PATH` set for users includes both
directories. With the advent of systemd this has become more
systematic: systemd sets `$PATH` with both directories for all users
and services. So in general, all users and programs would find both
sets of binaries.
One additional use of the `/bin`—`/sbin` split is `consolehelper`. In
this approach, the user-facing program (`/bin/foo`) is a symlink to
`/bin/consolehelper`, which is a suid binary that elevates privileges
and calls the "real" `foo` (`/sbin/foo` or `/usr/libexec/foo`). Most
uses of consolehelper have been moved to polkit
(https://fedoraproject.org/wiki/Features/UsermodeMigration) but some
users remain (https://bugzilla.redhat.com/show_bug.cgi?id=502765) Use
of `/sbin` for the privileged program is incompatible with the
proposed merge; those packages will need to be adjusted to move the
binary that requires privileges under `/usr/lib` or `/usr/libexec`
(see Scope below).
Since generally all user sessions and services have both directories
in `$PATH`, this split actually isn't ''used'' for anything. Its main
effect is confusion when people need to use the absolute path and
guess the directory wrong. Other distributions put some binaries in
the other directory, so the absolute path is often not portable. Also,
it is very easy for a user to end up with `/sbin` before `/bin` in
`$PATH`, and for an administrator to end up with `/bin` before `/sbin`
in `$PATH`, causing confusion. If this feature is dropped, the system
became a little bit simpler, which is useful especially for new users,
who are not aware of the history of the split.
Many years ago we merged `/bin` and `/usr/bin`
(https://fedoraproject.org/wiki/Features/UsrMove) In some ways
''that'' split was similar: it had historical justification that went
away more than a decade prior, it was impossible to cleanly categorize
programs into the the categories so effectively both parts were needed
for boot, and even though it was making the system more complicated
for little gain, the split was being carried forward because it was
easier to do so than to remove it
(http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge)
''This'' split is much less visible, but it's also making the system
more complicated for no gain, and removing it is the natural
follow-up.
== Feedback ==
== Benefit to Fedora ==
* Packagers don't have to think whether to install programs in
`%_bindir` or `%_sbindir`.
* Users don't have to think whether programs are in `%_bindir` or `%_sbindir`.
* Fedora becomes more compatible with other distributions (for
example, we have `/sbin/ip` while Debian has `/bin/ip`, and we have
`/bin/chmem` and `/bin/isosize`, but Debian has `/sbin/chmem` and
`/sbin/isosize`, and we also have
`/sbin/{addpart,delpart,lnstat,nstat,partx,ping,rdma,resizepart,ss,udevadm,update-alternatives}`,
while Debian has those in under `/bin`, etc.)
* Fedora becomes more compatible with Arch, which did the merge a few years ago.
* `execvp` and related functions iterate over fewer directories. This
probably doesn't matter for speed, but is a nice simplification when
looking at logs or `strace` output.
== Scope ==
* Proposal owners:
<!--
** Implement `split-bin=auto` in systemd: in this mode, systemd will
check at runtime whether `/usr/sbin` is a symlink to `/usr/bin`, and
if yes, behave like with `split-bin=no`, and otherwise
`split-bin=yes`.
** Adjust systemd package to build with `-Dsplit-bin=auto`.
-->
** Adjust `%_sbindir` in `/usr/lib/rpm/macros` (part of `rpm`
package). Packages will be updated automatically during the mass
rebuild.
** Add a `%filetrigger` to `filesystem` package to create symlinks to
`../bin/foo` for every `foo` that is uninstalled from `/usr/sbin`.
** Add a `%posttrans` trigger to `filesystem` package to check that
`/usr/sbin` only contains symlinks and do `ln -fs bin /usr/sbin`.
(Those scriptlets make it easier to have a smooth transition. At all
times, the old paths will still work. After the transition is complete
we can drop the scriptlets and provide the `/usr/sbin` symlink in the
`filesystem` package.)
** Adjust systemd package to build with `-Dsplit-bin=no`.
* Other developers: programs which user consolehelper and install the
same name under both directories will need to be adjusted to use a
different directory. Some of those packages may be retired instead.
See list below.
* Packages using usermode with binaries in both directories:
** `anaconda-live`
** `beesu`
** `chkrootkit`
** `hddtemp`
** `mate-system-log`
** `setuptool`
** `subscription-manager`
** `system-switch-java`
** `xawtv`
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
* Policies and guidelines:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_effect_of_the_u…
will need to be adjusted (and most likely retitled ;))
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives: nope
== Upgrade/compatibility impact ==
The change should be mostly invisible for users. While the transition
is ongoing, both sets of paths should work and users should have both
directories in `$PATH`. Once the transition is finished, both sets of
paths should work, but users will only have `/usr/bin` in `$PATH`.
== How To Test ==
== User Experience ==
== Dependencies ==
== Contingency Plan ==
* If the move of a binary of any specific package causes problems, we
can create a compat symlink like `/usr/sbin/foo → ../bin/foo` using a
`%postin` scriptlet in that package.
* If the change is causing problems in general and needs to be
reverted, we'd need to undo the changes to macro definitions in `rpm`
and rebuild some or all packages.
* Contingency deadline: in principle can be done at any time, but
would require a rebuild of some or all affected packages.
* Blocks release? no. It is OK if the change is done partially.
== Documentation ==
TBD.
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki -> https://fedoraproject.org/wiki/Changes/RenameFirefoxDesktopFile
This is a proposed Change for Fedora Linux.
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 ==
Recent Firefox desktop file (firefox.desktop) does not comply with
DBus/Gnome search provider rules thus Firefox can't provide DBus Gnome
search service.
We should change Firefox desktop file from firefox.desktop to
org.mozilla.firefox.desktop.
== Owner ==
* Name: [[User:stransky| Martin Stransky]]
* Email: <stransky(a)redhat.com>
== Detailed Description ==
Firefox needs to provide desktop file in expected format to pair DBus
service and Gnome search service together to make Gnome search service
work.
== Feedback ==
== Benefit to Fedora ==
We'll fix already broken feature.
== Scope ==
* Proposal owners:
Desktop file name is changed in Firefox 121.0.
* Other developers:
Fedora Workstation needs update Firefox desktop name (hardcoded in
gnome-shell) to correctly place Firefox to Gnome taskbar as default
application.
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
No need to coordinate with rel-eng.
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives:
== Upgrade/compatibility impact ==
Should not impact.
== How To Test ==
1) Open Firefox
2) Type something to Gnome search
3) It works
Test also KDE/Plasma it doesn't crash
(https://bugzilla.redhat.com/show_bug.cgi?id=2017123)
== User Experience ==
Enabled Gnome shell search provider for Firefox.
== Dependencies ==
None
== Contingency Plan ==
* Revert desktop file name change in Firefox package.
* Blocks release? No
== Documentation ==
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki -> https://fedoraproject.org/wiki/Changes/Haskell_GHC_9.6_and_Stackage_22
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 GHC Haskell compiler from major version 9.4 to 9.6 and
Haskell packages from Stackage LTS 21 to LTS 22 versions.
== Owner ==
* Name: [[User:Petersen| Jens Petersen]]
* Email: <petersen(a)redhat.com>
== Detailed Description ==
For Fedora 40, the main [https://www.haskell.org/ghc/ GHC] Haskell
compiler package will be updated from version
[https://www.haskell.org/ghc/download_ghc_9_4_5.html 9.4.5] to the
latest stable [https://www.haskell.org/ghc/download_ghc_9_6_3.html
9.6.3] or newer bugfix release (rebasing the
[https://src.fedoraproject.org/rpms/ghc/ ghc] package with the
[https://src.fedoraproject.org/rpms/ghc9.6/ ghc9.6] package).
Along with this, Haskell packages in [https://www.stackage.org
Stackage] (the stable Haskell source package distribution) will be
updated from the versions in [https://www.stackage.org/lts-21 LTS 21]
to latest [https://www.stackage.org/lts-22 LTS 22] release.
Haskell packages not in Stackage will be updated to the latest
appropriate version in the upstream [https://hackage.haskell.org
Hackage] package repository.
== Feedback ==
== Benefit to Fedora ==
Fedora users will have the latest stable Haskell compiler release,
package tools, and current Haskell packages from latest Stackage LTS.
GHC 9.6.3 is the current stable version of GHC with various
enhancements and fixes (see the release notes linked in the
Documentation section for more details about new features and
improvements in 9.6).
== Scope ==
* Proposal owners:
** update rawhide ghc9.4 is build against itself
** rebase ghc to 9.6.3
** refresh packagings with the latest cabal-rpm release if needed
** update packages to latest [https://www.stackage.org/lts-22 Stackage
LTS 22] versions using cabal-rpm
** build all the packages in a Koji sidetag repo in dependency order
using fbrnch
** push the sidetag through Bodhi to rawhide
** deal with obsoleting ghc9.6 if needed
* Other developers: no actions should be needed
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives: N/A
== Upgrade/compatibility impact ==
Any dropped packages will have obsoletes added.
Otherwise there should not be any direct upgrade impact.
Users' Haskell projects will get built with ghc-9.6 when they next
build them and might need some minor code tweaks
(see the release notes linked below).
== How To Test ==
* install ghc and cabal-install
* install pandoc, ShellCheck, ghcid, git-annex, hadolint, stack, xmonad, Agda
* install ghc-*-devel or ghc-*-prof or ghc-*-doc
* cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage>
* install ghc8.10, ghc9.0, ghc9.2, ghc9.4, or ghc*devel
* test upgrades of F39 Haskell packages to F40
== User Experience ==
Users will have the most recent stable major version of `ghc` and
Haskell libraries and tools available to them.
This makes it easier to build the latest versions of Haskell projects.
In particular `cabal-install` will also be updated from 3.8 to 3.10,
`pandoc` will be updated to 3.1, and `stack` to 2.13.
== Dependencies ==
== Contingency Plan ==
* Contingency mechanism:
** Change owner will drop the new builds and revert dist-git back to
the versions in F39
* Contingency deadline: Beta Freeze
== Documentation ==
* https://downloads.haskell.org/~ghc/9.6.3/docs/html/users_guide/9.6.1-notes.…
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki -> https://fedoraproject.org/wiki/Changes/golang1.22
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 of Go (golang package) to the upcoming version 1.22 in Fedora 40.
== Owner ==
* Name: [[User:alexsaezm| Alejandro Sáez Morollón]]
* Email: asm(a)redhat.com
== Detailed Description ==
Update of Go (golang package) to the upcoming version 1.22 in Fedora
40. Go 1.22 is expected to be released in February 2024. A mass
rebuild of all of the dependent packages is required.
== Feedback ==
No feedback yet.
There is an [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org…
ongoing conversation] about removing a patch and revert to the
defaults a couple of variables.
== Benefit to Fedora ==
Up-to-date and latest Go release will be delivered to Fedora users.
Being close to upstream allows us to avoid security issues and provide
more up-to-date features. Therefore Fedora will be providing a
reliable development platform for Go language and projects written in
it.
For a complete list of changes, see upstream change notes at
https://tip.golang.org/doc/go1.22
== Scope ==
* Proposal owners:
Rebase Golang package in Fedora 40, and help resolve possible issues
found during package rebuilds.
* Other developers:
Fix possible issues, with help from Golang maintainers.
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
Rebuild of dependent packages as part of planned mass-rebuild.
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives:
It doesn't align directly with the current objectives but it helps
maintain the quality of the project.
== Upgrade/compatibility impact ==
No upgrade or compatibility impact.
== How To Test ==
1. Install golang 1.22 from rawhide and use it to build your
application(s)/package(s).
2. Scratch build against rawhide.
3. Your application/package built using golang 1.22 should work as expected.
== User Experience ==
Users will have a newer version of Go, with new features described in
the release notes and security fixes
== Dependencies ==
<pre>
dnf repoquery -q --releasever=rawhide --disablerepo='*'
--qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source
--enablerepo=updates-testing-source --archlist=src --whatrequires
'golang'
dnf repoquery -q --releasever=rawhide --disablerepo='*'
--qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source
--enablerepo=updates-testing-source --archlist=src --whatrequires
'compiler(go-compiler)'
dnf repoquery -q --releasever=rawhide --disablerepo='*'
--qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source
--enablerepo=updates-testing-source --archlist=src --whatrequires
'go-rpm-macros'
</pre>
<pre>
Omitted due to the number of packages listed: ~2000.
</pre>
== Contingency Plan ==
* Contingency mechanism: Revert to Go 1.21.X if significant issues are
discovered <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Beta freeze <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
== Documentation ==
https://tip.golang.org/doc/go1.22
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki -> https://fedoraproject.org/wiki/Changes/Enable_IPv4_Address_Conflict_Detecti…
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 ==
Enable IPv4 Address Conflict Detection by default in NetworkManager.
== Owner ==
* Name: [[User:bengal| Beniamino Galvani]], [[User:ihuguet| Íñigo Huguet ]]
* Email: <bgalvani(a)redhat.com>, <ihuguet(a)redhat.com>
== Detailed Description ==
A common source of networking issues is the presence of duplicate IPv4
addresses in the same physical network. Such problems are quite
common, and at the same time hard to diagnose for users.
To the rescue comes [https://www.rfc-editor.org/rfc/rfc5227 RFC 5227]
(“IPv4 Address Conflict Detection”) which provides a mechanism to
detect address conflicts. A host implementing Address Conflict
Detection (from now on “ACD”) sends ARP probes for each IP address it
wants to use; if another host replies, the address is already in use
and can’t be configured on the interface.
Note that this mechanism applies to both static and DHCP addresses. It
might seem unnecessary for DHCP, as a well-behaving server should give
out unique leases; however, there could be hosts on the network not
using DHCP. Indeed, [https://www.rfc-editor.org/rfc/rfc2131 RFC 2131]
(Dynamic Host Configuration Protocol) specifies that the client should
probe the newly received address and should send a DHCPDECLINE to the
DHCP server if the address is already in use.
In Fedora 39, ACD is disabled by default; it can be enabled by setting
property “ipv4.dad-timeout” to a positive value in a connection
profile. The property name contains “DAD” which stands for “duplicate
address detection” and is another name of ACD. The property specifies
the maximum timeout in milliseconds used to check for the presence of
duplicate IP addresses on the network. If a duplicate is found, a
warning is logged; in the DHCP case, NetworkManager tries to get a
different lease, while in the static case, the address is just
skipped.
This change aims at enabling ACD by default in Fedora 40, by setting
the default value to 3000ms. Note that this change is only about IPV4;
IPv6 always performs a duplicate check for each address that is
configured, as specified by RFC 4862.
== Benefit to Fedora ==
NetworkManager will not configure IPv4 addresses that are detected as
duplicate. This will save users from having to debug weird
connectivity issues. Instead, NetworkManager will report an error and
will indicate the MAC of the conflicting host.
== Scope ==
* Proposal owners: change the default value, test that no regression
is seen in the upstream test suite.
* Other developers: N/A (not needed for this Change)
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
The change in default behavior will affect all users that install or
upgrade to the new Fedora release.
== How To Test ==
To test the effect of the change on F39, add the following
configuration snippet to file
`/etc/NetworkManager/conf.d/20-ipv4-dad.conf` and then restart the
NetworkManager service:
[connection-dad-default]
ipv4.dad-timeout=3000
To trigger a conflict, configure the local machine with a static
address that is already in use by another host. When bringing up the
connection, it will fail and report an address conflict.
== User Experience ==
Enabling ACD will cause an additional delay when bringing up
interfaces, because NetworkManager needs first to probe the address.
The delay is between 1.5 and 3 seconds, because RFC 5227 requires that
the probe interval is randomized. The delay will affect both static
and DHCP connections.
In case users want to avoid this delay, ACD can be disabled for the
specific connection profile by setting property `ipv4.dad-timeout=0`,
or globally by adding the following configuration snippet to
`/etc/NetworkManager/conf.d/20-ipv4-dad.conf`:
[connection-dad-default]
ipv4.dad-timeout=0
Apart from this small delay, the big advantage of this change is that
users will be able to discover the potential conflict immediately. If
the address is static, the activation will fail and report an error.
For DHCP, NetworkManager will send a DHCPDECLINE message to the server
and it will try to get a different lease. In all cases, the
conflicting address will be skipped and the network will not be
brought in an inconsistent state.
== Dependencies ==
N/A
== Contingency Plan ==
* Contingency mechanism: Revert the change, try again the next Fedora release.
* Contingency deadline: Beta freeze
* Blocks release? No
== Documentation ==
The “nm-settings” man page will indicate the new default value. No
other documentation changes are required.
== Release Notes ==
The change needs to be mentioned in the release notes.
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki https://fedoraproject.org/wiki/Changes/F40Boost183
This is a proposed Change for Fedora Linux.
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 ==
This change brings Boost 1.83 to Fedora. This will mean Fedora ships
with a recent upstream Boost release.
== Owner ==
* Name: [[User:jwakely| Jonathan Wakely]]
* Email: jwakely(a)redhat.com
* Name: [[User:ppalka| Patrick Palka]]
* Email: ppalka(a)redhat.com
== Detailed Description ==
The aim is to synchronize Fedora with the most recent Boost release.
Because ABI stability is absent from Boost, this entails rebuilding of
all dependent packages. This also entails the change owner assisting
maintainers of client packages in decoding cryptic boost-ese seen in
output from g++.
The equivalent changes for previous releases were
[[Changes/F39Boost181]], [[Changes/F37Boost178]],
[[Changes/F35Boost176]], [[Changes/F34Boost175]],
[[Changes/F33Boost173]], [[Changes/F30Boost169|Fedora 30 Change]],
[[Changes/F29Boost167|Fedora 29 Change]], [[Changes/F28Boost166|Fedora
28 Change]], [[Changes/F27Boost164|Fedora 27 Change]],
[[Changes/F26Boost163|Fedora 26 Change]], [[Changes/F25Boost161|Fedora
25 Change]], [[Changes/F24Boost160|Fedora 24 Change]],
[[Changes/F23Boost159|Fedora 23 Change]] and
[[Changes/F22Boost158|Fedora 22 Change]].
== Benefit to Fedora ==
Fedora 40 includes Boost 1.83.
Fedora will stay relevant, as far as Boost clients are concerned.
Boost 1.83 and 1.82 do not bring any new components, but includes two
new header-only libraries -
* Compat: A repository of C++11 implementations of standard components
added in later C++ standards, from Peter Dimov and contributors.
* Mysql: A C++11 client for the MySQL database server, based on
Boost.Asio, from Ruben Perez.
Boost 1.83 also includes many fixes and enhancements to existing
components, including major and potentially breaking changes to
* Multi-index Containers: Serialization now uses std::size_t instead
of unsigned long to save and load the size of a multi_index_container
(unsigned long is smaller than std::size_t in LLP64 data models).
multi_index_container serialization class version has been bumped from
3 to 4 to reflect this change.
* Timer: Disable deprecated headers unless
BOOST_TIMER_ENABLE_DEPRECATED is defined.
Additionally the following breaking changes were introduced in Boost
1.82 and so also affect 1.83:
* Atomic: Removed atomic<T>::storage() accessors and
atomic<T>::storage_type types that were deprecated in Boost.Atomic
1.73. Users are recommended to use atomic<T>::value() and
atomic<T>::value_type instead.
* Geometry: The WKT output presentation of an empty polygon is now
POLYGON() to make it consistent with other geometries
* Math: Deprecated C++11 support.
* Multiprecision: Deprecated C++11 support.
* Process: Deprecated wait_for & wait_until in V1 - they will be
removed in the future!
== Scope ==
* Proposal owners:
** Build will be done with Boost.Build v2 (which is the
upstream-sanctioned way of building Boost)
** Request a "f40-boost"
[https://docs.pagure.org/releng/sop_adding_side_build_targets.html
build system tag]
([http://lists.fedoraproject.org/pipermail/devel/2011-November/159908.html
discussion]):
<!-- N.B. next time use the side tag template:
https://pagure.io/releng/issue/9419#comment-644377 -->
** Build boost into that tag (take a look at the
[http://koji.fedoraproject.org/koji/buildinfo?buildID=606493 build
#606493] for inspiration)
** Post a request for rebuilds to fedora-devel
** Work on rebuilding dependent packages in the tag.
** When most is done, re-tag all the packages to rawhide
** Watch fedora-devel and assist in rebuilding broken Boost clients
(by fixing the client, or Boost).
* Other developers:
** Those who depend on Boost DSOs will have to rebuild their packages.
Feature owners will alleviate some of this work as indicated above,
and will assist those whose packages fail to build in debugging them.
* Release engineering: TODO <!-- [https://pagure.io/releng/issue/9421
#9421] --> (a check of an impact with Release Engineering is needed)
* Policies and guidelines:
** Apart from scope, this is business as usual, so no new policies, no
new guidelines.
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
* No manual configuration or data migration needed.
* Some impact on other packages needing code changes to rebuild.
Historically this hasn't been too much of a problem and could always
be resolved before deadline.
== How To Test ==
* No special hardware is needed.
* Integration testing simply consists of installing Boost packages
(`dnf install boost`) on Fedora and checking that it does not break
other packages (see below for a way to obtain a list of boost
clients).
== User Experience ==
* Expected to remain largely the same.
* Developers building third-party software on Fedora may need to
rebuild against the new Boost packages, and may need to adjust their
code if the new Boost release is not source-compatible.
== Dependencies ==
Packages that must be rebuilt:
<code>$ dnf repoquery -s --releasever=rawhide --whatrequires
libboost\* --disablerepo=* --enablerepo=fedora | sort -u</code>
All clients:
<code>$ dnf repoquery --releasever=rawhide --archlist=src
--whatrequires boost-devel --disablerepo='*'
--enablerepo=fedora-source</code>
== Contingency Plan ==
* Contingency mechanism: Worst case scenario is to abandon the update
and simply ship F40 with Boost 1.81, which is already in rawhide.
* Blocks release? No
* Blocks product? None
== Documentation ==
* https://www.boost.org/users/history/version_1_83_0.html (released on
11th August 2023)
* https://www.boost.org/users/history/version_1_82_0.html (released on
14th April 2023)
* https://www.boost.org/users/history/version_1_81_0.html (released on
14th December 2022)
* https://www.boost.org/development/index.html
== Release Notes ==
<!-- TODO -->
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
Wiki https://fedoraproject.org/wiki/Changes/Podman5
This is a proposed Change for Fedora Linux.
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 ==
Ship Podman 5 in Fedora 40.
== Owner ==
* Name: [[User:lsm5| Lokesh Mandvekar]], [[User:mohanboddu| Mohan Boddu]]
== Detailed Description ==
== Feedback ==
== Benefit to Fedora ==
Podman 5 will:
* No longer support cgroups v1
* Deprecate CNI plugins
* Deprecate Boltdb
* Have passt as the default rootless network service instead of slirp4netns
* Support stable `--format` Go template structs
* Isolate podman bindings leading to improved usability
* Allow better handling of containers.conf
== Scope ==
* Proposal owners:
* Other developers:
* Release engineering: [https://pagure.io/releng/issues #Releng issue number]
* Policies and guidelines: N/A (not needed for this Change) <!--
REQUIRED FOR SYSTEM WIDE CHANGES -->
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives:
== Upgrade/compatibility impact ==
Podman 5 will come with breaking changes affecting upgradability:
* CGroups v1 environments will be required to switch to CGroups v2
* CNI plugin environemnts will need to switch to netavark
* Changes in `--format` Go template structs
== How To Test ==
Probably best handled in a Podman Test Day aligned with Fedora 40 Test Days.
* Install Fedora 40
* Install Podman 5
* Run test cases / suite (TBD)
== User Experience ==
Podman 5 will provide better usability of Podman bindings, easier to
maintain containers.conf and other configuration files along with
database performance improvements and CLI enhancements.
== Dependencies ==
Projects / Packages likely to be affected:
* Cockpit
* CoreOS
* Toolbox
* Silverblue / Kinoite
* Podman Desktop
== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?) N/A
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)
== Documentation ==
N/A (not a System Wide Change)
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney