Bug#293008: Sarge Installation Report: succes, but strange tasksel behavior
On Wed, Feb 09, 2005 at 05:03:38PM +0100, Frans Pop wrote:
> reassign 293008 tasksel
> severity 293008 minor
> retitle 293008 Should stop processing tasks if user breaks off task removal
> thanks
...
> It appears that first apt(itude) is called to remove the E-mail-server
> task. It shows the packages to be deleted for the E-mail-server task and
> asks if I want to proceed. I choose 'n' and confirm with <enter>.
> Apt(itude) does what I ask, and breaks off: nothing is deleted.
Thanks for clearing this out :-)
Now that I understand better how this works, I feel this behavior
is confusing to less experienced users (that we are also adressing
with the new installer).
I am confused by the feature that tasksel is designed to also
_remove_ tasks (beyond simple resolution of conflicting tasks). I assume
this means that tasksel has some database of selected and deselected tasks.
IMO, this results in a difficult to understand interference between
the apt/dpkg database(s) and the tasksel database. I have seen cases
where running "tasksel" to _install_ the fileserver package triggered
the removal of 100 KDE packages. That is not what I intended when I
used tasksel to _install_ the file server packages. I assume that
happened because I had installed the x-server and desktops stuff
"by hand" with apt-get install x-server etc. and tasksel was not aware.
The behavior that would be much easier for me to understand is:
* tasksel is "stateless" and only triggers "apt-get install ..."
(with no '-' packages)
* there is a clever "{apt-get|aptitude|tasksel} remove --recursive"
command that removes a "top-level" package and all packages for
which the "external usage count" outside the tree of packages
that support this "top-level" package is zero.
[this is _not_ a feature where some program _remembers_ which
packages are installed by dependency. Again, such an approach
adds state info that is difficult to understand for me as a
less experienced user. My proposal is to execute the calculation
of "external usage count" at the moment itself, depending
only on the apt-get/dpkg package database.]
I believe this is important, because "tasksel", as part of the debian
installer, is the front-end that will install 90% (in volume) of the
software on thousands of computers of less experienced users. If these
users continue to use tasksel after the initial install, it is
important that the behavior is easy to understand and also the
"install" and "remove" modes are clearly marked.
Otherwise, I am afraid that many less experienced users (like me) will
be unpleasantly surprised that "installing" a file server, removes half
of their workstation programs, if that workstation install did not initially
occur through tasksel.
Does this make sense, or did I miss the point entirely ? Does this
functionality (of separated "task install" and "recursive remove")
exist in other programs ? I did not immediately find it in apt-get and
aptitude.
HTH,
Peter
Reply to: