F41 Change Proposal: Switch to DNF5 (system-wide)

2024-04-03 Thread Aoife Moloney
Wiki - https://fedoraproject.org/wiki/Changes/SwitchToDnf5

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 ==
Change the default package manager from dnf to dnf5.

== Owner ==
* Name: [[User:jkolarik| Jan Kolarik]]
* Email: jkola...@redhat.com

* Name: [[User:jmracek| Jaroslav Mracek]]
* Email: jmra...@redhat.com


== Detailed Description ==
This proposal will implement several topics, which are outlined below.

=== Provider of the dnf command ===
This change proposes to switch the current provider of the
/usr/bin/dnf symlink from dnf to dnf5. Currently, the symlink target
is /usr/bin/dnf-3, provided by the dnf sub-package, python3-dnf. Upon
implementation of this change, the symlink will point to
/usr/bin/dnf5, provided by the dnf5 package.

=== Prepare the upgrade path ===
The dnf5 package, serving as the new provider of the /usr/bin/dnf
symlink, will obsolete the dnf package starting with Fedora 41. Upon
the release of this dnf5 package, upgrading the system or installing
dnf5 will replace the existing dnf package on the system.
Additionally, the dnf5 package will provide a /usr/bin/yum symlink for
backwards compatibility and the dnf-automatic command will be
obsoleted.

=== Feature parity with dnf ===
We aim to cover the majority of use cases available in the existing
dnf package. However, there are some features that may not be
implemented in time. Nevertheless, we plan to deliver them at a later
stage.

 Plugins 
The progress of implementing plugins to match the current set from the
dnf-plugins-core package is tracked
[https://github.com/rpm-software-management/dnf5/issues/389 upstream].
Among the missing plugins, we still plan to implement:

* debuginfo-install plugin
* reposync plugin

 Modularity 
As support for modularity was retired in Fedora 39, dnf5 currently
only implements a basic feature set for listing and enabling/disabling
modules.

=== Background service support ===
A new daemonized service, dnf5daemon, utilizing the D-Bus interface,
is prepared for clients as a sub-package. This will serve as an
alternative or replacement for the PackageKit layer. Integration of
dnf5daemon support into the default Fedora user interface, GNOME
Software, is currently in progress

=== Documentation of API changes ===
The public interface has undergone significant changes to enhance the
user experience and remove unused and obsolete code components. To
facilitate user migration to the new CLI and API interfaces, a
[https://dnf5.readthedocs.io/en/latest/changes.html guide] was
prepared covering all differences compared to the interface provided
by the existing dnf package, along with examples of typical use cases.

=== Deployment tasks ===
During the deployment of the dnf5 package manager as the new default,
several adjustments need to be made both to the infrastructure and the
dnf5 package itself. Some of these adjustments are detailed [[#Release
engineering|below]]. To ensure synchronization and address all
necessary changes, we've established an upstream tracking
[https://github.com/rpm-software-management/dnf5/issues/1057 issue].

== Feedback ==
As this is the second iteration of such a proposal, we've gathered a
lot of feedback from various sources during the first attempt to
accept this change.

=== FESCo inputs ===
A [https://pagure.io/fesco/issue/3039 ticket] discussing the reasons
why the contingency mechanism was invoked for the first attempt of the
proposal was opened by FESCo. It includes a list of items that are
either incomplete or in progress.

Below is a list of issues from the ticket that are still unresolved or
require clarification on their current status. Other items not
mentioned below are considered completed.

 Switch in ELN 
This should not block the proposal, as the current plan is to target
RHEL 11. Integration can occur there after the proposal is implemented
for Fedora 41.

 Aligning configuration with the current state in dnf 
All overrides to match the current state of dnf configuration will be
provided to the Fedora release project, see [[#Apply downstream
configuration overrides|below]].

 System upgrade and offline transactions 
The implementation work has been completed and is already present
upstream. We anticipate extensive testing during the summer, and we
also plan to organize testing days for this purpose.

 Dropping the Snapper plugin 
In dnf5, we've adopted a new approach for implementing functionality
that was previously handled by the Snapper plugin in dnf.

We're introducing the Actions plugin, which offers more capabilities
than the Snapper plugin, including support for running external
applications before or after transactions and interacting with the
dnf5 

Orphaned packages looking for new maintainers

2024-04-03 Thread Maxwell G
Report started at 2024-04-02 16:05:20 UTC

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 be retired when the affected package gets retired.

Request package ownership via the *Take* button in the left column on
https://src.fedoraproject.org/rpms/

Full report available at:
https://a.gtmx.me/orphans/orphans.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

botan orphan   1 weeks ago  
container-workflow-tool   orphan   1 weeks ago  
emacs-htmlize orphan   1 weeks ago  
kio-upnp-ms   jgrulich, orphan 3 weeks ago  
ktp-contact-runner@kde-sig, orphan, rdieter3 weeks ago  
liquidshell   orphan   5 weeks ago  
loudgain  orphan   3 weeks ago  
mrxvt orphan   3 weeks ago  
nextcloud ichavero, orphan 1 weeks ago  
perl-Git-PurePerl iarnell, orphan  6 weeks ago  
perl-Net-GitHub   jplesnik, lkundrak, orphan,  6 weeks ago  
  ppisar
perl-Spreadsheet-ParseExcel-  jplesnik, orphan, ppisar 6 weeks ago  
Simple  
perl-Spreadsheet-WriteExcel-  jplesnik, orphan, ppisar 6 weeks ago  
Simple  
perl-String-Diff  iarnell, orphan  6 weeks ago  
perl-WWW-Google-Contacts  orphan   3 weeks ago  
php-aws-sdk3  orphan   1 weeks ago  
php-bantu-ini-get-wrapper adamwill, orphan 1 weeks ago  
php-christophwurst-id3parser  orphan   1 weeks ago  
php-deepdiver-zipstreamer orphan   1 weeks ago  
php-doctrine-dbal orphan, remi 1 weeks ago  
php-fgrosse-phpasn1   orphan   1 weeks ago  
php-giggsey-localeorphan   1 weeks ago  
php-guzzlehttp-guzzle6orphan   1 weeks ago  
php-league-uri-interfaces orphan   1 weeks ago  
php-opencloud-openstack   orphan   1 weeks ago  
php-opis-closure  orphan, remi 1 weeks ago  
php-phpSmug   orphan   5 weeks ago  
php-pimpleorphan   1 weeks ago  
php-punic orphan   1 weeks ago  
php-ralouphie-getallheaders   orphan   1 weeks ago  
php-scssphp   orphan   1 weeks ago  
php-stecman-symfony-console-  orphan   1 weeks ago  
completion  
python-aiomqttorphan   4 weeks ago  
python-autoprop   orphan   4 weeks ago  
python-colorcet   orphan   4 weeks ago  
python-extractcode@python-packagers-sig, orphan3 weeks ago  
python-jose   orphan   0 weeks ago  
python-limits orphan   3 weeks ago  
python-param  orphan   4 weeks ago  
python-pyct   orphan   4 weeks ago  
python-signature-dispatch orphan   4 weeks ago  
python-vecrec orphan   4 weeks ago  
telepathy-logger-qt   @kde-sig, jgrulich, orphan   3