[packagekit] RFC - easy install/remove

David Timms dtimms at iinet.net.au
Mon Nov 17 12:53:28 PST 2008


Peter Nash wrote:
>>> And it is also a "best effort" operation and not a predictable
>>> operation.
>> in ZYpp, since we got package history support, and we record if the
>>  package comes from a user or solver decision, it may be possible
>> to handcraft some algorithms that given the package state plus this
>> history can figure out what software may be proposed for removal.

> So, you mean that in theory it could be done... user could have an
> easy way to revert the 1-click install operation?
While there are times when it could work consider this example:
- install dvbcut {requires ffmpeg and mplayer amongst others}; installs 
dvbcut + ffmpeg (libs) + mplayer (media player that is used to play back 
content within the dvbcut window).

- uses dvbcut; it works, it's nice etc.

- since mplayer got installed, user now has an icon for mplayer in the menu

- starts using mplayer - standalone, likes it but didn't really notice 
the reason why the mplayer icon exists

- decides to remove dvbcut since he isn't using it anymore.

Can you think of a way in which the package manager can just know that 
it should _not_ remove mplayer (since the user is still actively using it} ?

There are other cases where optional packages (O) don't get forcibly 
installed by a package (P), yet if the (O) is available, then P has 
expanded functionality. Sometimes this is done to ensure that nonfree/or 
non-distributable software that a distribution won't package can still 
be made available by external software repositories -eg mp3 playback.

In that case if a package (Q) caused installation of O, then we can see 
that O is still available to the rest of the install (as long as it 
remains installed)...

At best I think that the package manager would need to display:
- package dvbcut removal has been requested.
- the following packages where installed as requirements of dvbcut as 
dvbcut was being installed (eg by yum log inspection or rpm inspection 
of install datetime, along with Requires, and not needed by any other 
package):
   - mplayer: a media playback application
   - ffmpeg: media encoding and decoding libraries (note also that since 
mplayer requires ffmpeg, it might not be reasonable to give this library 
as an option - until mplayer has been set for removal).

- please un-check the box for each requirement that you would also like 
removed.

As you can see, it starts to get messy pretty quickly... it would be 
pretty ugly to normal users to understand and usefully answer the question.

DaveT.



More information about the PackageKit mailing list