Interesting.
I can confirm that if I close the terminal where apt-listchanges is
waiting for a prompt, aptitude proceeds to start installing packages.
But this doesn't happen if I send EOF manually (by typing ^D) so
something is happening that involves the terminal. Also, even though
apt-listchanges terminates successfully, it doesn't update its list of
"seen" packages, which would appear to indicate that it hasn't actually
succeeded. So it didn't succeed, yet it exited successfully.
The same thing happens with apt-get, so we can discount the aptitude
layer.
Ah, I bet this may be it? At apt-listchanges:193 we find:
if news or changes:
if config.confirm:
ans = frontend.confirm()
if not ans:
sys.stderr.write(_('Aborting')+'.\n')
sys.exit(10)
elif ans < 0:
sys.stderr.write(_("Confirmation failed, don't save seen
state")+'.\n')
sys.exit(0)
Note that it exits *successfully* if frontend.confirm() returns a
negative value, which is the result if confirm() gets an IOError from
open('/dev/tty', 'r+'). But open() happens before the prompt is written,
so it shouldn't be kicking in. It seems to me that listchanges must be
taking that codepath, but I don't see how.
Daniel
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]