tag 868892 + patch thanks On Wed, 19 Jul 2017, Greg Wooledge wrote: > I ran "sudo tasksel", and was given the dialog, without any "Standard" > task to choose. So be it. I reported that to the user. > > But then there was no obvious way for me to escape from tasksel. There > is no Cancel button -- just an OK button. Ctrl-C did not work.
The (proposed) attached patch seems to fix this issue in "standalone" mode. However, it needs to be tested when tasksel is run from d-i to ensure it doesn't regress anything. I have only tested it in "standalone" mode. Note: when testing it standalone, use "tasksel -t" to avoid changes to an installed system. > So I did what seemed obvious at the time -- I unselected all the tasks > (only one had been selected; I think it was ssh server), and then > selected OK. > > Instead of just letting me out, it started deleting packages. It happened > extremely quickly (on this computer), with no prompt, no warning of > any kind. Ctrl-C still did not work. When tasksel finally exited on > its own, there was a long string of ^C^C^C^C^C^C^C... on the terminal. Yeah. The attached patch does not address either the blocking of SIGINT and SIGQUIT, nor does it address the lack of a "confirm action" dialog before tasksel will do its thing. But with the patch, at least there is now an "exit" button when it is run in standalone mode... -- Henrique Holschuh
diff -Nru tasksel-3.39/debian/changelog tasksel-3.39+nmu1/debian/changelog --- tasksel-3.39/debian/changelog 2016-12-24 10:46:53.000000000 -0200 +++ tasksel-3.39+nmu1/debian/changelog 2017-07-19 12:57:07.000000000 -0300 @@ -1,3 +1,12 @@ +tasksel (3.39+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Provide an exit path to tasksel, this partially fixes #868892 by using + the debconf "backup" capability to add an exit path to the multiselect + dialog. + + -- Henrique de Moraes Holschuh <h...@debian.org> Wed, 19 Jul 2017 12:57:07 -0300 + tasksel (3.39) unstable; urgency=medium * Mention proper locations of *.desc files in tasksel's manpage, based diff -Nru tasksel-3.39/tasksel-debconf tasksel-3.39+nmu1/tasksel-debconf --- tasksel-3.39/tasksel-debconf 2014-08-02 10:55:47.000000000 -0300 +++ tasksel-3.39+nmu1/tasksel-debconf 2017-07-19 12:57:07.000000000 -0300 @@ -2,6 +2,8 @@ # because debconf sucks . /usr/share/debconf/confmodule set -e +# provide an exit path, and abort if none is possible +db_capb backup tmpfile=$1 choices="$2"