Urpmi Development
From Mandriva Community Wiki
(Redirected from Tools/urpmi/Development)
This is a page to document and discuss future urpmi development.
- Tools/urpmi/Development/Synthesis - description of the synthesis hdlist format
Contents |
What to do
New functions
- Allow to force reinstall of an already installed package. (how to conveniently get the list of all incomplete / corrupted packages on the system ?) (bug #16112)
- Allow urpme to remove bundles, i.e. metapackages. More precisely, when urpme sees that it's being asked to remove an empty package with dependencies, it will assume it's a meta-package and will try to remove as many dependencies as possible without breaking "outside" packages, for some value of outside that we should define algorithmically.
- Support for new RPM tag Requires(hint) (Suggests and Enhances).
- Allow virtual sources multiplexing several urls. NB. Due to shifts in synchronization between mirrors, this might be extremely tricky to implement, and turn out to be completely unusable.
- Not sure if same, but support for Metalinks would be great, like aria2 supports this as well as segmented downloading which would help with slow mirrors
- Choose mirrors automatically based on location with geoip, in combination with metalinks this would remove any need of choosing protocol, mirror etc.
- urpmi should list all .rpmnew and .rpmsave files rpm has created at the end of the installation.
- When downloading rpms from remote media it would be nice to install packages while downloading as it can take quite some time to download all packages
Developments on the internals
- urpm's way of dealing with exceptions and the way to use eval{} blocks to catch them is currently convoluted. It prevents discriminating between "normal" errors and fatal errors (e.g. ENOSPC or "network down"). Define exception classes and use them consistently.
- Automated regression tests would be nice to have (also for the URPM module.)
- inst.list is obsolete. Deprecate it.
Command-line media handling
- Should we replace urpmi.addmedia and urpmi.removemedia by a more flexible and generic urpmi.media? There are backward compatibility issues.
- Several operations on medias cannot be done from the command-line (add/remove the "update" flag, set default medias).
Graphical Interfaces
- More options should be configurable from rpmdrake or from the software media manager: optional key verification of rpms, probe synthesis or hdlist, limit download rate, skip.list, display changelog first.
- Have a "yes to all" button for long and boring series of questions
- The software media manager should display the urls of the media and/or their type in the main window
- The software media manager should be callable from rpmdrake (replacing the "update media" button.)
- (handwaving ahead) the interface of the rpmdrake suite of tools is both too complex and too simple, and needs another pass. In short, it needs to DWIM a bit more, taking more decisions (a bit like urpmi --auto) instead of annoying the user with endless questions and popups. The interface could also be enhanced by simplifying the main windows, deporting some of the items in a menu, and adding a configuration window for "advanced" settings.
- The packages blocked by skip.list should appear in rpmdrake (in update mode), but with a lock icon (unselectable for upgrade).
- rpmdrake should be made faster. Profile it. Don't reload the package list everytime. Load it in the background when possible.

