Remove device-mapper-multipath from the Fedora workstation livecd -
Fedora 33 System-Wide Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/RemoveDeviceMapperMultipathFromWor...
== Summary ==
The Fedora workstation livecd is the default Fedora variant getfedora.org
advices people to download.
As such most Fedora workstation installs will be done from the livecd. This
means that any package which is part of the livecd will be part of the
default install for most users.
device-mapper-multipath is 1 of only 2 packages in the default install
which still Requires the long obsoleted systemd-udev-settle.service, which
waits for all device-detection to be done + some extra waiting just to be
sure. This significantly slows down booting on various systems.
Multipath support is only necessary for installations in data-centers or
other enterprise setups, as such having device-mapper-multipath on the
livecd is not really necessary. For installations which do actually need
this device-mapper-multipath the server installation iso can be used and
this is a better fit for such installations.
== Owner ==
* Name: [[User:jwrdegoede| Hans de Goede]]
* Email: hdegoede(a)redhat.com
== Detailed Description ==
device-mapper-multipath is 1 of only 2 packages in the default install
which still Requires the long obsoleted systemd-udev-settle.service. The
other package is dmraid see [[Changes/DisableDmraidOnFirstRun|Disable
dmraid.service on first run]].
Multipath support is only necessary for installations in data-centers or
other enterprise setups, as such having device-mapper-multipath on the
livecd is not really necessary. For installations which do actually need
this device-mapper-multipath the server installation iso can be used and
this is a better fit for such installations.
Note then when installing from the server or everything netboot isos,
device-mapper-multipath depending on the obsolete udev-settle service is
not a problem, because then it will not be installed at all. Anaconda (the
installer) adds storage related packages such as device-mapper-multipath to
the installation package-set as necessary for the storage found at
installation time. So any installs done through the netinst isos already
will not have device-mapper-multipath installed.
== Feedback ==
<!-- Summarize the feedback from the community and address why you chose
not to accept proposed alternatives. This section is optional for all
change proposals but is strongly suggested. Incorporating feedback here as
it is raised gives FESCo a clearer view of your proposal and leaves a good
record for the future. If you get no feedback, that is useful to note in
this section as well. For innovative or possibly controversial ideas,
consider collecting feedback before you file the change proposal. -->
== Benefit to Fedora ==
systemd-udev-settle.service causes a significant and sometimes quite long
delay during boot. Removing / disabling the last 2 services depending on
this long obsolete helper service will remove the unnecessary boot delay.
== Scope ==
* Proposal owners:
** Change the livecd packagelist (comps) to no longer include the
device-mapper-multipath package
* Other developers:
** No action is required by other developers
** Except if another package still brings in device-mapper-multipath
through dependencies, then this needs to be solved / coordinated with that
other packages maintainers
* Release engineering: [https://pagure.io/releng/issue/9560 #9560] (a check
of an impact with Release Engineering is needed)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
This only affects new installs, upgrades of installs which have
device-mapper-multipath installed will still have it installed after the
upgrade.
== How To Test ==
# Install F33 on a machine / VM
# Do "rpm -q device-mapper-multipath", the output should be
"device-mapper-multipath" is not installed
== User Experience ==
Faster booting Fedora when installed from the livecd.
== Dependencies ==
There are no other changes / package updates this Change depends on; or
which this change impacts.
== Contingency Plan ==
* Contingency mechanism: Re-add device-mapper-multipath to the livecd if
the dropping of it causes problems.
* Blocks release? No
== Documentation ==
This change does not require any documentation.
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
Disable dmraid.service on first run if no dmraid sets are found -
Fedora 33 System-Wide Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/DisableDmraidOnFirstRun
== Summary ==
The Fedora workstation livecd is the default Fedora variant getfedora.org
advices people to download.
As such most Fedora workstation installs will be done from the livecd. This
means that any package which is part of the livecd will be part of the
default install for most users.
Dmraid is 1 of only 2 packages in the default install which still Requires
the long obsoleted systemd-udev-settle.service, which waits for all
device-detection to be done + some extra waiting just to be sure. This
significantly slows down booting on various systems.
Fedora only support these RAID sets when they are already configured in the
BIOS at installation time. So we can solve the problem of dmraid.service
still depending on the obsolete udev-settle service by making
dmraid.service disable itself if no supported RAID sets are found on its
first run.
== Owner ==
* Name: [[User:jwrdegoede| Hans de Goede]]
* Email: hdegoede(a)redhat.com
== Detailed Description ==
Dmraid is 1 of only 2 packages in the default install which still Requires
the long obsoleted systemd-udev-settle.service. The other package is
device-mapper-multipath see
[[Changes/RemoveDeviceMapperMultipathFromWorkstationLiveCD|Remove
device-mapper-multipath from the Fedora workstation livecd]].
Dmraid is necessary to support firmware-raid (motherboard BIOS built-in
RAID support) for non Intel firmware RAID sets. These RAID sets are quite
rare and we have never supported configuring these RAID sets after the
installation without manually setting it up. Since we only support these
sets when they are already configured in the BIOS at installation time, we
can solve the problem of dmraid.service still depending on the obsolete
udev-settle service by making dmraid.service disable itself if no supported
RAID sets are found on its first run.
Note then when installing from the server or everything netboot isos,
dmraid depending on the obsolete udev-settle service is not a problem,
because then it will not be installed at all. Anaconda (the installer) adds
storage related packages such as dmraid to the installation package-set as
necessary for the storage found at installation time. This means that for
such installs, if a dmraid set is later configured, the user manually needs
to install dmraid to be able to use the RAID set. This change adds a
similar requirement to livecd installs, there the user will now need to do
a "systemctl enable dmraid.service" if a dmraid set is added to the system
later.
There has been [https://bugzilla.redhat.com/show_bug.cgi?id=1795014 a bug]
open against dmraid for this issue for a while now. As pointed out there,
this change can easily be implemented with some small changes to the shell
script which gets started by the dmraid service.
== Benefit to Fedora ==
systemd-udev-settle.service causes a significant and sometimes quite long
delay during boot. Removing / disabling the last 2 services depending on
this long obsolete helper service will remove the unnecessary boot delay.
== Scope ==
* Proposal owners:
** Prepare the suggested dmraid activation script changes and push out a
new dmraid package with these changes added
** Coordinate this with the dmraid maintainers
* Other developers:
** I will make sure that the dmraid maintainers are aware of and agree with
these changes. I will take care of these changes myself.
* Release engineering: [https://pagure.io/releng/issue/9559 #9559] (a check
of an impact with Release Engineering is needed)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
After upgrading, if no dmraid sets are found on the first boot with the new
package, the dmraid service will disable itself, just as it will on new F33
installs.
== How To Test ==
# Install F33 on a machine / VM without dmraid
# Boot the installed system
# Reboot the installed system
# Do "systemctl status dmraid.service", the output should be "loaded (...;
disabled; ...)" and "inactive (dead)"
== User Experience ==
Faster booting Fedora when installed from the livecd.
== Dependencies ==
There are no other changes / package updates this Change depends on; or
which this change impacts.
== Contingency Plan ==
* Contingency mechanism: Revert the activation script changes if they cause
problems
* Blocks release? No
== Documentation ==
This change does not require any documentation.
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
NetworkManager keyfile instead of ifcfg-rh - Fedora 33 System-Wide
Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/NetworkManager_keyfile_instead_of_...
== Summary ==
Change the default settings plugin of NetworkManager so that new
profiles will be created in keyfile format instead of ifcfg-rh format.
== Owner ==
* Name: [[User:Thaller| Thomas Haller]]
* Email: <thaller(a)redhat.com>
== Detailed Description ==
NetworkManager supports settings plugins to persist connection
profiles to disk. There is the native ''keyfile'' format and the
Fedora/RHEL specific ''ifcfg-rh'' format originally from initscripts.
The keyfile plugin is always enabled in NetworkManager and can handle
any supported type of profile. It stores profiles under
`/{etc,usr/lib,run}/NetworkManager/system-connections` and is
documented in [https://developer.gnome.org/NetworkManager/stable/nm-settings-keyfile.html
nm-settings-keyfile manual]. The ifcfg-rh format is in part compatible
with the network-scripts package from initscripts, however both
network-scripts and NetworkManager define their own extensions
([https://developer.gnome.org/NetworkManager/stable/nm-settings-ifcfg-rh.html
[1]]). Since network-scripts and NetworkManager are fundamentally
different, the same ifcfg file is not treated exactly the same by both
systems. In the past, having the ifcfg-rh format made it easier for
users familiar with initscripts to migrate to/from NetworkManager.
The settings plugins are configurable in
[https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
NetworkManager.conf] via the `"main.plugins"` option. Multiple plugins
can be configured and on Fedora 32 and older, the compile time default
for the option is `"ifcfg-rh,keyfile"`. This means, that when
NetworkManager stores a new profile to disk, it will first try to
persist it in ifcfg-rh format before falling back to keyfile format,
if the ifcfg-rh plugin doesn't support the profile type. When reading
profiles from disk, NetworkManager will read and expose profiles from
both settings plugins and when modifying an existing profile, it will
update the existing file and preserve the settings plugin.
This Change is about to change the default for `"main.plugins"` from
`"ifcfg-rh,keyfile"` to `"keyfile,ifcfg-rh"`.
== Feedback ==
This was brought up on the NetworkManager mailing list
([https://mail.gnome.org/archives/networkmanager-list/2020-May/msg00002.html
[1]]]).
Fedora CoreOS doesn't use ifcfg-rh files at all, only keyfile. Also,
RHEL CoreOS uses the `"main.plugins=ifcfg-rh,keyfile"` configuration
too. For CoreOS this of course is simpler, because they don't deal
with existing user configurations and tools that would break during
upgrade.
== Benefit to Fedora ==
The long term goal of NetworkManager is to move away from ifcfg-rh
files. That will be difficult as it affects existing installations and
will require migration of existing configurations. This change is only
a first step and affects how NetworkManager by default persists new
profiles to disk.
The ifcfg-rh format arguably has an uglier syntax and, contrary to
keyfile, does not support all profile types. Also, keyfile plugin is
available on every NetworkManager installation because that is the
only plugin that supports all profiles. Having multiple plugins and
file formats is confusing. By now, initscripts' `network-script`
package is deprecated in Fedora and upstream wants to move away from
that format in the long term. Also maintaining multiple settings
plugins is a maintainance burden, and in the past there were subtle
bugs where ifcfg-rh did not implement all settings (e.g.
[https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-10754
CVE-2020-10754]). On other Linux distributions NetworkManager uses the
keyfile format by default. It is a general goal that NetworkManager
works similar on all distributions.
== Scope ==
* Proposal owners: The default settings for `"main.plugins"` can
already be selected at compile time. This only requires building the
package with a different default
([https://src.fedoraproject.org/rpms/NetworkManager/blob/a06b38bcbe8f9a38ba...
[3]]).
* Other developers: N/A (not needed for this Change)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
This affects most users, unless they explicitly set the option in
NetworkManager.conf configuration. The biggest effect of this change
is that new profiles will now preferably be persisted in keyfile
format. This changes behavior for users who expect NetworkManager to
write ifcfg-rh files, or who have scripts or tools that expect that.
What will still work is that existing ifcfg files are loaded after
upgrade. Users who only use the D-Bus API (via one of the client
applications like nmcli or the GUI), shouldn't notice the difference.
As before, users still can explicitly configure the settings plugins
in NetworkManager.conf. This only affects the default, but it affects
existing installations if the user didn't explicitly configure
NetworkManager's `"main.plugins"` option.
The Change will be implemented by changing the compile time default,
instead of dropping a configuration snippet. The reason is that it is
preferably that the installation of NetworkManager avoids extra
configuration. The default behavior should be achived without any
configuration. During package update there would be the possibility to
drop a file `/etc/NetworkManager/02-update-plugins-ifcfg-rh.conf` that
preserves the previous behavior. However, I don't think that is
necessary. After upgrading NetworkManager, it will still read ifcfg-rh
file so for the user it is less necessary to preserve the previous
behavior. Also, dropping configuration snippets during package upgrade
has its own downsides because new installations behave different than
upgraded systems.
== How To Test ==
You can already test the effect by explicitly configuring the setting
which will become the default. For example, add a file
`/etc/NetworkManager/conf.d/99-main-plugins.conf` with content
[main]
plugins=keyfile,ifcfg-rh
== User Experience ==
NetworkManager now preferably uses the keyfile format (INI files).
This format is probably easier to understand to users and also has a
closer resemblance to how the profile is presented in nmcli.
If the user is using NetworkManager tools that use the D-Bus API (like
nmcli or the GUI), then the used storage plugin and format is usually
of no concern for the user.
== Dependencies ==
None
== Contingency Plan ==
The `"main.plugins"` option exists for a long time in NetworkManager.
All that changes here is the default of this option.
* Contingency mechanism: revert the change
* Contingency deadline: beta freeze
* Blocks release? No
== Documentation ==
I am not aware of documentation that gets affected by this.
== Release Notes ==
NetworkManager now prefers the keyfile settings plugin over ifcfg-rh
plugin when writing new connection profiles to disk. Existing ifcfg-rh
files are still handled as before.
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
Cleanup GNOME Hidden Boot Menu Integration - Fedora 33 System-Wide
Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/CleanupGnomeHiddenBootMenuIntegration
== Summary ==
GNOME integrates with Fedora's [[Changes/HiddenGrubMenu|hidden boot
menu feature]] to signal to the bootloader that boot was successful
and to request the menu to be shown the next boot when "Boot Options"
is selected in the Shutdown/Reboot dialog. Currently Fedora carries
downstream patches for this, which directly call the Fedora specific
grub2-set-bootflag helper. The goal of this change is to replace these
downstream patches with a clean bootloader agnostic solution which can
be submitted upstream.
== Owner ==
* Name: [[User:jwrdegoede| Hans de Goede]]
* Email: hdegoede(a)redhat.com
== Detailed Description ==
GNOME has 2 integration points with the
[[Changes/HiddenGrubMenu|hidden boot menu feature]]:
# Requesting the menu to be shown the next boot when "Boot Options" is
selected in the Shutdown/Reboot dialog.
# Signalling the bootloader that the boot was successful.
To replace our downstream patches for 1. we can use the new(ish)
systemd DBUS API used by "systemctl reboot --boot-loader-menu=60".
This currently only works with sd-boot, but systemd has hooks to allow
integration with other bootloaders, see the
[https://github.com/systemd/systemd/blob/master/docs/ENVIRONMENT.md
SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU env. variable documentation]. So we
can support this in grub2 with some relatively simply changes and then
replace our downstream patches for this with new patches using the
systemd DBUS API for this.
Replacing our downstream patches for 2. with an upstreamable
bootloader agnostic solution is somewhat involved. systemd has its
[https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT/ Automatic Boot
Assessment] feature, which is somewhat similar in that it to deals
with boot success detection, but its behavior on failure is different
(auto fallback to an older kernel) and it is a sd-boot specific
feature. Still we can use some parts of this. The boot-complete.target
and the concept of having a systemd-bless-boot.service which Requires
that target to be reached before it runs. So replacing out downstream
patches for 2. will consists of 2 parts:
# grub2 changes: Add a grub2-bless-boot.service which Requires
boot-complete.target and which does the equivalent of
"grub2-set-bootflag boot_success" when that target is reached
# GNOME changes: Add a oneshot gnome-wait-for-boot-success.service to
boot-complete.target, this will start a simple helper which listens on
a unix socket until signalled, thus delaying the completion of
boot-complete.target until it is signalled; and in the places where
the downstream patches are currently directly calling
"grub2-set-bootflag boot_success" signal (write a byte) this unix
socket instead.
Also see this [https://lists.freedesktop.org/archives/systemd-devel/2020-June/044800.html
mailinglist discussion].
== Benefit to Fedora ==
This change will remove some technical-debt in the form of a couple of
quick-and-dirty downstream patches from Fedora and will align GNOME's
integration with the [[Changes/HiddenGrubMenu|hidden boot menu
feature]] with our upstream first policy.
== Scope ==
* Proposal owners:
Create the necessary changes ASAP and submit these to Fedora's
[https://github.com/rhboot/grub2/ grub2] and
[https://gitlab.gnome.org/GNOME/ GNOME] upstreams.
* Other developers:
The bootloader team needs to do a new grub2 build with the changes
added and the desktop team needs to add the GNOME changes to the GNOME
packages. I will coordinate this with both teams.
* Release engineering: [https://pagure.io/releng/issue/9557 #9557] (a
check of an impact with Release Engineering is needed)
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
This change does not impact upgrades, the interface between the OS and
grub2 still goes through the same unmodified grubenv settings. The
only changes are in how we make the grubenv changes and all parts
involved in that will be updated together.
== How To Test ==
# Tests
## Install Fedora Workstation in a fresh vm or select reclaim
diskspace -> delete all in the installer (do a single os install).
## Boot the system the grub menu should NOT show
## Login, wait 2 minutes then presss "CTRL + ALT + F6" followed by
"CTRL + ALT + DEL" to do a reboot from the text-console without going
through the GNOME reboot dialog. The grub menu should NOT show on the
new boot.
## Reboot from the GNOME reboot dialog inside gdm. The grub menu
should NOT show on the new boot.
## Open the GNOME reboot dialog, then press alt to change the "Reboot"
button into "Boot Options" and click the "Boot Options" button (while
keeping alt pressed). You should now get the grub menu, with a
countdown of 60 seconds.
## Boot the system and then press "CTRL + ALT + F6" followed by "CTRL
+ ALT + DEL" to do a reboot from the text-console without logging in,
this counts as a failed boot, so the menu should now show.
# EFI vs Classic PC BIOS boot
## All above tests should be done twice, once on an EFI system and
once on a system using Classic PC BIOS boot
== User Experience ==
The user experience will be unchanged, the goal of this change is to
remove some technical debt and reduce the number of downstream changes
Fedora carries.
== Dependencies ==
There are no dependencies outside of the grub2 and GNOME changes.
== Contingency Plan ==
* Contingency mechanism: If this is not ready / complete when we near
the beta freeze, then revert to using our downstream patches
* Blocks release? No (assuming we do the revert so we do not regress)
== Documentation ==
There are no functional changes, so no documentation changes are necessary.
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
List of long term FTBFS packages to be retired in August
by Miro Hrončok
Dear maintainers.
Based on the current fail to build from source policy, the following packages
will be retired from Fedora 33 approximately one week before branching (August
2020).
Policy:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fai...
Note that some listed packages are orphaned and hence may be retired even sooner.
The packages in rawhide were not successfully built at least since Fedora 31.
This report is based on dist tags.
Packages collected via:
https://github.com/hroncok/fedora-report-ftbfs-retirements/blob/master/ft...
If you see a package that was built, please let me know.
If you see a package that should be exempted from the process, please let me
know and we can work together to get a FESCo approval for that.
If you see a package that can be rebuilt, please do so.
Package (co)maintainers Latest build
====================================================================
OpenCoarrays jussilehtola Fedora 30
gpscorrelate till Fedora 30
js-jquery-jqplot xavierb Fedora 30
js-jquery1 nodejs-sig, patches, vondruch Fedora 30
js-jquery2 vondruch Fedora 30
js-sizzle nodejs-sig, patches, vondruch Fedora 30
nodejs-path-type jsmith, nodejs-sig Fedora 30
nodejs-temp-write jsmith Fedora 30
nodejs-unique-stream jsmith, nodejs-sig Fedora 30
ocaml-pxp orphan Fedora 30
ocaml-ulex orphan Fedora 30
orpie bowlofeggs, jaredwallace Fedora 30
rubygem-ruby-hmac humaton, mmorsi Fedora 30
xvarstar orphan Fedora 30
The following packages require above mentioned packages:
Depending on: gpscorrelate (1)
foxtrotgps (maintained by: bubeck)
foxtrotgps-1.2.2-5.fc33.x86_64 requires gpscorrelate = 1.6.1-27.fc30
Depending on: js-jquery-jqplot (1)
sympa (maintained by: xavierb)
sympa-6.2.56-1.fc33.src requires js-jquery-jqplot = 1.0.9-3.fc30
sympa-6.2.56-1.fc33.x86_64 requires js-jquery-jqplot = 1.0.9-3.fc30
Depending on: js-jquery1 (69)
R-profvis (maintained by: qulogic)
R-profvis-0.3.6-3.fc33.src requires js-jquery1 = 1.12.4-7.fc30
R-profvis-0.3.6-3.fc33.x86_64 requires js-jquery1 = 1.12.4-7.fc30
R-rmarkdown (maintained by: qulogic)
R-rmarkdown-2.2-1.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
R-rmarkdown-2.2-1.fc33.src requires js-jquery1 = 1.12.4-7.fc30
copr-frontend (maintained by: clime, copr-sig, dturecek, frostyx, msuchy, praiskup)
copr-frontend-1.166-1.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
ghc-pretty-show (maintained by: mathstuf)
ghc-pretty-show-1.9.5-3.fc32.x86_64 requires js-jquery1 = 1.12.4-7.fc30
mkdocs (maintained by: cheeselee)
mkdocs-1.1.2-1.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
mkdocs-1.1.2-1.fc33.src requires js-jquery1 = 1.12.4-7.fc30
python-XStatic-jQuery (maintained by: mrunge, openstack-sig, rdopiera)
python3-XStatic-jQuery-3.4.1.0-2.fc33.noarch requires js-jquery1 = 1.12.4-7.fc30
python-sphinx-bootstrap-theme (maintained by: besser82, sic)
python3-sphinx-bootstrap-theme-0.8.0-3.fc33.noarch requires js-jquery1 =
1.12.4-7.fc30
rubygem-apipie-rails (maintained by: jaruga, ruby-packagers-sig, vondruch)
rubygem-apipie-rails-0.5.5-6.fc32.noarch requires js-jquery1 = 1.12.4-7.fc30
R-BiocFileCache (maintained by: spot)
R-BiocFileCache-1.12.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-DBItest (maintained by: qulogic)
R-DBItest-1.7.0-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-V8 (maintained by: qulogic)
R-V8-3.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-broom (maintained by: qulogic)
R-broom-0.5.6-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-cellranger (maintained by: qulogic)
R-cellranger-1.1.0-6.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-clipr (maintained by: qulogic)
R-clipr-0.7.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-dbplyr (maintained by: qulogic)
R-dbplyr-1.4.3-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-devtools (maintained by: qulogic)
R-devtools-2.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-diffobj (maintained by: qulogic)
R-diffobj-0.3.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-dplyr (maintained by: qulogic)
R-dplyr-0.8.5-2.fc33~bootstrap.src requires R-rmarkdown = 2.2-1.fc33
R-dtplyr (maintained by: qulogic)
R-dtplyr-1.0.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-foghorn (maintained by: qulogic)
R-foghorn-1.1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-forcats (maintained by: qulogic)
R-forcats-0.5.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-formatR (maintained by: qulogic)
R-formatR-1.7-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-fs (maintained by: qulogic)
R-fs-1.4.1-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-gargle (maintained by: qulogic)
R-gargle-0.5.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-ggplot2 (maintained by: qulogic)
R-ggplot2-3.2.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-gmailr (maintained by: qulogic)
R-gmailr-1.0.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-haven (maintained by: qulogic)
R-haven-2.3.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-httr (maintained by: qulogic)
R-httr-1.4.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-hunspell (maintained by: qulogic)
R-hunspell-3.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-jose (maintained by: qulogic)
R-jose-1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-jqr (maintained by: qulogic)
R-jqr-1.1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-later (maintained by: qulogic)
R-later-1.1.0.1-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-lazyeval (maintained by: qulogic)
R-lazyeval-0.2.2-4.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-lifecycle (maintained by: qulogic)
R-lifecycle-0.2.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-lintr (maintained by: qulogic)
R-lintr-2.0.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-packrat (maintained by: qulogic)
R-packrat-0.5.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-pkgdown (maintained by: qulogic)
R-pkgdown-1.5.1-2.fc33.noarch requires R(rmarkdown) = 2.2
R-pkgdown-1.5.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-polynom (maintained by: qulogic)
R-polynom-1.4.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-prettydoc (maintained by: qulogic)
R-prettydoc-0.3.1-3.fc33.noarch requires R(rmarkdown) = 2.2
R-prettydoc-0.3.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-promises (maintained by: qulogic)
R-promises-1.1.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-purrr (maintained by: qulogic)
R-purrr-0.3.4-2.fc33~bootstrap.src requires R-rmarkdown = 2.2-1.fc33
R-qcc (maintained by: jjmcd)
R-qcc-2.7-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rcmdcheck (maintained by: qulogic)
R-rcmdcheck-1.3.3-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-readr (maintained by: qulogic)
R-readr-1.3.1-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-readxl (maintained by: qulogic)
R-readxl-1.3.1-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-remotes (maintained by: qulogic)
R-remotes-2.1.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-reprex (maintained by: qulogic)
R-reprex-0.3.0-5.fc33.noarch requires R(rmarkdown) = 2.2
R-reprex-0.3.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-reticulate (maintained by: qulogic)
R-reticulate-1.16-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rex (maintained by: qulogic)
R-rex-1.2.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rhub (maintained by: qulogic)
R-rhub-1.1.1-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rlang (maintained by: qulogic)
R-rlang-0.4.6-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-roxygen2 (maintained by: qulogic)
R-roxygen2-7.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rsconnect (maintained by: qulogic)
R-rsconnect-0.8.16-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-rvest (maintained by: qulogic)
R-rvest-0.3.5-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-servr (maintained by: qulogic)
R-servr-0.17-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-shiny (maintained by: qulogic)
R-shiny-1.4.0.2-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-showtext (maintained by: qulogic)
R-showtext-0.8.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-sodium (maintained by: qulogic)
R-sodium-1.1-4.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-styler (maintained by: qulogic)
R-styler-1.3.2-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-svglite (maintained by: qulogic)
R-svglite-1.2.3-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-systemfonts (maintained by: qulogic)
R-systemfonts-0.2.2-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tibble (maintained by: qulogic)
R-tibble-3.0.1-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tidyr (maintained by: qulogic)
R-tidyr-1.1.0-1.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tidyselect (maintained by: qulogic)
R-tidyselect-1.1.0-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-tufte (maintained by: qulogic)
R-tufte-0.6-2.fc33.noarch requires R(rmarkdown) = 2.2
R-tufte-0.6-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-unitizer (maintained by: qulogic)
R-unitizer-1.4.10-2.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-usethis (maintained by: qulogic)
R-usethis-1.5.1-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-websocket (maintained by: qulogic)
R-websocket-1.1.0-3.fc33.src requires R-rmarkdown = 2.2-1.fc33
R-zeallot (maintained by: qulogic)
R-zeallot-0.1.0-5.fc33.src requires R-rmarkdown = 2.2-1.fc33
Too many dependencies for js-jquery1, not all listed here
Depending on: nodejs-path-type (1)
nodejs-read-pkg (maintained by: jsmith, nodejs-sig)
nodejs-read-pkg-2.0.0-7.fc32.noarch requires npm(path-type) = 2.0.0
Affected (co)maintainers (directly and indirectly):
besser82: js-jquery1
bowlofeggs: orpie
bubeck: gpscorrelate
cheeselee: js-jquery1
clime: js-jquery1
copr-sig: js-jquery1
dturecek: js-jquery1
frostyx: js-jquery1
humaton: rubygem-ruby-hmac
jaredwallace: orpie
jaruga: js-jquery1
jjmcd: js-jquery1
jsmith: nodejs-temp-write, nodejs-path-type, nodejs-unique-stream
jussilehtola: OpenCoarrays
mathstuf: js-jquery1
mmorsi: rubygem-ruby-hmac
mrunge: js-jquery1
msuchy: js-jquery1
nodejs-sig: js-sizzle, js-jquery1, nodejs-path-type, nodejs-unique-stream
openstack-sig: js-jquery1
patches: js-sizzle, js-jquery1
praiskup: js-jquery1
qulogic: js-jquery1
rdopiera: js-jquery1
ruby-packagers-sig: js-jquery1
sic: js-jquery1
spot: js-jquery1
till: gpscorrelate
vondruch: js-sizzle, js-jquery1, js-jquery2
xavierb: js-jquery-jqplot
3 years, 9 months
Mass spec change: Replace Python version globs with macros to support 3.10
by Tomas Hrnciar
Hello everyone,
with the upcoming Python 3.10 update we need to update Python 3 version
globs in Fedora specfiles. The reason is simple, Python version will be one
character longer so the currently omnipresent ?.? glob won't work anymore.
We will replace such globs with %{python_version} (or
%{python_version_nodots}) macros using:
sed -i -e '/python2\|python3_other/!s/??/%{python3_version_nodots}/g' \
-e '/python2\|python3_other/!s/?\.?/%{python3_version}/g' *.spec
There are currently 402 affected packages.
$ grep -l 'py?.?\|python?.?\|python-??\|Python??' *.spec | wc -l
404
We have manually removed pygtk2 and tomoe, because the hit was a false
positive.
The sed can theoretically produce unwanted changes, but when guarded by the
grep, we have verified it won't. You can observe the general diff of all
affected specfiles at:
https://github.com/hrnciar/rpm-specs/commit/5455212
We plan to do this in 2 weeks via a provenpackager. We will not bump the
release number, nor add a changelog entry and hence we will also not
rebuild the packages. The commit message will be:
Replace Python version glob with macro (needed for Python 3.10+)
If you want to fix this differently in your package, you don't need to let
us know, just do it. If you want to opt out from this change, let us know
(ideally with some reasoning). If you found a mistake, in the diff, please
do let us know.
Regards,
Tomáš Hrnčiar
Maintainers by package:
GeographicLib rmattes smani
ampy churchyard
audit sgrubb
beaker dcallagh greghellings herlo martstyk
borgmatic heffer
ccsm jskarvad
cdist fnux
classification-banner rga
clustershell sthiell
codespell hadess
csvdiff orphan
deluge mooninite
dlrn jpena
esptool churchyard
fedmod karsten nphilipp
git-pull-request hguemar
grpc avsej
hatch lbalhar
hddfancontrol tc01
kobo dmach rohanpm
libcap-ng sgrubb
libprelude fab totol
libpreludedb totol
mailman3 abompard
mkdocs cheeselee
modtools dhodovsk phracek ttomecek
mozilla-iot-gateway-addon-python tdawson
mycli fale terjeros
nemo-extensions jcpunk leigh123linux
paperwork qulogic
patool eclipseo
persepolis hedayat
pew mcyprian tadej
pgzero lbalhar
pipenv churchyard mcyprian
pipsi cstratak mstuchli
playitagainsam churchyard
proselint limb mavit
pungi dmach lsedlar maxamillion onosek tdawson wwoods
pybind11 jussilehtola
pychess bruno
pydeps lbazan
pylibacl frankcrawford kevin szpak
python-AWSIoTPythonSDK fab
python-Naked greghellings
python-QtAwesome nonamedotc
python-QtPy nonamedotc
python-ROPGadget mikep
python-Rtree volter
python-SecretStorage cicku cstratak raphgro williamjmorenor
python-XStatic-Angular-FileUpload jpena mrunge rdopiera
python-XStatic-bootswatch jpena mrunge
python-XStatic-mdi jpena mrunge rdopiera
python-XStatic-roboto-fontface chandankumar hguemar mrunge rdopiera
python-abclient chandankumar
python-admesh churchyard
python-affine qulogic
python-aiounittest fab
python-aiozmq nonamedotc
python-animatplot qulogic
python-ansible-runner radez
python-apply-defaults nonamedotc
python-asn1crypto cheimes npmccallum
python-auth-credential lcons mpaladin
python-backcall churchyard orion
python-barbicanclient chandankumar jruzicka
python-beniget churchyard
python-bintrees rkuska
python-biscuits elyscape
python-blindspin dhanesh95
python-bucky jsteffan
python-cachy fab
python-carbon jsteffan piotrp
python-case mrunge ngompa pingou
python-certbot-dns-cloudflare nb
python-certbot-dns-cloudxns nb
python-certbot-dns-dnsimple nb
python-certbot-dns-dnsmadeeasy nb
python-certbot-dns-gehirn elyscape
python-certbot-dns-linode elyscape
python-certbot-dns-luadns nb
python-certbot-dns-nsone nb
python-certbot-dns-ovh elyscape
python-certbot-dns-rfc2136 logic nb
python-certbot-dns-sakuracloud elyscape
python-cheroot ignatenkobrain jcaratzas radez
python-cli-helpers terjeros
python-click-log mbaldessari
python-click-man jpopelka sgallagh
python-click-plugins qulogic
python-click-threading mbaldessari
python-cliff-tablib apevec hguemar jruzicka
python-cligj qulogic
python-cloudpickle lbalhar
python-collectd_cvmfs stevetraylen
python-collectd_puppet stevetraylen
python-collectd_systemd stevetraylen
python-colour-runner rkuska
python-configobj dcallagh fale lmacken terjeros
python-confluent-kafka jpena
python-confuse fab
python-congressclient amoralej
python-construct moezroy terjeros
python-cotyledon apevec
python-couchbase avsej
python-coverage_pth radez
python-cradox jpena
python-croniter apevec totol
python-daiquiri hguemar pkilambi
python-dask qulogic
python-deprecation jpena
python-descartes qulogic
python-dicttoxml siddharthvipul1
python-dirq lcons mpaladin stevetraylen
python-distlib cottsay cstratak
python-distroinfo apevec jruzicka
python-django-ajax-selects lbazan
python-django-authority mrunge
python-django-babel mrunge
python-django-debreach jpena
python-django-filter bkabrda dcantrell lbazan
python-django-formtools jpena mrunge
python-django-helpdesk blackfile lbazan
python-django-markdownx lbazan
python-django-post_office lbazan
python-django-pyscss mrunge
python-django-redis hguemar mrunge
python-django-reversion mrunge
python-django-tagging jdornak mrunge piotrp
python-django-threadedcomments lbazan
python-dns-lexicon elyscape nb
python-docker-pycreds ttomecek
python-docx kushal124
python-dropbox limb
python-elephant lbazan
python-elpy lbazan
python-email_reply_parser raphgro
python-enchant cstratak mmraka
python-engineio nonamedotc
python-epi chandankumar
python-fastavro ankursinha
python-feedgen lbalhar
python-first dhanesh95
python-fixtures apevec mrunge pabelanger
python-flaky churchyard
python-flask-caching lbrabec
python-flask-httpauth jpena
python-flask-paranoid devrim itamarjp
python-flask-rstpages rmarko
python-flask-socketio nonamedotc
python-freecell_solver shlomif
python-futurist apevec jpena jruzicka
python-gabbi apevec chandankumar
python-genty churchyard
python-geomet qulogic
python-geopandas qulogic
python-ghp-import2 jamatos
python-gilt chedi
python-git-url-parse chedi
python-gitlab stevetraylen
python-glad qulogic
python-gnupg fale pwouters
python-gpiozero churchyard
python-grako brouhaha
python-graphviz eclipseo
python-hdfs ankursinha
python-heapdict qulogic
python-helpdev nonamedotc
python-hkdf decathorpe
python-hl7 ankursinha
python-hpack eclipseo
python-httmock stevetraylen
python-httpsig-cffi terjeros
python-hyperframe eclipseo
python-ipmi lbazan
python-jaraco-classes jcaratzas radez
python-jaraco-collections mrunge
python-jaraco-functools jcaratzas radez
python-jaraco-packaging jcaratzas radez
python-jeepney goeran
python-jmespath fale gholms kevin lkundrak
python-josepy elyscape nb
python-json-logger hguemar
python-json-minify qulogic
python-jsonpatch apevec dprince skottler
python-jsonrpcserver nonamedotc
python-jsonschema apevec decathorpe
python-jupyter-c-kernel qulogic
python-jupyterlab-launcher churchyard
python-kazoo apevec nsaje
python-kiwisolver qulogic
python-klusta ankursinha
python-ladon caiqian
python-ldappool hguemar
python-libpysal qulogic
python-listparser atim
python-magic-wormhole decathorpe
python-magic-wormhole-mailbox-server decathorpe
python-magic-wormhole-transit-relay decathorpe
python-messaging lcons mpaladin
python-micawber jamatos
python-microfs churchyard
python-minimock ralph tomspur
python-missingno lbazan
python-mistralclient amoralej
python-mne-bids lbazan
python-mtg tc01
python-nbconvert nonamedotc
python-nbsphinx churchyard
python-ndg_httpsclient churchyard fschwarz itamarjp noodles
python-ndjson-testrunner qulogic
python-netssh2 lbazan
python-network-runner radez
python-neurosynth lbazan
python-nikola jamatos maxamillion
python-nixio ankursinha
python-nnpy tdawson
python-nodeenv apevec chandankumar
python-nose-exclude mrunge
python-notify2 ngompa
python-ntlm-auth jhogarth
python-nudatus churchyard
python-num2words ankursinha
python-numcodecs qulogic
python-numpy-stl churchyard
python-numpydoc orion tomspur
python-octave-kernel qulogic
python-octaviaclient cgoncalves
python-ogr dhodovsk jpopelka lachmanfrantisek packit ttomecek
usercont zuul
python-openstackdocstheme jpena
python-os-service-types ykarel
python-paperwork-backend qulogic
python-partd qulogic
python-parver churchyard
python-pathspec adrienverge
python-pdfkit raphgro
python-pdfminer tc01
python-pecan amoralej apevec
python-peewee cstratak mstuchli vkrizan
python-pelican firemanxbr mrunge
python-phpserialize jamatos
python-pickleshare ignatenkobrain nonamedotc
python-pika-pool jpena
python-pipdeptree dhanesh95
python-pipreqs dhanesh95
python-plaintable fab
python-plumbum greghellings lorenzodalrio
python-portend adeza jcaratzas radez
python-positional apevec hguemar
python-power raphgro
python-priority eclipseo
python-productmd dmach lsedlar
python-progress bkabrda churchyard praiskup
python-py3nvml atim
python-py9p psavelye
python-pyModbusTCP stevetraylen
python-pycotap shlomif
python-pydantic jussilehtola
python-pydispatcher ishcherb
python-pydocstyle tadej
python-pyfastnoisesimd qulogic
python-pyinsane2 qulogic
python-pykdtree qulogic
python-pykmip apevec chandankumar
python-pykwalify goldmann xenithorb
python-pylev decathorpe
python-pymdown-extensions cheeselee sgallagh
python-pymemcache apevec eglynn nsaje
python-pymod2pkg apevec jpena jruzicka
python-pynlpl ishcherb
python-pyone siddharthvipul1
python-pypandoc orion zbyszek
python-pyperclip hguemar
python-pypillowfight qulogic
python-pysol-cards sergiomb shlomif
python-pystemd ngompa
python-pytest-expect churchyard
python-pytest-helpers-namespace qulogic
python-pytest-isort fab
python-pytest-metadata pschindl
python-pytest-mpl qulogic
python-pytest-testmon radez
python-pytest-toolbox fab
python-pytest-tornado qulogic
python-pytest-trio fab
python-pytest-xprocess frantisekz
python-pytimeparse mrunge pkilambi
python-pyvirtualize raphgro
python-pyvmomi fale raphgro
python-pyzolib cottsay
python-qcelemental jussilehtola
python-qdarkstyle nonamedotc
python-qtconsole nonamedotc
python-qtsass nonamedotc
python-quantities ankursinha
python-rangehttpserver lbazan mcyprian
python-rcssmin kwizart mrunge
python-renderspec jpena
python-requests-credssp jhogarth
python-requests-unixsocket jcaratzas radez
python-restsh bkabrda
python-resumable-urlretrieve lbazan mcyprian
python-retrying apevec
python-rfc3986 apevec jpena ykarel
python-rfc3987 mayorga
python-rjsmin kwizart mrunge
python-rosinstall rmattes
python-rst-linker jcaratzas radez
python-ruamel-yaml chandankumar jchaloup jmontleon smilner
python-ruamel-yaml-clib chandankumar
python-ryu abregman apevec
python-scp chedi tc01
python-scripttest churchyard mbacovsk
python-scrypt hguemar
python-send2trash churchyard
python-setuptools-lint jdulaney
python-shellingham churchyard
python-simplebayes qulogic
python-simpleeval sharkcz
python-simplegeneric churchyard ignatenkobrain jcaratzas tomspur
python-simplevisor adev lcons mpaladin
python-singledispatch adeza jcaratzas mrunge
python-slugify fab mayorga
python-smartypants jamatos
python-snuggs qulogic
python-socketio nonamedotc
python-sockjs-tornado tc01
python-spake2 decathorpe
python-sphinx-click churchyard mcyprian
python-sphinx-issues qulogic
python-sphinxcontrib-actdiag hguemar
python-sphinxcontrib-apidoc chandankumar
python-sphinxcontrib-autoprogram maha
python-sphinxcontrib-log-cabinet thm
python-spyder-kernels nonamedotc
python-sqlalchemy-collectd mbayer mrunge
python-stdlib-list lbazan
python-stdnum sharkcz
python-stompest abompard
python-tblib qulogic
python-tempora jcaratzas radez
python-terminaltables terjeros
python-testing.postgresql ekulik mmarusak msuchy
python-testresources apevec kumarpraveen mrunge pabelanger
python-text-unidecode fab
python-textfsm jpena
python-tinydb suanand
python-tldextract elyscape fschwarz
python-tosca-parser chandankumar jpena jruzicka
python-towncrier eclipseo
python-treq ykarel
python-trimesh ankursinha churchyard
python-trololio ngompa
python-txredisapi abompard
python-typogrify jamatos
python-u-msgpack-python churchyard
python-uinput fabiand
python-uri-templates mbaldessari
python-userpath lbalhar
python-utils churchyard
python-versioneer nonamedotc
python-vine mrunge ngompa pingou
python-virtualenv-api cstratak ishcherb mcyprian
python-vitrageclient mrunge
python-vulture ykarel
python-warlock apevec mrunge
python-wcwidth abompard aviso churchyard fale
python-webscrapbook ferdnyc
python-websockify apevec lon ndipanov nsantos sross tbreeds
python-whisper jsteffan piotrp
python-wrapt chandankumar ralph
python-wurlitzer nonamedotc
python-wxnatpy lbazan
python-xlsxwriter rajeeshknambiar
python-xtermcolor bkabrda
python-yapf lbazan
python-yaql amoralej
python-yarg dhanesh95
python-zabbix-api-erigones ricco
python-zake apevec chandankumar
python-zaqarclient flaper87 hguemar jruzicka
python-zarr qulogic
python-zdaemon fab ralph
python-zict qulogic
python3-iep cottsay
python3-pyPEG2 torsava
pyxattr defolos frankcrawford kevin szpak
quasselgrep tc01
quisk jskarvad
qutebrowser ankursinha fnux torsava
salt dmurphy18
sasutils sthiell
spec2scl jstanek
teampulls brejoc
tldr lbalhar
transtats-cli pnemade suanand
unicorn mikep
vex lbalhar
visidata qulogic
vtk jgu mrceresa orion
xonsh carmenbianca jdulaney
ydiff netvor
Packages by maintainer:
abompard mailman3 python-stompest python-txredisapi python-wcwidth
abregman python-ryu
adev python-simplevisor
adeza python-portend python-singledispatch
adrienverge python-pathspec
amoralej python-congressclient python-mistralclient python-pecan
python-yaql
ankursinha python-fastavro python-hdfs python-hl7 python-klusta
python-nixio python-num2words python-quantities python-trimesh qutebrowser
apevec python-cliff-tablib python-cotyledon python-croniter
python-distroinfo python-fixtures python-futurist python-gabbi
python-jsonpatch python-jsonschema python-kazoo python-nodeenv python-pecan
python-positional python-pykmip python-pymemcache python-pymod2pkg
python-retrying python-rfc3986 python-ryu python-testresources
python-warlock python-websockify python-zake
atim python-listparser python-py3nvml
aviso python-wcwidth
avsej grpc python-couchbase
bkabrda python-django-filter python-progress python-restsh
python-xtermcolor
blackfile python-django-helpdesk
brejoc teampulls
brouhaha python-grako
bruno pychess
caiqian python-ladon
carmenbianca xonsh
cgoncalves python-octaviaclient
chandankumar python-XStatic-roboto-fontface python-abclient
python-barbicanclient python-epi python-gabbi python-nodeenv python-pykmip
python-ruamel-yaml python-ruamel-yaml-clib python-sphinxcontrib-apidoc
python-tosca-parser python-wrapt python-zake
chedi python-gilt python-git-url-parse python-scp
cheeselee mkdocs python-pymdown-extensions
cheimes python-asn1crypto
churchyard ampy esptool pipenv playitagainsam python-admesh python-backcall
python-beniget python-flaky python-genty python-gpiozero
python-jupyterlab-launcher python-microfs python-nbsphinx
python-ndg_httpsclient python-nudatus python-numpy-stl python-parver
python-progress python-pytest-expect python-scripttest python-send2trash
python-shellingham python-simplegeneric python-sphinx-click python-trimesh
python-u-msgpack-python python-utils python-wcwidth
cicku python-SecretStorage
cottsay python-distlib python-pyzolib python3-iep
cstratak pipsi python-SecretStorage python-distlib python-enchant
python-peewee python-virtualenv-api
dcallagh beaker python-configobj
dcantrell python-django-filter
decathorpe python-hkdf python-jsonschema python-magic-wormhole
python-magic-wormhole-mailbox-server python-magic-wormhole-transit-relay
python-pylev python-spake2
defolos pyxattr
devrim python-flask-paranoid
dhanesh95 python-blindspin python-first python-pipdeptree python-pipreqs
python-yarg
dhodovsk modtools python-ogr
dmach kobo pungi python-productmd
dmurphy18 salt
dprince python-jsonpatch
eclipseo patool python-graphviz python-hpack python-hyperframe
python-priority python-towncrier
eglynn python-pymemcache
ekulik python-testing.postgresql
elyscape python-biscuits python-certbot-dns-gehirn
python-certbot-dns-linode python-certbot-dns-ovh
python-certbot-dns-sakuracloud python-dns-lexicon python-josepy
python-tldextract
fab libprelude python-AWSIoTPythonSDK python-aiounittest
python-cachy python-confuse python-plaintable python-pytest-isort
python-pytest-toolbox python-pytest-trio python-slugify
python-text-unidecode python-zdaemon
fabiand python-uinput
fale mycli python-configobj python-gnupg python-jmespath
python-pyvmomi python-wcwidth
ferdnyc python-webscrapbook
firemanxbr python-pelican
flaper87 python-zaqarclient
fnux cdist qutebrowser
frankcrawford pylibacl pyxattr
frantisekz python-pytest-xprocess
fschwarz python-ndg_httpsclient python-tldextract
gholms python-jmespath
goeran python-jeepney
goldmann python-pykwalify
greghellings beaker python-Naked python-plumbum
hadess codespell
hedayat persepolis
heffer borgmatic
herlo beaker
hguemar git-pull-request python-XStatic-roboto-fontface
python-cliff-tablib python-daiquiri python-django-redis python-json-logger
python-ldappool python-positional python-pyperclip python-scrypt
python-sphinxcontrib-actdiag python-zaqarclient
ignatenkobrain python-cheroot python-pickleshare python-simplegeneric
ishcherb python-pydispatcher python-pynlpl python-virtualenv-api
itamarjp python-flask-paranoid python-ndg_httpsclient
jamatos python-ghp-import2 python-micawber python-nikola
python-phpserialize python-smartypants python-typogrify
jcaratzas python-cheroot python-jaraco-classes python-jaraco-functools
python-jaraco-packaging python-portend python-requests-unixsocket
python-rst-linker python-simplegeneric python-singledispatch python-tempora
jchaloup python-ruamel-yaml
jcpunk nemo-extensions
jdornak python-django-tagging
jdulaney python-setuptools-lint xonsh
jgu vtk
jhogarth python-ntlm-auth python-requests-credssp
jmontleon python-ruamel-yaml
jpena dlrn python-XStatic-Angular-FileUpload python-XStatic-bootswatch
python-XStatic-mdi python-confluent-kafka python-cradox python-deprecation
python-django-debreach python-django-formtools python-flask-httpauth
python-futurist python-openstackdocstheme python-pika-pool python-pymod2pkg
python-renderspec python-rfc3986 python-textfsm python-tosca-parser
jpopelka python-click-man python-ogr
jruzicka python-barbicanclient python-cliff-tablib python-distroinfo
python-futurist python-pymod2pkg python-tosca-parser python-zaqarclient
jskarvad ccsm quisk
jstanek spec2scl
jsteffan python-bucky python-carbon python-whisper
jussilehtola pybind11 python-pydantic python-qcelemental
karsten fedmod
kevin pylibacl python-jmespath pyxattr
kumarpraveen python-testresources
kushal124 python-docx
kwizart python-rcssmin python-rjsmin
lachmanfrantisek python-ogr
lbalhar hatch pgzero python-cloudpickle python-feedgen python-userpath
tldr vex
lbazan pydeps python-django-ajax-selects python-django-filter
python-django-helpdesk python-django-markdownx python-django-post_office
python-django-threadedcomments python-elephant python-elpy python-ipmi
python-missingno python-mne-bids python-netssh2 python-neurosynth
python-rangehttpserver python-resumable-urlretrieve python-stdlib-list
python-wxnatpy python-yapf
lbrabec python-flask-caching
lcons python-auth-credential python-dirq python-messaging
python-simplevisor
leigh123linux nemo-extensions
limb proselint python-dropbox
lkundrak python-jmespath
lmacken python-configobj
logic python-certbot-dns-rfc2136
lon python-websockify
lorenzodalrio python-plumbum
lsedlar pungi python-productmd
maha python-sphinxcontrib-autoprogram
martstyk beaker
mavit proselint
maxamillion pungi python-nikola
mayorga python-rfc3987 python-slugify
mbacovsk python-scripttest
mbaldessari python-click-log python-click-threading python-uri-templates
mbayer python-sqlalchemy-collectd
mcyprian pew pipenv python-rangehttpserver python-resumable-urlretrieve
python-sphinx-click python-virtualenv-api
mikep python-ROPGadget unicorn
mmarusak python-testing.postgresql
mmraka python-enchant
moezroy python-construct
mooninite deluge
mpaladin python-auth-credential python-dirq python-messaging
python-simplevisor
mrceresa vtk
mrunge python-XStatic-Angular-FileUpload python-XStatic-bootswatch
python-XStatic-mdi python-XStatic-roboto-fontface python-case
python-django-authority python-django-babel python-django-formtools
python-django-pyscss python-django-redis python-django-reversion
python-django-tagging python-fixtures python-jaraco-collections
python-nose-exclude python-pelican python-pytimeparse python-rcssmin
python-rjsmin python-singledispatch python-sqlalchemy-collectd
python-testresources python-vine python-vitrageclient python-warlock
mstuchli pipsi python-peewee
msuchy python-testing.postgresql
nb python-certbot-dns-cloudflare python-certbot-dns-cloudxns
python-certbot-dns-dnsimple python-certbot-dns-dnsmadeeasy
python-certbot-dns-luadns python-certbot-dns-nsone
python-certbot-dns-rfc2136 python-dns-lexicon python-josepy
ndipanov python-websockify
netvor ydiff
ngompa python-case python-notify2 python-pystemd python-trololio
python-vine
nonamedotc python-QtAwesome python-QtPy python-aiozmq python-apply-defaults
python-engineio python-flask-socketio python-helpdev python-jsonrpcserver
python-nbconvert python-pickleshare python-qdarkstyle python-qtconsole
python-qtsass python-socketio python-spyder-kernels python-versioneer
python-wurlitzer
noodles python-ndg_httpsclient
nphilipp fedmod
npmccallum python-asn1crypto
nsaje python-kazoo python-pymemcache
nsantos python-websockify
onosek pungi
orion python-backcall python-numpydoc python-pypandoc vtk
orphan csvdiff
pabelanger python-fixtures python-testresources
packit python-ogr
phracek modtools
pingou python-case python-vine
piotrp python-carbon python-django-tagging python-whisper
pkilambi python-daiquiri python-pytimeparse
pnemade transtats-cli
praiskup python-progress
psavelye python-py9p
pschindl python-pytest-metadata
pwouters python-gnupg
qulogic paperwork python-affine python-animatplot python-click-plugins
python-cligj python-dask python-descartes python-geomet python-geopandas
python-glad python-heapdict python-json-minify python-jupyter-c-kernel
python-kiwisolver python-libpysal python-ndjson-testrunner python-numcodecs
python-octave-kernel python-paperwork-backend python-partd
python-pyfastnoisesimd python-pyinsane2 python-pykdtree
python-pypillowfight python-pytest-helpers-namespace python-pytest-mpl
python-pytest-tornado python-simplebayes python-snuggs python-sphinx-issues
python-tblib python-zarr python-zict visidata
radez python-ansible-runner python-cheroot python-coverage_pth
python-jaraco-classes python-jaraco-functools python-jaraco-packaging
python-network-runner python-portend python-pytest-testmon
python-requests-unixsocket python-rst-linker python-tempora
rajeeshknambiar python-xlsxwriter
ralph python-minimock python-wrapt python-zdaemon
raphgro python-SecretStorage python-email_reply_parser python-pdfkit
python-power python-pyvirtualize python-pyvmomi
rdopiera python-XStatic-Angular-FileUpload python-XStatic-mdi
python-XStatic-roboto-fontface
rga classification-banner
ricco python-zabbix-api-erigones
rkuska python-bintrees python-colour-runner
rmarko python-flask-rstpages
rmattes GeographicLib python-rosinstall
rohanpm kobo
sergiomb python-pysol-cards
sgallagh python-click-man python-pymdown-extensions
sgrubb audit libcap-ng
sharkcz python-simpleeval python-stdnum
shlomif python-freecell_solver python-pycotap python-pysol-cards
siddharthvipul1 python-dicttoxml python-pyone
skottler python-jsonpatch
smani GeographicLib
smilner python-ruamel-yaml
sross python-websockify
stevetraylen python-collectd_cvmfs python-collectd_puppet
python-collectd_systemd python-dirq python-gitlab python-httmock
python-pyModbusTCP
sthiell clustershell sasutils
suanand python-tinydb transtats-cli
szpak pylibacl pyxattr
tadej pew python-pydocstyle
tbreeds python-websockify
tc01 hddfancontrol python-mtg python-pdfminer python-scp
python-sockjs-tornado quasselgrep
tdawson mozilla-iot-gateway-addon-python pungi python-nnpy
terjeros mycli python-cli-helpers python-configobj python-construct
python-httpsig-cffi python-terminaltables
thm python-sphinxcontrib-log-cabinet
tomspur python-minimock python-numpydoc python-simplegeneric
torsava python3-pyPEG2 qutebrowser
totol libprelude libpreludedb python-croniter
ttomecek modtools python-docker-pycreds python-ogr
usercont python-ogr
vkrizan python-peewee
volter python-Rtree
williamjmorenor python-SecretStorage
wwoods pungi
xenithorb python-pykwalify
ykarel python-os-service-types python-rfc3986 python-treq
python-vulture
zbyszek python-pypandoc
zuul python-ogr
3 years, 9 months
java stack is dead, long live the javastack (was "500 packages FTBFS
in rawhide with java-11-openjdk as system JDK")
by Jiri Vanek
Current stats from my testing samples:
408 failing
263 passing
That is huge improvement. Thank you all.
I'm now running last rebuild n copr, and in week or two an mass rebuild will be taken in koji.
There was an discussion what the border will be, when to force this change, or when to step away.
50% of passed? 80%? But afaik no metric is valid here, because - sorry to say it - there is no
longer any javastack...
Since f29, about 1000 java packages died or were orphaned. I was removing packages where upstream is
dead and are orphaned (so no chance to make them reliable working with jdk11), and I found that
wildfly, jenkins, jboss, half of maven plugins, elastic search, apach-emina, infinispan, cassandra,
hibernate.... All are dead. What is javastack for now (no blame or evil in that)?
So maybe the system jdk11 can be used as just last death-blow to java stack, rethink it, and stat
rebuilding on pretty fresh field....
J.
--
Jiri Vanek
Senior QE engineer, OpenJDK QE lead, Mgr.
Red Hat Czech
jvanek(a)redhat.com M: +420775390109
3 years, 9 months
Fedora 33 System-Wide Change proposal: Make btrfs the default file
system for desktop variants
by Ben Cotton
https://fedoraproject.org/wiki/Changes/BtrfsByDefault
== Summary ==
For laptop and workstation installs of Fedora, we want to provide file
system features to users in a transparent fashion. We want to add new
features, while reducing the amount of expertise needed to deal with
situations like [https://pagure.io/fedora-workstation/issue/152
running out of disk space.] Btrfs is well adapted to this role by
design philosophy, let's make it the default.
== Owners ==
* Names: [[User:Chrismurphy|Chris Murphy]], [[User:Ngompa|Neal
Gompa]], [[User:Josef|Josef Bacik]], [[User:Salimma|Michel Alexandre
Salim]], [[User:Dcavalca|Davide Cavalca]], [[User:eeickmeyer|Erich
Eickmeyer]], [[User:ignatenkobrain|Igor Raits]],
[[User:Raveit65|Wolfgang Ulbrich]], [[User:Zsun|Zamir SUN]],
[[User:rdieter|Rex Dieter]], [[User:grinnz|Dan Book]],
[[User:nonamedotc|Mukundan Ragavan]]
* Emails: chrismurphy(a)fedoraproject.org, ngompa13(a)gmail.com,
josef(a)toxicpanda.com, michel(a)michel-slm.name, dcavalca(a)fb.com,
erich(a)ericheickmeyer.com, ignatenkobrain(a)fedoraproject.org,
fedora(a)raveit.de, zsun(a)fedoraproject.org, rdieter(a)gmail.com,
grinnz(a)gmail.com, nonamedotc(a)gmail.com
* Products: All desktop editions, spins, and labs
* Responsible WGs: Workstation Working Group, KDE Special Interest Group
== Detailed Description ==
Fedora desktop edition/spin variants will switch to using Btrfs as the
filesystem by default for new installs. Labs derived from these
variants inherit this change, and other editions may opt into this
change.
The change is based on the installer's custom partitioning Btrfs
preset. It's been well tested for 7 years.
'''''Current partitioning'''''<br />
<span style="color: tomato">vg/root</span> LV mounted at <span
style="color: tomato">/</span> and a <span style="color:
tomato">vg/home</span> LV mounted at <span style="color:
tomato">/home</span>. These are separate file system volumes, with
separate free/used space.
'''''Proposed partitioning'''''<br />
<span style="color: tomato">root</span> subvolume mounted at <span
style="color: tomato">/</span> and <span style="color:
tomato">home</span> subvolume mounted at <span style="color:
tomato">/home</span>. Subvolumes don't have size, they act mostly like
directories, space is shared.
'''''Unchanged'''''<br />
<span style="color: tomato">/boot</span> will be a small ext4 volume.
A separate boot is needed to boot dm-crypt sysroot installations; it's
less complicated to keep the layout the same, regardless of whether
sysroot is encrypted. There will be no automatic snapshots/rollbacks.
If you select to encrypt your data, LUKS (dm-crypt) will be still used
as it is today (with the small difference that Btrfs is used instead
of LVM+Ext4). There is upstream work on getting native encryption for
Btrfs that will be considered once ready and is subject of a different
change proposal in a future Fedora release.
=== Optimizations (Optional) ===
The detailed description above is the proposal. It's intended to be a
minimalist and transparent switch. It's also the same as was
[[Features/F16BtrfsDefaultFs|proposed]] (and
[https://lwn.net/Articles/446925/ accepted]) for Fedora 16. The
following optimizations improve on the proposal, but are not critical.
They are also transparent to most users. The general idea is agree to
the base proposal first, and then consider these as enhancements.
==== Boot on Btrfs ====
* Instead of a 1G ext4 boot, create a 1G Btrfs boot.
* Advantage: Makes it possible to include in a snapshot and rollback
regime. GRUB has stable support for Btrfs for 10+ years.
* Scope: Contingent on bootloader and installer team review and
approval. blivet should use <code>mkfs.btrfs --mixed</code>.
==== Compression ====
* Enable transparent compression using zstd on select directories:
<span style="color: tomato">/usr</span> <span style="color:
tomato">/var/lib/flatpak</span> <span style="color:
tomato">~/.local/share/flatpak</span>
* Advantage: Saves space and significantly increase the lifespan of
flash-based media by reducing write amplification. It may improve
performance in some instances.
* Scope: Contingent on installer team review and approval to enhance
anaconda to perform the installation using <code>mount -o
compress=zstd</code>, then set the proper XATTR for each directory.
The XATTR can't be set until after the directories are created via:
rsync, rpm, or unsquashfs based installation.
==== Additional subvolumes ====
* <span style="color: tomato">/var/log/</span> <span style="color:
tomato">/var/lib/libvirt/images</span> and <span style="color:
tomato">~/.local/share/gnome-boxes/images/</span> will use separate
subvolumes.
* Advantage: Makes it easier to excluded them from snapshots,
rollbacks, and send/receive. (Btrfs snapshotting is not recursive, it
stops at a nested subvolume.)
* Scope: Anaconda knows how to do this already, just change the
kickstart to add additional subvolumes (minus the subvolume in <span
style="color: tomato">~/</span>. GNOME Boxes will need enhancement to
detect that the user home is on Btrfs and create <span style="color:
tomato">~/.local/share/gnome-boxes/images/</span> as a subvolume.
== Feedback ==
==== Red Hat doesn't support Btrfs? Can Fedora do this? ====
Red Hat supports Fedora well, in many ways. But Fedora already works
closely with, and depends on, upstreams. And this will be one of them.
That's an important consideration for this proposal. The community has
a stake in ensuring it is supported. Red Hat will never support Btrfs
if Fedora rejects it. Fedora necessarily needs to be first, and make
the persuasive case that it solves more problems than alternatives.
Feature owners believe it does, hands down.
The Btrfs community has users that have been using it for most of the
past decade at scale. It's been the default on openSUSE (and SUSE
Linux Enterprise) since 2014, and Facebook has been using it for all
their OS and data volumes, in their data centers, for almost as long.
Btrfs is a mature, well-understood, and battle-tested file system,
used on both desktop/container and server/cloud use-cases. We do have
developers of the Btrfs filesystem maintaining and supporting the code
in Fedora, one is a Change owner, so issues that are pinned to Btrfs
can be addressed quickly.
==== What about device-mapper alternatives? ====
dm-thin (thin provisioning):
[[https://pagure.io/fedora-workstation/issue/152 Issue #152] still
happens, because the installer won't over provision by default. It
still requires manual intervention by the user to identify and resolve
the problem. Upon growing a file system on dm-thin, the pool is over
committed, and file system sizes become a fantasy: they don't add up
to the total physical storage available. The truth of used and free
space is only known by the thin pool, and CLI and GUI programs are
unprepared for this. Integration points like rpm free space checks or
GNOME disk-space warnings would have to be adapted as well.
dm-vdo: is not yet merged, and isn't as straightforward to selectively
enable per directory and per file, as is the case on Btrfs using
<code>chattr +c</code> on <span style="color:
tomato">/var/lib/flatpaks/</span>.
Btrfs solves the problems that need solving, with few side effects or
pitfalls for users. It has more features we can take advantage of
immediately and transparently: compression, integrity, and IO
isolation. Many Btrfs features and optimizations can be opted into
selectively per directory or file, such as compression and nodatacow,
rather than as a layer that's either on or off.
==== What about UI/UX and integration in the desktop? ====
If Btrfs isn't the default file system, there's no commitment, nor
reason to work on any UI/UX integration. There are ideas to make
certain features discoverable: selective compression; systemd-homed
may take advantage of either Btrfs online resize, or near-term planned
native encryption, which could make it possible to live convert
non-encrypted homes to encrypted; and system snapshot and rollbacks.
Anaconda already has sophisticated Btrfs integration.
==== What Btrfs features are recommended and supported? ====
The primary goal of this feature is to be largely transparent to the
user. It does not require or expect users to learn new commands, or to
engage in peculiar maintenance rituals.
The full set of Btrfs features that is considered stable and enabled
by default upstream will be enabled in Fedora. Fedora is a community
project. What is supported within Fedora depends on what the community
decides to put forward in terms of resources.
The upstream [https://btrfs.wiki.kernel.org/index.php/Status Btrfs
feature status page].
==== Are subvolumes really mostly like directories? ====
Subvolumes behave like directories in terms of navigation in both the
GUI and CLI, e.g. <code>cp</code>, <code>mv</code>, <code>du</code>,
owner/permissions, and SELinux labels. They also share space, just
like a directory.
But it is an incomplete answer.
A subvolume is an independent file tree, with its own POSIX namespace,
and has its own pool of inodes. This means inode numbers repeat
themselves on a Btrfs volume. Inodes are only unique within a given
subvolume. A subvolume has its own st_dev, so if you use <code>stat
FILE</code> it reports a device value referring to the subvolume the
file is in. And it also means hard links can't be created between
subvolumes. From this perspective, subvolumes start looking more like
a separate file system. But subvolumes share most of the other trees,
so they're not truly independent file systems. They're also not block
devices.
== Benefit to Fedora ==
Problems Btrfs helps solve:
* Users running out of free space on either <span style="color:
tomato">/</span> or <span style="color: tomato">/home</span>
[https://pagure.io/fedora-workstation/issue/152 Workstation issue
#152]
** "one big file system": no hard barriers like partitions or logical volumes
** transparent compression: significantly reduces write amplification,
improves lifespan of storage hardware
** reflinks and snapshots are more efficient for use cases like
containers (Podman supports both)
* Storage devices can be flaky, resulting in data corruption
** Everything is checksummed and verified on every read
** Corrupt data results in EIO (input/output error), instead of
resulting in application confusion, and isn't replicated into backups
and archives
* Poor desktop responsiveness when under pressure
[https://pagure.io/fedora-workstation/issue/154 Workstation issue
#154]
** Currently only Btrfs has proper IO isolation capability via cgroups2
** Completes the resource control picture: memory, cpu, IO isolation
* File system resize
** Online shrink and grow are fundamental to the design
* Complex storage setups are... complicated
** Simple and comprehensive command interface. One master command
** Simpler to boot, all code is in the kernel, no initramfs complexities
** Simple and efficient file system replication, including incremental
backups, with <code>btrfs send</code> and <code>btrfs receive</code>
== Scope ==
* Proposal owners:
** Submit PR's for Anaconda to change <code>default_scheme =
BTRFS</code> to the proper product files.
** Multiple test days: build community support network
** Aid with documentation
* Other developers:
** Anaconda, review PRs and merge
** Bootloader team, review PRs and merge
** Recommended optimization <code>chattr +C</code> set on the
containing directory for virt-manager and GNOME Boxes.
* Release engineering: [https://pagure.io/releng/issue/9545 #9545]
* Policies and guidelines: N/A
* Trademark approval: N/A
== Upgrade/compatibility impact ==
Change will not affect upgrades.
Documentation will be provided for existing Btrfs users to "retrofit"
their setups to that of a default Btrfs installation (base plus any
approved options).
== How To Test ==
'''''Today'''''<br />
Do a custom partitioning installation; change the scheme drop-down
menu to Btrfs; click the blue "automatically create partitions"; and
install.<br />
Fedora 31, 32, Rawhide, on x86_64 and ARM.
'''''Once change lands'''''<br />
It should be simple enough to test, just do a normal install.
== User Experience ==
==== Pros ====
* Mostly transparent
* Space savings from compression
* Longer lifespan of hardware, also from compression.
* Utilities for used and free space, CLI and GUI, are expected to
behave the same. No special commands are required.
* More detailed information can be revealed by <code>btrfs</code>
specific commands.
==== Enhancement opportunities ====
[https://bugzilla.redhat.com/show_bug.cgi?id=906591 updatedb does not
index /home when /home is a bind mount] Also can affected rpm-ostree
installations, including Silverblue.
[https://gitlab.gnome.org/GNOME/gnome-usage/-/issues/49 GNOME Usage:
Incorrect numbers when using multiple btrfs subvolumes] This isn't
Btrfs specific, happens with "one big ext4" volume as well.
[https://gitlab.gnome.org/GNOME/gnome-boxes/-/issues/88 GNOME Boxes,
RFE: create qcow2 with 'nocow' option when on btrfs /home] This is
Btrfs specific, and is a recommended optimization for both GNOME Boxes
and virt-manager.
[https://github.com/containers/libpod/issues/6563 containers/libpod:
automatically use btrfs driver if on btrfs]
== Dependencies ==
None.
== Contingency Plan ==
* Contingency mechanism: Owner will revert changes back to LVM+ext4
* Contingency deadline: Beta freeze
* Blocks release? Yes
* Blocks product? Workstation and KDE
== Documentation ==
Strictly speaking no documentation is required reading for users. But
there will be some Fedora documentation to help get the ball rolling.
For those who want to know more:
[https://btrfs.wiki.kernel.org/index.php/Main_Page btrfs wiki main
page and full feature list.]
<code>man 5 btrfs</code> contains: mount options, features, swapfile
support, checksum algorithms, and more<br />
<code>man btrfs</code> contains an overview of the btrfs subcommands<br />
<code>man btrfs <nowiki><subcommand></nowiki></code> will show the man
page for that subcommand
NOTE: The btrfs command will accept partial subcommands, as long as
it's not ambiguous. These are equivalent commands:<br />
<code>btrfs subvolume snapshot</code><br />
<code>btrfs sub snap</code><br />
<code>btrfs su sn</code>
You'll discover your own convention. It might be preferable to write
out the full command on forums and lists, but then maybe some folks
don't learn about this useful shortcut?
For those who want to know a lot more:
[https://btrfs.wiki.kernel.org/index.php/Main_Page#Developer_documentation
Btrfs developer documentation]<br />
[https://github.com/btrfs/btrfs-dev-docs/blob/master/trees.txt Btrfs trees]
== Release Notes ==
The default file system on the desktop is Btrfs.
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
Fedora 33 Self-Contained Change proposal: GHC 8.8 and Haskell
Stackage LTS 16
by Ben Cotton
https://fedoraproject.org/wiki/Changes/GHC_8.8_and_LTS16
== Summary ==
The GHC Haskell compiler will be updated from major version 8.6 to 8.8,
and Haskell packages will be updated from Stackage LTS 14 to LTS 16 versions.
== Owner ==
* Name: [[User:Petersen| Jens Petersen]]
* Email: <petersen(a)redhat.com>
== Detailed Description ==
For Fedora 33, the GHC Haskell compiler will be updated from version
8.6.5 to 8.8.3 (based on the ghc:8.8 module stream).
Along with this Haskell packages in [https://www.stackage.org
Stackage] will be updated from the versions in LTS 14 to LTS 16.
Haskell packages not in Stackage will be updated to the latest current
version in [https://hackage.haskell.org Hackage].
== Benefit to Fedora ==
Fedora users will benefit from access to the latest stable Haskell
compiler release, package tools, and current stable Haskell packages
from Stackage LTS.
GHC 8.8 features a new code layout algorithm for x86, the final
implementation of the MonadFail proposal, and also many bugfixes (see
the Documentation links for more details).
== Scope ==
* Proposal owners:
** rebase ghc to 8.8.3
** update ghc-rpm-macros to the final version for F33 GA
** refresh packagings with the latest cabal-rpm release
** update packages to latest Stackage LTS 16 versions using cabal-rpm
** build all the packages in a Koji sidetag repo in dependency order
** When finished push all builds through Bodhi to Rawhide before the
mass rebuild
* Other developers: N/A (not a System Wide Change)
* Release engineering: N/A
* Policies and guidelines: N/A (not a System Wide Change)
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
Any dropped packages will have obsoletes added.
Otherwise there should not be any direct upgrade impact.
Users' Haskell projects will get rebuilt with ghc-8.8 when they next
build them and might need minor adjustments.
== How To Test ==
* install ghc and cabal-install
* install pandoc, ShellCheck, git-annex
* install ghc-*-devel or ghc-*-prof or ghc-*-doc
* cabal-rpm builddep <favouritepackage>; cabal install <favouritepackage>
* test upgrades of F32 packages to F33
== 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.
Also these updates include a major new version 3 of the Haskell
`Cabal` library and `cabal-install` packaging tool
with important new features and enhancements, and `stack` is being
updated from 2.1 to 2.3.
== Dependencies ==
N/A (not a System Wide Change)
== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?)
** Change owner will drop the new builds and revert back to the versions in F32.
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)
== Documentation ==
* https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.1-note...
* https://hackage.haskell.org/package/cabal-install-3.0.0.0/changelog
* https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/8.8
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months
Fedora 33 Self-Contained Change proposal: Deprecate python-pytoml
by Ben Cotton
https://fedoraproject.org/wiki/Changes/DeprecatePytoml
== Summary ==
The {{package|python-pytoml}} ({{package|python3-pytoml}}) package
will be [https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-pac...
deprecated] in [[Releases/33|Fedora 33]]. Pytoml is deprecated
upstream in favor of [https://pypi.org/project/toml/ toml]
({{package|python-toml}}), but existing Fedora packages depend on it,
so we cannot remove it yet. Packagers are encouraged to work with
upstream to switch to {{package|python-toml}}, but
{{package|python-pytoml}} remains available until it is a leaf
package, it will be removed then (possibly not yet in Fedora 33).
== Owner ==
* Name: [[User:Churchyard|Miro Hrončok]]
* Email: mhroncok(a)redhat.com
== Detailed Description ==
The {{package|python-pytoml}} package is
[https://pypi.org/project/pytoml/ deprecated upstream]:
> The pytoml project is no longer being actively maintained. Consider using the [https://pypi.org/project/toml/ toml] package instead.
We'd like to drop it from Fedora, but several packages still require
it. Before we attempt to remove the package, we need to stop new
packages to (Build)Require {{package|python3-pytoml}}, hence we want
to have it [https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-pac...
deprecated].
Packagers are encouraged to switch to {{package|python3-toml}} with
upstream involvement. Downstream patches to switch from pytoml to toml
are not encouraged.
Note that <code>repoquery</code> gives many packages that BuildRequire
{{package|python3-toml}}:
$ repoquery --repo=rawhide{,-source} --whatrequires python3-pytoml
ilua-0:0.2.1-1.fc33.src
pyproject-rpm-macros-0:0-15.fc33.noarch
pyproject-rpm-macros-0:0-15.fc33.src
python-black-0:19.10~b0-3.fc33.src
python-chaospy-0:3.2.12-1.fc33.src
python-copr-0:1.102-1.fc33.src
python-decopatch-0:1.4.6-3.fc33.src
python-elementpath-0:1.4.0-4.fc33.src
python-flit-0:2.3.0-3.fc33.src
python-latexcodec-0:2.0.1-1.fc33.src
python-makefun-0:1.6.11-3.fc33.src
python-numpoly-0:0.2.3-2.fc33.src
python-openqa_client-0:4.1.0-2.fc33.src
python-pint-0:0.13-1.fc33~bootstrap.src
python-pybtex-docutils-0:0.2.2-4.fc33.src
python-pytest-cases-0:1.11.1-3.fc33.src
python-pytest-harvest-0:1.7.2-3.fc33.src
python-pytest-steps-0:1.7.2-2.fc33.src
python-readthedocs-sphinx-ext-0:2.0.0-1.fc33.src
python-requests-download-0:0.1.2-3.fc33.src
python-sphinx-copybutton-0:0.2.12-1.fc33.src
python-sphinxcontrib-bibtex-0:1.0.0-4.fc33.src
python-wikitcms-0:2.6.3-2.fc33.src
python-xmlschema-0:1.0.18-3.fc33.src
python-xmlsec-0:1.3.8-1.fc33.src
python3-flit-0:2.3.0-3.fc33.noarch
python3-flit-core-0:2.3.0-3.fc33.noarch
But many of them are only there because the dependency was generated
by {{package|pyproject-rpm-macros}} BuildRequires generator which was
since already updated to use {{package|python3-toml}}. When rebuilt
with updated {{package|pyproject-rpm-macros}}, the dependency will be
replaced with {{package|python3-toml}}.
$ repoquery --repo=rawhide{,-source} --whatrequires pyproject-rpm-macros
ansible-lint-0:4.2.0-4.fc33.src
ilua-0:0.2.1-1.fc33.src
python-PyGithub-0:1.51-2.fc33.src
python-black-0:19.10~b0-3.fc33.src
python-chaospy-0:3.2.12-1.fc33.src
python-copr-0:1.102-1.fc33.src
python-decopatch-0:1.4.6-3.fc33.src
python-elementpath-0:1.4.0-4.fc33.src
python-latexcodec-0:2.0.1-1.fc33.src
python-makefun-0:1.6.11-3.fc33.src
python-numpoly-0:0.2.3-2.fc33.src
python-openqa_client-0:4.1.0-2.fc33.src
python-pep517-0:0.7.0-4.fc33.src
python-pint-0:0.13-1.fc33~bootstrap.src
python-pybtex-docutils-0:0.2.2-4.fc33.src
python-pytest-cases-0:1.11.1-3.fc33.src
python-pytest-harvest-0:1.7.2-3.fc33.src
python-pytest-steps-0:1.7.2-2.fc33.src
python-readthedocs-sphinx-ext-0:2.0.0-1.fc33.src
python-requests-download-0:0.1.2-3.fc33.src
python-sphinx-copybutton-0:0.2.12-1.fc33.src
python-sphinxcontrib-bibtex-0:1.0.0-4.fc33.src
python-tox-current-env-0:0.0.2-5.fc33.src
python-wikitcms-0:2.6.3-2.fc33.src
python-xmlschema-0:1.0.18-3.fc33.src
python-xmlsec-0:1.3.8-1.fc33.src
The only really affected package is {{package|python-flit}}. Upstream
already discusses the transition:
https://github.com/takluyver/flit/issues/255
Once all dependencies are removed, we plan to retire
{{package|python-pytoml}}, whether it will be in Fedora 33 or later.
== Feedback ==
The intent was announced at
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedorapr...
but there was no feedback. The primary point of contact for the
{{package|python-pytoml}} and {{package|python-toml}} packages is on
board.
== Benefit to Fedora ==
An upstream deprecated package will not be depended upon by new packages.
== Scope ==
* Proposal owners: Deprecate {{package|python3-pytoml}}. Work with
flit upstream to make the transition as well. Once the dependency is
removed from flit, rebuild remaining packages using
{{package|pyproject-rpm-macros}} and retire {{package|python-pytoml}}
(possibly later than Fedora 33).
* Other developers: No action needed. Don't add new dependencies on
{{package|python3-pytoml}}.
* Release engineering: N/A (not a System Wide Change)
* Policies and guidelines: N/A
* Trademark approval: N/A
== Upgrade/compatibility impact ==
The package will remain available. Only new packages cannot depend on it.
Once retired, we don't plan to provide <code>python3-pytoml</code>
from {{package|python3-toml}}, because it cannot work as drop-in
replacement (the Python module has a different name). The package will
eventually be obsoleted by {{package|fedora-obsolete-packages}} once
Python is updated to 3.10 to avoid broken upgrades.
== How To Test ==
$ repoquery --repo=rawhide --provides python3-pytoml
...
deprecated()
...
== User Experience ==
No changes.
== Dependencies ==
N/A (not a System Wide Change)
== Documentation ==
N/A (not a System Wide Change)
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 9 months