Planned Outage - Server updates/Reboots - 2023-11-15 20:00 UTC
by Kevin Fenzi
Planned Outage - Server updates/Reboots - 2023-11-15 20:00 UTC
There will be an outage starting at 2023-11-15 20:00 UTC,
which will last approximately 6 hours.
To convert UTC to your local time, take a look at
http://fedoraproject.org/wiki/Infrastructure/UTCHowto
or run:
date -d '2023-11-15 20:00UTC'
Reason for outage:
We will be applying various updates to servers and rebooting them
into new kernels/firmware.
Various services may be up and down in the outage window.
Affected Services:
Most services maintainer / contributor services will be affected
at various times in the outage window.
End user services should be mostly available.
Ticket Link:
https://pagure.io/fedora-infrastructure/issue/11615
Please join #fedora-admin or #fedora-noc on irc.libera.chat
or #admin:fedoraproject.org / #noc:fedoraproject.org on matrix.
Please add comments to the ticket for this outage above.
Updated status for this outage may be available at
https://www.fedorastatus.org/
5 months, 3 weeks
F40 Change Proposal: Transitioning to Zlib-ng as a compatible
replacement for Zlib (System-Wide)
by Aoife Moloney
Wiki -> https://fedoraproject.org/wiki/Changes/ZlibNGTransition
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 ==
Replace Zlib with Zlib-ng. This change is strongly tied to
[[Changes/MinizipNGTransition]].
== Owner ==
* Name: [[User:tuliom| Tulio Magno Quites Machado Filho]],
[[User:ljavorsk| Lukas Javorsky]], [[User:aekoroglu|Ali Erdinc
Koroglu]], [[User:fweimer| Florian Weimer]], [[User:Dcavalca| Davide
Cavalca]], [[User:Ngompa| Neal Gompa]]
* Email: tuliom(a)redhat.com, ljavorsk(a)redhat.com,
ali.erdinc.koroglu(a)intel.com, fweimer(a)redhat.com, davide(a)cavalca.name,
ngompa13(a)gmail.com
== Detailed Description ==
Zlib has long served as a reliable compression library, but its
performance on modern CPU architectures does not fully utilize their
capabilities. The transition to Zlib-ng aims to enhance the
compression efficiency and performance for Fedora while ensuring
compatibility with existing packages and libraries.
== Feedback ==
== Benefit to Fedora ==
* Zlib-ng supports hardware acceleration when available
** Adler32 implementation using SSSE3, AVX2, AVX512, AVX512-VNNI,
Neon, VMX & VSX
** CRC32-B implementation using PCLMULQDQ, VPCLMULQDQ, ACLE, & IBM Z
** Hash table implementation using CRC32-C intrinsics on x86 and ARM
** Slide hash implementations using SSE2, AVX2, ARMv6, Neon, VMX & VSX
** Compare256 implementations using SSE2, AVX2, Neon, POWER9 & RVV
** Inflate chunk copying using SSE2, SSSE3, AVX, Neon & VSX
** Support for hardware-accelerated deflate using IBM Z DFLTCC
* Includes Intel and Cloudflare optimizations
* Uses code sanitizers, fuzzing, and code coverage
== Scope ==
* Proposal owners:
** Zlib-ng will be rebuilt with zlib-compatible API, obsoleting zlib-1.2
*** Zlib-ng compat mode will be distributed in a new package called
zlib-ng-compat, with its respective zlib-ng-compat-devel.
*** Initially, zlib-ng-compat will provide zlib = 1.2.13 and
zlib-ng-compat-devel will provide zlib = 1.2.13.
*** These versions will be updated following the support added to
zlib-ng upstream.
** Considering the new packages promise to be ABI-compatible with
zlib, the packages depending on zlib won't be rebuilt.
*** This may help to catch ABI-compatibility issues soon.
* Other developers: Help with build failures may be requested.
* Release engineering: No action required
* Policies and guidelines: N/A
* Trademark approval: N/A
* Alignment with Objectives: N/A
== Upgrade/compatibility impact ==
Zlib-ng has a zlib-compat mode that aims to preserve both API and ABI
compatibility with the original Zlib. However certain application
tests may rely on hardcoded checksums for the compressed output. These
tests could fail due to various changes, even if the compressed output
remains valid and decompresses correctly.
== How To Test ==
Update the system, verify that it does not break other packages.
== User Experience ==
This change will increase compression efficiency and performance
== Dependencies ==
Zlib is a dependency for over 100 packages. Most of them are expected
not to fail or break.
== Contingency Plan ==
* Contingency mechanism: Revert the change to Zlib and rebuild
dependent packages.
* Contingency deadline: Beta freeze
* Blocks release? No
== Documentation ==
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
5 months, 4 weeks
F40 Change Proposal: MinizipNGTransition (System-wide)
by Aoife Moloney
Wiki -> https://fedoraproject.org/wiki/Changes/MinizipNGTransition
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 ==
Transition of the minizip to minizip-ng as it brings much more
optimization and also this change is strongly tied to the
[https://fedoraproject.org/wiki/Changes/ZlibNGTransition Zlib
Transition Change] as by removing zlib package it will also remove
minizip-compat subpackage.
== Owner ==
* Name: [[User:ljavorsk| Lukas Javorsky]]
* Email: ljavorsk(a)redhat.com
== Detailed Description ==
As zlib is about to be migrated to zlib-ng, the minizip-compat
subpackage will be removed as well. Thus we need to rebuild all of the
packages that depend on the minizip-compat with minizip-ng-compat.
Also with this, we can add the minizip-ng (without compat) to the
Fedora repository as some packages might want to migrate to the more
feature-rich implementation of minizip.
This change is strongly related to the
[https://fedoraproject.org/wiki/Changes/ZlibNGTransition Zlib
Transition Change].
== Feedback ==
Packages that require `minizip-ng` (the current compat version) have
been rebuilt with the correct `minizip-ng-compat` package with its new
API of version 4 in this
[https://copr.fedorainfracloud.org/coprs/ljavorsk/minizip-ng/packages/
COPR repository].
Packages that depend on the `minizip-compat` (subpackage of zlib
package) will need to be rebuilt as well. There have been some
attempts and only two of them are not building due to this change.
Chromium; reported in
[https://bugzilla.redhat.com/show_bug.cgi?id=2242271 this Bugzilla].
Libdigidocpp; reported in
[https://bugzilla.redhat.com/show_bug.cgi?id=2240599 this Bugzilla].
Everything else is described in the
[https://bugzilla.redhat.com/show_bug.cgi?id=2235710 minizip-ng rebase
Bugzilla].
Early feedback from community in the
[https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
fedora-devel email thread]
== Benefit to Fedora ==
* minizip-ng has the following features
** Zlib, BZIP2, LZMA, XZ, and ZSTD compression methods.
** Password protection through Traditional PKWARE and WinZIP AES encryption.
** Buffered streaming for improved I/O performance.
** NTFS timestamp support for UTC last modified, last accessed, and
creation dates.
** Disk split support for splitting zip archives into multiple files.
** Preservation of file attributes across file systems.
** Follow and store symbolic links.
** Unicode filename support through UTF-8 encoding.
** Legacy character encoding support CP437, CP932, CP936, CP950.
** Streaming interface for easy implementation of additional platforms.
== Scope ==
* Proposal owners:
** Minizip-ng will be rebuilt with minizip-compatible API, obsoleting
minizip-compat-1.3
*** Minizip-ng compat mode will be distributed in a new package called
minizip-ng-compat, with its respective minizip-ng-compat-devel.
*** Initially, minizip-ng-compat will provide minizip-compat = 1.2.13
and minizip-ng-compat-devel will provide minizip-compat-devel =
1.2.13.
*** These versions will be updated following the support added to
minizip-ng upstream.
** As minizip-ng also bumped the soname, the packages critical to this
change will need to be rebuilt in the side-tag. Packages that depend
on the minizip-compat will be rebuilt with the new
Requires/Buildrequires to minizip-ng-compat (doesn't have to be
rebuilt in side-tag).
*** This may help to catch ABI-compatibility issues soon.
* Other developers: Help with build failures may be requested. All of
the packages that fails to build with this change have been reported
in Bugzilla
* Release engineering: No action required
* Policies and guidelines: N/A
* Trademark approval: N/A
* Alignment with Objectives: N/A
== Upgrade/compatibility impact ==
Minizip-ng has a minizip-compat mode that aims to preserve both API
and ABI compatibility with the original Minizip. This is only
applicable on the packages that currently require the `minizip-compat`
package.
Packages that require the `minizip-ng-devel` shared library will be
changed to require the new name `minizip-ng-devel-compat` and also
will be rebuilt in side-tag. Packages that only require the
`minizip-ng` without it's shared library will be changed to
`minizip-ng-compat`, so they don't end up with non-compat version of
minizip-ng.
Minizip-ng-compat doesn't provide the full compatible version of
ioapi.h file. Function unzGetCurrentFileZStreamPos64 is not present in
this header file as discussed in the
[https://github.com/zlib-ng/minizip-ng/issues/447#issuecomment-1773022947
upstream issue].
Currently there are 3 packages that fails to build with new minizip-ng-compat:
* Chromium: [https://bugzilla.redhat.com/show_bug.cgi?id=2242271
reported Bugzilla]; possible remediation - use bundled minizip library
* Libdigidocpp: [https://bugzilla.redhat.com/show_bug.cgi?id=2240599
reported Bugzilla]; possible remediation - use bundled minizip library
* OpenColorIO: [https://bugzilla.redhat.com/show_bug.cgi?id=2239262
reported Bugzilla]; possible remediation - don't upgrade minizip-ng
package to the new 4th version of API (stay with minizip-ng-3.10.0).
Not preferred as we want to have the latest and greatest versions in
Fedora.
== How To Test ==
Update the packages and verify they build without any issues.
== User Experience ==
This change will increase compression efficiency and performance.
== Dependencies ==
List of the packages from Fedora 40
=== Requires (minizip-compat) ===
repoquery -q --repo=rawhide{,-source} --whatrequires 'minizip-compat*'
| grep -v 'src$' | pkgname
chromedriver
chromium
chromium-common
chromium-headless
domoticz
hashcat
libdigidocpp
minizip-compat-devel
springlobby
=== BuildRequires (minizip-compat) ===
repoquery -q --repo=rawhide{,-source} --whatrequires 'minizip-compat*'
| grep 'src$' | pkgname
chromium
domoticz
hashcat
libdigidocpp
springlobby
=== Requires (minizip-ng (currently built with compat flags)) ===
repoquery -q --repo=rawhide{,-source} --whatrequires 'minizip-ng*' |
grep -v 'src$' | pkgname
collada-dom
dolphin-emu
dolphin-emu-tool
freexl
keepassxc
libnuml
librasterlite2
libsbml
libspatialite
libxlsxwriter
minizip-ng-devel
OpenColorIO
OpenColorIO-tools
perl-LibSBML
python3-libsbml
qmc2
qmc2-arcade
R-libSBML
ruby-SBML
sigil
vxl
widelands
xiphos
zfstream
zfstream-devel
=== BuildRequires (minizip-ng (currently built with compat flags)) ===
repoquery -q --repo=rawhide{,-source} --whatrequires 'minizip-ng*' |
grep 'src$' | pkgname
collada-dom
COPASI
dolphin-emu
freexl
keepassxc
libCombine
libnuml
librasterlite2
libsbml
libsedml
libspatialite
libxlsxwriter
OpenColorIO
qmc2
sigil
spatialite-gui
spatialite-tools
vxl
widelands
wordgrinder
xiphos
zfstream
== Contingency Plan ==
* Contingency mechanism: Revert the change to Minizip and rebuild
dependent packages. However, if we want to revert to minizip-compat,
the [https://fedoraproject.org/wiki/Changes/ZlibNGTransition Zlib
Transition Change] needs to be reverted as well (minizip-compat is
subpackage of zlib package).
* Contingency deadline: Beta freeze
* Blocks release? No
== Documentation ==
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
5 months, 4 weeks
F40 Change Proposal: Linker Error on Security Issues (System-Wide)
by Aoife Moloney
Wiki -> https://fedoraproject.org/wiki/Changes/Linker_Error_On_Security_Issues
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 ==
Change the system linker (ld.bfd) so that by default it will generate
an error message and fail if it is asked to create an executable
binary that contains one or more known security issues. These issues
are:
* an executable stack
* a loadable segment with read, write and execute permissions,
* a thread local storage segment with execute permission.
== Owner ==
* Name: [[User:nickc| Nick Clifton]]
* Email: nickc(a)redhat.com
== Detailed Description ==
The BFD linker (ld.bfd) is able to detect several potential security
problems with the binaries that it is creating. Currently however the
linker's default behaviour is to generate warning messages about these
problems, but then it carries on and completes the link.
Since only warning messages are generated, and these can be ignored or
lost in the output from a build, it is possible that packages are
being built without their owners being aware of the potential security
problems. Hence this change will alter the linker's default behaviour
to turn the warnings into errors, which in turn will prevent the
builds from completing successfully.
The change would apply to three linker warnings:
* The creation of a program containing a stack that is in a memory
region that has execute permission.
* The creation of a program with a loadable segment that has all three
of the read, write and execute permission bits set.
* The creation of a thread local storage segment that has the execute
permission bit set.
== Feedback ==
== Benefit to Fedora ==
The benefit of this change is that it will increase the overall
security of Fedora by helping to ensure that packages cannot be built
with one or more of these vulnerabilities without the owner being made
aware and having to take specific actions - either to remove the
vulnerability or disable the linker error message.
== Scope ==
* Proposal owners:
Enable the 'error_for_executable_stacks' and 'error_for_rwx_segments'
optional features in the binutils.spec file and then rebuild the
binutils.
Following that a system wide rebuild will be needed in order for the
change to have a chance to take affect and cause vulnerable packages
to fail to build. Any packages that fail to build because of the
change will need to be updated to either remove the cause of the
problem or else add an extra command line option to be passed to the
linker to disable the new feature.
* Other developers:
Other developers will only be affected if their package(s) fail to
build with the new linker. In this case the developer will need to
decide if the security vulnerability is actually needed by their
package, and if so add a linker command line option to turn off the
error, or if the vulnerability is not needed then fix their code so
that the problem is removed.
It is known that this change will affect the edk2, glibc and grub2
packages. Their owners will be contacted to assist them in deciding
how they wish to resolve the problems specific to their packages.
Other developers can use the "--no-warn-execstack" and
"--no-warn-rwx-segments" linker command line options to disable the
errors.
* Release engineering: [https://pagure.io/releng/issue/11777]
* Policies and guidelines: N/A (not needed for this Change) <!--
REQUIRED FOR SYSTEM WIDE CHANGES -->
The packaging guidelines should not need to be updated. The vast
majority of programs will not be affected by this change. Packages
that are affected will already be requiring special behaviour from the
linker, so it can be assumed that their maintainers are familiar with
how to report linker problems and how to receive help.
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives: N/A
== Upgrade/compatibility impact ==
Upgrading previous versions of Fedora to one containing this change
will have no immediate effect. In fact the only visible change would
be if the upgraded system is used to compile a program and that
program contains one or more of the potential security vulnerabilities
that will now trigger errors. Even then the previous functionality
(of being able to successfully compile the vulnerable program) can be
restored by adding a specific linker command line option.
== How To Test ==
Compile programs.
No special hardware or data is needed in order to test this change.
Just a Fedora system with the updated binutils package installed plus
whatever other packages are needed to compile any test programs. If
the programs compile and link successfully then there are no issues.
If they do not, and the reason that they do not compile is because of
error messages from the linker, then something needs to be done.
Note - the linker's own testsuite includes tests to make sure that the
error messages are generated under the correct circumstances as well
tests to make sure that the errors can be disabled by the correct
command line options.
== User Experience ==
On the whole, users should not notice this change.
Users who build programs on Fedora, and whose programs are built in
such a way that they are exposed to the security issues that will
trigger the new errors will be affected. Such users might be happy
that the problem is being brought to light, or annoyed that they will
now have to consider whether they need to fix their program or fix
their build system.
== Dependencies ==
None.
== Contingency Plan ==
* Contingency mechanism: Revert the change to the linker.
* Contingency deadline: Fedora 40 beta freeze.
* Blocks release? No
== Documentation ==
There is a blog about the warning messages that are being turned into errors:
https://www.redhat.com/en/blog/linkers-warnings-about-executable-stacks-a...
== Release Notes ==
(For the Developers/Binutils section of the release Notes)
The linker's warning messages about the creation of binaries with
executable stacks or memory segments with the execute, read and write
permissions have now been turned into errors. This will prevent the
creation of programs with either of these vulnerabilities. The errors
can be turned off via the use of the --no-warn-execstack and
--no-warn-rwx-segments linker command line options.
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
5 months, 4 weeks
F40 Change Proposal: Removing SSSD 'Files Provider' (System-Wide)
by Aoife Moloney
Wiki -> https://fedoraproject.org/wiki/Changes/SSSDRemoveFilesProvider
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 ==
Remove SSSD “files provider” feature that allows handling of local users.
== Owner ==
* Name: [[User:atikhonov| Alexey Tikhonov]], [[User:pbrezina| Pavel Březina]]
* Email: atikhono(a)redhat.com, pbrezina(a)redhat.com
== Detailed Description ==
SSSD ability to handle local users (/etc/passwd and /etc/group) using
“id_provider=files” was previously deprecated and future removal
announced both [https://sssd.io/release-notes/sssd-2.9.0.html#general-information
upstream] and in
[https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/sysadmin...
Fedora 38 RNs].<br>
[https://fedoraproject.org/wiki/Changes/FlexibleLocalUserCache
FlexibleLocalUserCache] change disabled this feature by default even
earlier. The reason for this movement is that benefits of the feature
appeared to be negligible, while confusion and overhead it creates is
considerable.<br>
Practically, there are only two use cases that currently justify usage
of “files provider”:
* smart card authentication of local users;
* session recording for local users.
For both cases “proxy provider” is a viable substitute, so “files
provider” can be dropped. SSSD maintainers will provide a document on
[https://sssd.io/ sssd.io] describing how to switch (where it’s really
needed!)
== Feedback ==
So far we received no pushback (and practically no feedback at all)
with regards to previous deprecation notices and removal
announcements.
== Benefit to Fedora ==
Alignment with upstream development that plans to remove corresponding
code completely. Cleaner/simpler OS configuration (/etc/nsswitch.conf
and authselect profiles).
== Scope ==
* Proposal owners:
** SSSD package will be built without `--with-files-provider`
./configure option; document describing usage of 'proxy provider' in
aforementioned cases will be provided;
** authselect
*** New “local” profile to handle local users without SSSD will be
introduced. This profile will be based on “minimal”, but it may gain
more features.
*** “minimal” profile will be removed and replaced by “local”.
*** “Local” profile will be now the default profile
*** ‘sssd’ profile will lose `with-files-domain` and
`with-files-access-provider` options, and will gain `--with-tlog`
option.
* Other developers:
** cockpit session recording: configuration of session recording with
local users was switched to ‘proxy-provider’, change will be made to
execute authselect –with-tlog;
** shadow-utils: package will be built with `--without-sssd`
configuration option set.
* Release engineering: [https://pagure.io/releng/issue/11765 #11765]
(proposed composes definition
[https://pagure.io/fork/atikhonov/fedora-comps/c/7e7a8e23dc884ec65059494d7...
change])
* 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 ==
Since the feature was turned off by default since Fedora 35
([https://fedoraproject.org/wiki/Changes/FlexibleLocalUserCache
FlexibleLocalUserCache]), this change won’t have any noticeable impact
on the vast majority of the user base.<br>
Those who were configuring it explicitly and for a good reason, will
have to update SSSD configuration manually to use ‘proxy provider’
instead of ‘files provider’.
== How To Test ==
General regression testing.
== User Experience ==
N/A
== Dependencies ==
sssd, authselect, cockpit-session-recording, shadow-utils
== Contingency Plan ==
* Contingency mechanism: revert SSSD spec file changes
* Contingency deadline: Fedora 40 beta freeze
* Blocks release? No
== Documentation ==
Release notes only.
== Release Notes ==
Previously deprecated SSSD “files provider” feature that allows
handling of local users was removed. This doesn’t affect default
configuration where local users are handled by glibc module
(‘libnss_files.so.2’) In case of specific configuration that requires
SSSD to handle local users (like, for example, smart card
authentication of local users) switch to ‘proxy provider’ instead.
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
5 months, 4 weeks
Orphaned packages looking for new maintainers
by Miro Hrončok
The following packages are orphaned and will be retired when they
are orphaned for six weeks, unless someone adopts them. If you know for sure
that the package should be retired, please do so now with a proper reason:
https://fedoraproject.org/wiki/How_to_remove_a_package_at_end_of_life
Note: If you received this mail directly you (co)maintain one of the affected
packages or a package that depends on one. Please adopt the affected package or
retire your depending package to avoid broken dependencies, otherwise your
package will fail to install and/or build when the affected package gets retired.
Request package ownership via the *Take* button in he left column on
https://src.fedoraproject.org/rpms/<pkgname>
Full report available at:
https://churchyard.fedorapeople.org/orphans-2023-11-06.txt
grep it for your FAS username and follow the dependency chain.
For human readable dependency chains,
see https://packager-dashboard.fedoraproject.org/
For all orphaned packages,
see https://packager-dashboard.fedoraproject.org/orphan
Package (co)maintainers Status Change
================================================================================
belle-sip orphan, sdgathman 4 weeks ago
clang11 orphan, sergesanspaille 4 weeks ago
clang13 orphan, sergesanspaille 4 weeks ago
darkhttpd cicku, orphan 0 weeks ago
golang-gioui go-sig, orphan 4 weeks ago
golang-sr-rockorager-tcell-term go-sig, orphan 1 weeks ago
golang-storj-common go-sig, orphan 2 weeks ago
lld13 orphan, sergesanspaille 4 weeks ago
llvm12 orphan, petersen, 4 weeks ago
sergesanspaille
llvm13 jistone, orphan, petersen, 4 weeks ago
sergesanspaille
mygnuhealth orphan 1 weeks ago
onboard orphan 0 weeks ago
ortp orphan, sdgathman 4 weeks ago
perl-Fennec orphan 1 weeks ago
perl-Twiggy orphan 5 weeks ago
php-kolab-net-ldap3 orphan 1 weeks ago
php-pear-Date-Holidays orphan 1 weeks ago
php-pear-Date-Holidays-USA orphan 1 weeks ago
php-pear-HTTP-OAuth orphan 1 weeks ago
php-pear-HTTP-Request2 orphan 1 weeks ago
php-pear-Net-DNS2 orphan 1 weeks ago
php-pear-Net-LDAP2 orphan 1 weeks ago
php-pear-Net-URL2 orphan 1 weeks ago
php-pear-Text-Password orphan 1 weeks ago
php-pear-XML-Serializer orphan 1 weeks ago
python-gpiozero orphan, python-packagers-sig 5 weeks ago
python-pyvhacd neuro-sig, orphan 1 weeks ago
python-ratelimiter ankursinha, neuro-sig, orphan 2 weeks ago
rubygem-byebug orphan 0 weeks ago
rubygem-transaction-simple orphan 5 weeks ago
scalacheck orphan 4 weeks ago
sqljet filiperosset, orphan 2 weeks ago
The following packages require above mentioned packages:
Depending on: clang13 (2), status change: 2023-10-03 (4 weeks ago)
zig (maintained by: sentry)
zig-0.9.1-4.fc39.src requires clang13-devel = 13.0.1-4.fc39
zig-0.9.1-4.fc39.x86_64 requires libclang-cpp.so.13()(64bit)
river (maintained by: alebastr)
river-0.2.1-3.fc39.src requires zig = 0.9.1-4.fc39, zig-rpm-macros = 0.9.1-4.fc39
Depending on: golang-gioui (4), status change: 2023-10-05 (4 weeks ago)
golang-github-ajstarks-deck (maintained by: eclipseo, go-sig)
golang-github-ajstarks-deck-0-0.15.20210114git30c9fc6.fc38.src requires
golang(gioui.org/app) = 0-13.20201225git18d4dbf.fc39, golang(gioui.org/io/key)
= 0-13.20201225git18d4dbf.fc39, golang(gioui.org/io/system) =
0-13.20201225git18d4dbf.fc39, golang(gioui.org/op) =
0-13.20201225git18d4dbf.fc39, golang(gioui.org/unit) =
0-13.20201225git18d4dbf.fc39, golang(github.com/ajstarks/svgo) =
0-0.18.20210108git7a3c8b5.fc39, golang(github.com/ajstarks/svgo/float) =
0-0.18.20210108git7a3c8b5.fc39
golang-github-ajstarks-svgo (maintained by: eclipseo, go-sig, jchaloup)
golang-github-ajstarks-svgo-0-0.18.20210108git7a3c8b5.fc39.src requires
golang(github.com/ajstarks/deck/generate) = 0-0.15.20210114git30c9fc6.fc38
golang-github-ajstarks-svgo-personal-devel-0-0.18.20210108git7a3c8b5.fc39.noarch
requires golang(github.com/ajstarks/deck/generate) = 0-0.15.20210114git30c9fc6.fc38
golang-github-aclements-gg (maintained by: alexsaezm, go-sig, jchaloup)
golang-github-aclements-gg-0-0.15.20180422gitabd1f79.fc39.src requires
golang(github.com/ajstarks/svgo) = 0-0.18.20210108git7a3c8b5.fc39
golang-github-aclements-gg-devel-0-0.15.20180422gitabd1f79.fc39.noarch
requires golang(github.com/ajstarks/svgo) = 0-0.18.20210108git7a3c8b5.fc39
golang-x-perf (maintained by: alexsaezm, go-sig, jchaloup)
golang-x-perf-0-0.20.20210123gitbdcc622.fc39.src requires
golang(github.com/aclements/go-gg/generic/slice) =
0-0.15.20180422gitabd1f79.fc39, golang(github.com/aclements/go-gg/ggstat) =
0-0.15.20180422gitabd1f79.fc39, golang(github.com/aclements/go-gg/table) =
0-0.15.20180422gitabd1f79.fc39
golang-x-perf-devel-0-0.20.20210123gitbdcc622.fc39.noarch requires
golang(github.com/aclements/go-gg/generic/slice) =
0-0.15.20180422gitabd1f79.fc39, golang(github.com/aclements/go-gg/ggstat) =
0-0.15.20180422gitabd1f79.fc39, golang(github.com/aclements/go-gg/table) =
0-0.15.20180422gitabd1f79.fc39
Depending on: golang-sr-rockorager-tcell-term (1), status change: 2023-10-24 (1
weeks ago)
aerc (maintained by: eclipseo, go-sig)
aerc-0.15.2-2.fc39.src requires golang(git.sr.ht/~rockorager/tcell-term) =
0.9.0-3.fc39
Depending on: golang-storj-common (1), status change: 2023-10-20 (2 weeks ago)
golang-storj-uplink (maintained by: go-sig, mikelo2)
golang-storj-uplink-1.9.0-2.fc38.src requires golang(storj.io/common/base58)
= 0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/context2) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/encryption) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/errs2) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/fpath) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/grant) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/identity) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/macaroon) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/memory) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/paths) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/pb) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/peertls/tlsopts) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/pkcrypto) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/ranger) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/readcloser) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/rpc) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/rpc/rpcpool) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/rpc/rpcstatus) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/signing) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/socket) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/storj) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/sync2) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/telemetry) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/testrand) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/useragent) =
0-0.8.20220717gite2f0836.fc37, golang(storj.io/common/version) =
0-0.8.20220717gite2f0836.fc37
golang-storj-uplink-devel-1.9.0-2.fc38.noarch requires
golang(storj.io/common/base58) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/context2) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/encryption) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/errs2) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/fpath) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/grant) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/identity) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/macaroon) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/memory) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/paths) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/pb) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/peertls/tlsopts) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/pkcrypto) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/ranger) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/readcloser) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/rpc) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/rpc/rpcpool) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/rpc/rpcstatus) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/signing) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/socket) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/storj) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/sync2) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/telemetry) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/useragent) = 0-0.8.20220717gite2f0836.fc37,
golang(storj.io/common/version) = 0-0.8.20220717gite2f0836.fc37
Depending on: lld13 (2), status change: 2023-10-03 (4 weeks ago)
zig (maintained by: sentry)
zig-0.9.1-4.fc39.src requires lld13-devel = 13.0.1-4.fc39
zig-0.9.1-4.fc39.x86_64 requires liblldCOFF.so.13()(64bit),
liblldELF.so.13()(64bit), liblldWasm.so.13()(64bit)
river (maintained by: alebastr)
river-0.2.1-3.fc39.src requires zig = 0.9.1-4.fc39, zig-rpm-macros = 0.9.1-4.fc39
Depending on: llvm13 (4), status change: 2023-10-03 (4 weeks ago)
clang13 (maintained by: orphan, sergesanspaille)
clang13-13.0.1-4.fc39.src requires llvm13-devel = 13.0.1-5.fc39,
llvm13-static = 13.0.1-5.fc39
clang13-libs-13.0.1-4.fc39.i686 requires libLLVM-13.so, libLLVM-13.so(LLVM_13)
clang13-libs-13.0.1-4.fc39.x86_64 requires libLLVM-13.so()(64bit),
libLLVM-13.so(LLVM_13)(64bit)
lld13 (maintained by: orphan, sergesanspaille)
lld13-13.0.1-4.fc39.src requires llvm13-devel = 13.0.1-5.fc39
lld13-libs-13.0.1-4.fc39.i686 requires libLLVM-13.so, libLLVM-13.so(LLVM_13)
lld13-libs-13.0.1-4.fc39.x86_64 requires libLLVM-13.so()(64bit),
libLLVM-13.so(LLVM_13)(64bit)
zig (maintained by: sentry)
zig-0.9.1-4.fc39.src requires clang13-devel = 13.0.1-4.fc39, lld13-devel =
13.0.1-4.fc39, llvm13-devel = 13.0.1-5.fc39
zig-0.9.1-4.fc39.x86_64 requires libLLVM-13.so()(64bit),
libLLVM-13.so(LLVM_13)(64bit), libclang-cpp.so.13()(64bit),
liblldCOFF.so.13()(64bit), liblldELF.so.13()(64bit), liblldWasm.so.13()(64bit)
river (maintained by: alebastr)
river-0.2.1-3.fc39.src requires zig = 0.9.1-4.fc39, zig-rpm-macros = 0.9.1-4.fc39
Depending on: onboard (13), status change: 2023-10-31 (0 weeks ago)
deepin-dock (maintained by: cheeselee, deepinde-sig, felixonmars, zsun)
deepin-dock-onboard-plugin-5.5.81-1.fc40.x86_64 requires onboard = 1.4.1-34.fc40
deepin-dock-5.5.81-1.fc40.src requires deepin-control-center-devel =
5.5.158-1.fc40
deepin-dock-5.5.81-1.fc40.x86_64 requires deepin-network-core = 1.1.9-1.fc40,
libdccwidgets.so()(64bit)
deepin-control-center (maintained by: cheeselee, deepinde-sig, zsun)
deepin-control-center-5.5.158-1.fc40.src requires deepin-dock-devel =
5.5.81-1.fc40
deepin-control-center-5.5.158-1.fc40.x86_64 requires deepin-daemon =
5.14.44-5.fc40, deepin-network-core = 1.1.9-1.fc40, startdde = 5.10.1-1.fc40
deepin-file-manager (maintained by: cheeselee, deepinde-sig, zsun)
deepin-desktop-5.8.3-1.fc40.x86_64 requires deepin-control-center =
5.5.158-1.fc40, deepin-dock = 5.5.81-1.fc40, deepin-launcher = 5.6.1-1.fc40,
deepin-session-ui = 5.6.2-1.fc40
deepin-file-manager-5.8.3-1.fc40.src requires deepin-dock-devel = 5.5.81-1.fc40
deepin-network-core (maintained by: cheeselee)
deepin-network-core-1.1.9-1.fc40.src requires deepin-control-center-devel =
5.5.158-1.fc40, deepin-dock-devel = 5.5.81-1.fc40, deepin-session-shell-devel =
5.5.93-1.fc40
deepin-network-core-1.1.9-1.fc40.x86_64 requires libdccwidgets.so()(64bit)
deepin-session-ui (maintained by: cheeselee, deepinde-sig, felixonmars, zsun)
deepin-session-ui-5.6.2-1.fc40.src requires pkgconfig(dde-dock) = 4.0
deepin-session-ui-5.6.2-1.fc40.x86_64 requires deepin-daemon =
5.14.44-5.fc40, deepin-session-shell = 5.5.93-1.fc40, startdde = 5.10.1-1.fc40
deepin-system-monitor (maintained by: cheeselee, deepinde-sig, zsun)
deepin-system-monitor-6.0.3-1.fc40.src requires deepin-dock-devel = 5.5.81-1.fc40
deepin-session-shell (maintained by: cheeselee, deepinde-sig)
deepin-session-shell-5.5.93-1.fc40.x86_64 requires deepin-network-core =
1.1.9-1.fc40
deepin-daemon (maintained by: cheeselee, deepinde-sig, go-sig, zsun)
deepin-daemon-5.14.44-5.fc40.x86_64 requires deepin-session-ui = 5.6.2-1.fc40
deepin-draw (maintained by: cheeselee, deepinde-sig, zsun)
deepin-draw-6.0.6-1.fc40.x86_64 requires deepin-notifications = 5.6.2-1.fc40
deepin-editor (maintained by: cheeselee, deepinde-sig, zsun)
deepin-editor-6.0.10-1.fc40.x86_64 requires deepin-notifications = 5.6.2-1.fc40
deepin-calendar (maintained by: cheeselee, deepinde-sig, felixonmars, zsun)
deepin-calendar-5.10.0-1.fc40.x86_64 requires deepin-daemon(x86-64) =
5.14.44-5.fc40
deepin-launcher (maintained by: cheeselee, deepinde-sig, zsun)
deepin-launcher-5.6.1-1.fc40.x86_64 requires deepin-daemon = 5.14.44-5.fc40,
startdde = 5.10.1-1.fc40
startdde (maintained by: cheeselee, deepinde-sig, go-sig, zsun)
startdde-5.10.1-1.fc40.x86_64 requires deepin-daemon = 5.14.44-5.fc40
Depending on: php-pear-Date-Holidays (2), status change: 2023-10-24 (1 weeks ago)
php-pear-Date-Holidays-USA (maintained by: orphan)
php-pear-Date-Holidays-USA-0.1.1-29.fc39.noarch requires
php-pear(Date_Holidays) = 0.21.8
php-pear-Date-Holidays (maintained by: orphan)
php-pear-Date-Holidays-0.21.8-20.fc39.noarch requires
php-pear(Date_Holidays_USA) = 0.1.1
Depending on: php-pear-Date-Holidays-USA (2), status change: 2023-10-24 (1
weeks ago)
php-pear-Date-Holidays (maintained by: orphan)
php-pear-Date-Holidays-0.21.8-20.fc39.noarch requires
php-pear(Date_Holidays_USA) = 0.1.1
php-pear-Date-Holidays-USA (maintained by: orphan)
php-pear-Date-Holidays-USA-0.1.1-29.fc39.noarch requires
php-pear(Date_Holidays) = 0.21.8
Depending on: php-pear-HTTP-Request2 (1), status change: 2023-10-24 (1 weeks ago)
php-pear-HTTP-OAuth (maintained by: orphan)
php-pear-HTTP-OAuth-0.3.2-16.fc39.noarch requires php-pear(HTTP_Request2) = 2.5.1
php-pear-HTTP-OAuth-0.3.2-16.fc39.src requires php-pear(HTTP_Request2) = 2.5.1
Depending on: php-pear-Net-LDAP2 (1), status change: 2023-10-24 (1 weeks ago)
php-kolab-net-ldap3 (maintained by: orphan)
php-kolab-net-ldap3-1.1.4-5.fc39.noarch requires php-pear-Net-LDAP2 =
2.2.0-16.fc39
Depending on: php-pear-Net-URL2 (2), status change: 2023-10-24 (1 weeks ago)
php-pear-HTTP-Request2 (maintained by: orphan)
php-pear-HTTP-Request2-2.5.1-5.fc39.noarch requires php-pear(Net_URL2) = 2.2.1
php-pear-HTTP-OAuth (maintained by: orphan)
php-pear-HTTP-OAuth-0.3.2-16.fc39.noarch requires php-pear(HTTP_Request2) = 2.5.1
php-pear-HTTP-OAuth-0.3.2-16.fc39.src requires php-pear(HTTP_Request2) = 2.5.1
Depending on: php-pear-XML-Serializer (3), status change: 2023-10-24 (1 weeks ago)
php-pear-Date-Holidays (maintained by: orphan)
php-pear-Date-Holidays-0.21.8-20.fc39.noarch requires
php-pear(Date_Holidays_USA) = 0.1.1, php-pear(XML_Serializer) = 0.21.0
php-pear-MDB2-Schema (maintained by: nb)
php-pear-MDB2-Schema-0.8.5-23.fc39.noarch requires php-pear(XML_Serializer) =
0.21.0
php-pear-Date-Holidays-USA (maintained by: orphan)
php-pear-Date-Holidays-USA-0.1.1-29.fc39.noarch requires
php-pear(Date_Holidays) = 0.21.8
Depending on: rubygem-byebug (1), status change: 2023-11-06 (0 weeks ago)
rubygem-pry-byebug (maintained by: stevetraylen)
rubygem-pry-byebug-3.6.0-13.fc39.noarch requires rubygem(byebug) = 11.1.3
Depending on: sqljet (1), status change: 2023-10-20 (2 weeks ago)
svnkit (maintained by: mbooth)
svnkit-1:1.8.12-17.fc39.noarch requires mvn(org.tmatesoft.sqljet:sqljet) =
1.1.10.blocal
svnkit-1:1.8.12-17.fc39.src requires mvn(org.tmatesoft.sqljet:sqljet) =
1.1.10.blocal
See dependency chains of your packages at
https://packager-dashboard.fedoraproject.org/
See all orphaned packages at https://packager-dashboard.fedoraproject.org/orphan
Affected (co)maintainers (either directly or via packages' dependencies):
alebastr: llvm13, clang13, lld13
alexsaezm: golang-gioui
ankursinha: python-ratelimiter
cheeselee: onboard
cicku: darkhttpd
deepinde-sig: onboard
eclipseo: golang-gioui, golang-sr-rockorager-tcell-term
felixonmars: onboard
filiperosset: sqljet
go-sig: golang-gioui, golang-storj-common, golang-sr-rockorager-tcell-term, onboard
jchaloup: golang-gioui
jistone: llvm13
mbooth: sqljet
mikelo2: golang-storj-common
nb: php-pear-XML-Serializer
neuro-sig: python-pyvhacd, python-ratelimiter
petersen: llvm13, llvm12
python-packagers-sig: python-gpiozero
sdgathman: belle-sip, ortp
sentry: llvm13, clang13, lld13
sergesanspaille: llvm12, clang11, clang13, lld13, llvm13
stevetraylen: rubygem-byebug
zsun: onboard
--
The script creating this output is run and developed by Fedora
Release Engineering. Please report issues at its pagure instance:
https://pagure.io/releng/
The sources of this script can be found at:
https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py
Report finished at 2023-11-06 11:27:00 UTC
6 months
F40 Change Proposal: Tuned Replaces Power-profiles-daemon (Self-Contained)
by Aoife Moloney
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.
Wiki: https://fedoraproject.org/wiki/Changes/TunedReplacesPower-profiles-daemon
= Tuned Replaces Power-profiles-daemon =
== Summary ==
Tuned and power-profiles-daemon provide a similar function to set and
tune the power status of a system. However, the power-profiles-daemon
provides limited profiles to configure the power status of a system.
In the meantime, tuned provides many power profiles for different
kinds of use cases and technologies. Both of them have similar
features, if they can be integrated into one, it allows the fedora
user to have more options for power settings of their system and
benefits the users.
In this proposal, we would like to replace power-profiles-daemon with
tuned. As far as we know, tuned already provides power profiles for
different use cases and power-profiles-daemon provides the basic power
profile configuration, such platform_profiles, Intel p-state and AMD
p-state. We expected that the user can set those profile, tuned
provided through gnome-control-panel. To minimize the information to
the user, the power panel would provide a simple and advanced mode to
show the power profiles. If the users want to finetune the system,
they can switch to the advanced mode themselves. The impact scope will
be on the tuned and the power panel since tuned should provide the
basic power setting and API as power-profiles-daemon and the power
panel should be able to show the power profiles that tuned provides.
== Owner ==
* Name: [[User:smallorange| Kate Hsuan]]
* Email: <hpa(a)redhat.com>
== Detailed Description ==
This work would like to replace power-profiles-daemon with tuned.
Since tuned already provides a wide range of power profiles for
different purposes, this allows the user to have more options for
configuring the system power profile.
As far as we know, tuned provide many kinds of advanced and basic
profile for different purposes. Power-profiles-daemon provides the
basic power profiles and the profiles can be set to the system through
platform_profiles, Intel p-state and AMD p-state. That is simple and
clever. However, if the users want to ask for an advanced profile,
they need to install another power utility, such as tuned to finetune
their system. If the power-profiles-daemon can be replaced with tuned.
The users would have a wide range of profiles to finetune the system.
If the tuned would be the major power profile management tool, the
major impact scope will be on gnome-control-center power panel and
tuned itself. Tuned should also provide the new Dbus API to provide
the access point to applications. The other is the
gnome-control-center power panel. An "Advanced profile" dialog should
be made to show advanced profiles to the user. Moreover, the server
users need to get used to another command to switch the profiles.
The work expects the tuned replaces the power-profiles-daemons to
offer a wide range of power profiles to the fedora users. To integrate
them, gnome-control-center power panel needs to add an Advanced
profile dialog to use those advanced features. Tuned also needs to
integrate the original API to ensure compatibility with legacy
applications and provide the basic configuration if the user would
stay in basic profiles.
== Feedback ==
'''From fedora-devel'''
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
1. The dependency concern. Since tuned is written by Python, that
causes a dependency impact on Fedora installation.
2. The power-profiles-daemon API should be ported to tuned to provide
the function to the application that uses power-profiles-daemon API,
such as gnome-shell and gnome-control-center.
'''From the hardware vendor'''
Moreover, we discuss it with vendors through the mail.
1. Since tuned covers several kinds of system tuning schemes that
allow the vendor to implement their power profile for different
devices or workloads. For power-profile-daemon, it only has three
profiles to set and every detail setting should be done through the
firmware level. If tuned can replace power-profiles-daemon, they can
imagine they can develop the profile in a much more flexible manner.
== Benefit to Fedora ==
1. Benefits the user. The user would have more options to tune their system.
2. Benefits the maintainer. Integrate similar software into one
software to reduce the maintenance effort.
== 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)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives:
== Upgrade/compatibility impact ==
Both the tuned and the power panel need to be modified to integrate both.
== How To Test ==
== User Experience ==
1. The workstation user can set the power profile through
gnome-control-center. Moreover, an advanced power profile dialog will
be shown if the users would like to finetune the system.
2. The server users switch the profile through the commandline or
GNOME desktop if it is installed.
== Dependencies ==
1. tuned is written by Python so it depends on python packages and its
40 packages.
== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?) N/A (not a
System Wide Change)
* 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
6 months, 1 week
F40 Change Proposal: Ruby 3.3 (System-Wide)
by Aoife Moloney
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.
Wiki: https://fedoraproject.org/wiki/Changes/Ruby_3.3
= Ruby 3.3 =
== Summary ==
Ruby 3.3 is the latest stable version of Ruby. Many new features and
improvements are included for the increasingly diverse and expanding
demands for Ruby. With this major update from Ruby 3.2 in Fedora 39 to
Ruby 3.3 in Fedora 40, Fedora becomes the superior Ruby development
platform.
== Owner ==
* Name: [[User:vondruch| Vít Ondruch]]
* Email: vondruch(a)redhat.com
* Name: [[User:mtasaka| Mamoru Tasaka]]
* Email: mtasaka(a)fedoraproject.org
== Detailed Description ==
Ruby 3.3 is upstream's new major release of Ruby. Ruby 3.3 adds a new
pure-Ruby JIT compiler named RJIT, uses Lrama as a parser generator,
and many performance improvements especially YJIT.
=== RJIT ===
* Introduced a pure-Ruby JIT compiler RJIT and replaced MJIT.
** RJIT supports only x86_64 architecture on Unix platforms.
** Unlike MJIT, it doesn’t require a C compiler at runtime.
* RJIT exists only for experimental purposes.
** You should keep using YJIT in production.
=== Use Lrama instead of Bison ===
* Replace Bison with Lrama LALR parser generator
=== YJIT ===
* Major performance improvements over 3.2
** Support for splat and rest arguments has been improved.
** Registers are allocated for stack operations of the virtual machine.
** More calls with optional arguments are compiled.
** Exception handlers are also compiled.
** Instance variables no longer exit to the interpreter with
megamorphic Object Shapes.
** Unsupported call types no longer exit to the interpreter.
** `Integer#!=`, `String#!=`, `Kernel#block_given?`, `Kernel#is_a?`,
`Kernel#instance_of?`, `Module#===` are specially optimized.
** Now more than 3x faster than the interpreter on optcarrot!
* Metadata for compiled code uses a lot less memory.
* Generate more compact code on ARM64
* Option to start YJIT in paused mode and then later enable it manually
** `--yjit-pause` and `RubyVM::YJIT.resume`
** This can be used to enable YJIT only once your application is done booting
* `ratio_in_yjit` stat produced by `--yjit-stats` is now available in
release builds, a special stats or dev build is no longer required.
* Exit tracing option now supports sampling
** `--trace-exits-sample-rate=N`
* More thorough testing and multiple bug fixes
=== Other notable changes since 3.2 ===
* Performance improvements
** `defined?(@ivar)` is optimized with Object Shapes.
* IRB has received several enhancements, including but not limited to:
** Advanced `irb:rdbg` integration that provides an equivalent
debugging experience to `pry-byebug`.
** Pager support for commands like `ls` and `show_cmds`.
** More accurate and helpful information provided by the `ls` and
`show_source` commands.
* ext/readline is retired
** Replaced by `reline` that is pure Ruby implementation compatible
with `ext/readline` API.
* RubyGems and Bundler warn if users require gem that is scheduled to
become the bundled gems in the future version of Ruby.
== Feedback ==
== Benefit to Fedora ==
With a latest release, Ruby language is supporting the newest language
features, which enables even faster and easier development of Ruby
applications.
== Scope ==
* Proposal owners:
** Finish packaging of Ruby 3.3. Current changes available in PR
https://src.fedoraproject.org/rpms/ruby/pull-request/159
** Rebuilding of Ruby packages providing native extensions (i.e.
packages which depends on libruby).
* Other developers:
** Rebuild of packages with binary extensions (i.e. packages which
depends on libruby) will be handled automatically, but some packages
might need fixes/updates to support Ruby 3.3 properly.
* Release engineering: [https://pagure.io/releng/issue/11753 #11753] <
** The packages are going to be rebuild in side-tag, but that does not
need releng involvement nowadays.
* 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 ==
* User specific Ruby binary extensions need to be rebuild.
* Ruby packages/application dependencies might need to be adjusted if
newly bundled gems are used.
== How To Test ==
* No special hardware is needed.
* To test, install Ruby 3.3. The test builds are published in PR or on
Ruby-SIG ML
* Try to locally rebuild your packages using Ruby 3.3.
* Use the packages with your applications previously written in Ruby.
* If something doesn't work as it should, let us know.
== User Experience ==
The Ruby programs/scripts should behave as they were used to.
== Dependencies ==
<pre>
$ dnf repoquery --disablerepo=* --enablerepo=rawhide
--enablerepo=rawhide-source --arch=src --whatrequires 'ruby-devel' |
sort | uniq | wc -l
134
</pre>
== Contingency Plan ==
* Contingency mechanism: We would like to get a special buildroot tag
to be able to rebuild necessary the packages with Ruby 3.3. If
anything goes wrong, the tag could be easily dropped and previous
version of Ruby 3.2 and its dependencies stays intact. The tag would
be merged into F40 after everything is rebuild.
* Contingency deadline: Mass Rebuild
* Blocks release? No
== Documentation ==
* [http://www.ruby-doc.org/ Help and documentation for the Ruby
programming language]
* [https://github.com/ruby/ruby/blob/master/NEWS.md Ruby 3.3.0 NEWS]
* [https://www.ruby-lang.org/en/news/2023/09/14/ruby-3-3-0-preview2-released/
Ruby 3.3.0-preview2 release announcement]
== Release Notes ==
* The Ruby 3.3 bumps soname, therefore Ruby packages, which use binary
extensions, should be rebuilt. Nevertheless, since upstream paid great
attention to source compatibility, no changes to your code are needed.
https://github.com/ruby/ruby/blob/master/NEWS.md
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
6 months, 1 week
F40 Change Proposal: DNFConditionalFilelists (System-Wide)
by Aoife Moloney
= DNF: Do not download filelists by default =
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.
Wiki: https://fedoraproject.org/wiki/Changes/DNFConditionalFilelists
== Summary ==
Change the DNF behavior to not download filelists by default. These
metadata, which describe all the files contained within each package,
are unnecessary in the majority of use cases. Additionally, these
metadata files can be large in size, leading to a significant slowdown
in the user experience.
== Owner ==
* Name: [[User:jkolarik| Jan Kolarik]]
* Email: jkolarik(a)redhat.com
== Detailed Description ==
Until now, filelists were always downloaded together with other
metadata. This was hardcoded and unable to change from the outside of
DNF.
With these changes, we are proposing to not download the filelists
metadata by default. This default behavior can be modified through the
new DNF configuration option. Additionally, specific commands can
override this behavior and request loading the filelists metadata at
runtime using the existing demands object in DNF.
Note that after this change, users can still use DNF without filelists
metadata when querying file provides located in `/usr/bin`,
`/usr/sbin` or `/etc` directories.
== Feedback ==
== Benefit to Fedora ==
As DNF is integral to various infrastructure tasks like package
building and installation, testing environment creation, and server
integration tests, this change significantly reduces processing time
and resource usage for these processes.
This change reduces the RAM requirements of the DNF process,
addressing existing issues when running the Fedora system on
low-memory machines such as the Raspberry Pi (see f.e.
[https://bugzilla.redhat.com/show_bug.cgi?id=1907030 Bug 1907030]).
Also, omitting the filelists metadata download overall decreases the
costs of a Fedora mirror server operation.
== Scope ==
* Proposal owners:
** libdnf
*** Modify the `Repo` object to enable conditional filelists metadata download
*** Introduce a new main configuration option to set the default behavior
** dnf
*** Enable configuration of filelists download from commandline, DNF
commands and DNF plugins
*** Implement filename pattern argument detection heuristics
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** Dependencies using the existing DNF C interface may need to adapt
if they expect the filelists metadata to be available and explicitly
request loading filelists using the existing API due to this change:
*** PackageKit
*** microdnf
*** API users
* Release engineering: N/A
* Policies and guidelines:
** Package maintainers must follow Fedora's packaging guidelines,
particularly concerning file dependency specifications (see
[https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_dire...
here])
* Trademark approval: N/A
* Alignment with Community Initiatives: N/A (no currently active initiatives)
== Upgrade/compatibility impact ==
In general, applying these changes should not affect any existing user
workflows and no additional manual changes are required. However, the
absence of filelists might create an issue with packages that are not
correctly packaged or originate from third-party repositories. In the
current Fedora release repository, there are only a few such packages,
see the [https://bugzilla.redhat.com/show_bug.cgi?id=2180842#c8
comment] in [https://bugzilla.redhat.com/show_bug.cgi?id=2180842 Bug
2180842].
== How To Test ==
When using DNF commands without a filename pattern passed as the
argument, filelists metadata should not be downloaded from the remote
repositories and should not be needed for the command execution. This
can be tested with the following steps:
* Clean the local metadata cache (`dnf clean metadata`)
* Run a DNF command not involving the filename spec (e.g. `dnf repoquery rpm`)
* Verify that no `*-filelists.*` metadata files were downloaded inside
the cache subdirectories (by default under the `/var/cache/dnf` for
root)
* Check the command works as expected
The same should also apply to RPM package arguments (files ending with
`.rpm` extension).
When using DNF commands with a filename pattern passed as the
argument, filelists metadata should be downloaded from the remote
repositores as before.
== User Experience ==
Large filelists could be over 200MB in size. It could take 1-2 minutes
to download which is greatly slowing down the user experience.
For many operations the filelists metadata are not needed, so
downloading them is wasting the resources. Without filelists being
downloaded, DNF performance will be improved significantly, mainly
regarding the network, CPU and disk space resources. Metadata download
size will be reduced by about 60%. The improvement includes
deployments of customer built RPMS to containers that have no need for
filelists level dependencies.
== Dependencies ==
No changes should be required for any package depending on DNF to
implement this behavior.
== Contingency Plan ==
* Contingency mechanism: Change the configuration option to download
the filelists by default
* Contingency deadline: Branch Fedora Linux 40 from Rawhide
* Blocks release? No
== Documentation ==
Links to the relevant DNF CLI and API documentation sections will be
provided here once the related pull request is created.
== Release Notes ==
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
6 months, 1 week