From Fedora Project Wiki
(during)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Anaconda DNF wishlist =
= Anaconda DNF wishlist =
This is a list of features that Anaconda developers would like have in DNF, based on experience with YUM.
This is a list of various features that Anaconda developers would like have in DNF, based mainly on experience with YUM.


== clearly defined API ==
== clearly defined & documented API ==
This one seems to be already handled, as properly defined & documented API is one of DNF design goals.
This one seems to be already handled, as properly defined & documented API is one of DNF design goals.


Line 12: Line 12:


== progress hooks ==
== progress hooks ==
Anaconda needs to be able to report the progress of long-running tasks so that the user knows what's going on. Therefore all long-running tasks should have some sort of a progress hook that Anaconda can use to periodically show current progress to the user.


== clean source switching ==
== clean source switching ==
There have been some issues with YUM keeping hold of a local ISO-based installation source even when told to use another one. This makes it sometimes impossible to cleanly switch between installation sources, as there could be active file descriptors keeping us from unmounting the ISO/the device holding it once we switched away from it.


== memory usage ==
== memory usage ==
YUM significantly contributes to memory usage, so any reduction would be appreciated. Maybe even some alternative mode that takes longer but uses less RAM, that Anaconda could use on memory starved systems?


== package download retry support ==
DNF should be able to retry failed package downloads so that users net-installing over a flacky connections can still finish the installation even if one of the 1000+ packages during a normal Fedora install fails to download on the first try.
== parallel package download ==
This could speed up package download - not sure how far YUM & DNF are with supporting this.
parallel download + installation is not implemented in DNF [https://bugzilla.redhat.com/show_bug.cgi?id=1032541 1032541]
== repository setup progress hook ==
As repository update can take quite some time, it would be nice if DNF could provide a progress callback. Like this, users with slow Internet connectivity would be able to see how far the repository update is at the moment.
Not sure in what form the progress could be - repos processed/total or repo data downloaded/total repo data needed?
Related bug report:
[https://bugzilla.redhat.com/show_bug.cgi?id=1048344 1048344]
= Anaconda DNF wishlist for Fedora 22 =
This is a Fedora 22 specific wishlishlist/tracker/todo list for missing functionality discovered after switching to DNF by default.
== Upstream DNF changes needed ==
=== No lang --addsupport ===
Waiting on dnf-langpacks to support having a config file.
== Anaconda DNF payload changes needed ==
=== Issues with kickstart package and group selection ===
=== Repos are missing --cost, --excludepkgs, --includepkgs, --proxy, --ignoregroups ===
=== Repo files written with --install are missing most of that but do have a proxy (URL only) and cost ===
=== No %packages --multilib ===
Clumens is working on that but it appears to be more difficult than expected.
=== mirrorEnabled always returns true ===
This seems pretty minor after all of the other stuff.


[[Category:Anaconda]]
[[Category:Anaconda]]

Latest revision as of 00:19, 8 August 2018

Anaconda DNF wishlist

This is a list of various features that Anaconda developers would like have in DNF, based mainly on experience with YUM.

clearly defined & documented API

This one seems to be already handled, as properly defined & documented API is one of DNF design goals.

threadsafe interface

The DNF API should be either threadsafe or it should be documented which parts of the interface are threadsafe and which aren't.

no side effect when reading read-only properties

YUM is notoriously known for RO properties that can change YUMs internal state when read. From a brief discussion with Aleš, RO properties in DNF shouldn't have side effects.

progress hooks

Anaconda needs to be able to report the progress of long-running tasks so that the user knows what's going on. Therefore all long-running tasks should have some sort of a progress hook that Anaconda can use to periodically show current progress to the user.

clean source switching

There have been some issues with YUM keeping hold of a local ISO-based installation source even when told to use another one. This makes it sometimes impossible to cleanly switch between installation sources, as there could be active file descriptors keeping us from unmounting the ISO/the device holding it once we switched away from it.

memory usage

YUM significantly contributes to memory usage, so any reduction would be appreciated. Maybe even some alternative mode that takes longer but uses less RAM, that Anaconda could use on memory starved systems?

package download retry support

DNF should be able to retry failed package downloads so that users net-installing over a flacky connections can still finish the installation even if one of the 1000+ packages during a normal Fedora install fails to download on the first try.

parallel package download

This could speed up package download - not sure how far YUM & DNF are with supporting this. parallel download + installation is not implemented in DNF 1032541

repository setup progress hook

As repository update can take quite some time, it would be nice if DNF could provide a progress callback. Like this, users with slow Internet connectivity would be able to see how far the repository update is at the moment.

Not sure in what form the progress could be - repos processed/total or repo data downloaded/total repo data needed?

Related bug report:

1048344


Anaconda DNF wishlist for Fedora 22

This is a Fedora 22 specific wishlishlist/tracker/todo list for missing functionality discovered after switching to DNF by default.

Upstream DNF changes needed

No lang --addsupport

Waiting on dnf-langpacks to support having a config file.

Anaconda DNF payload changes needed

Issues with kickstart package and group selection

Repos are missing --cost, --excludepkgs, --includepkgs, --proxy, --ignoregroups

Repo files written with --install are missing most of that but do have a proxy (URL only) and cost

No %packages --multilib

Clumens is working on that but it appears to be more difficult than expected.

mirrorEnabled always returns true

This seems pretty minor after all of the other stuff.