From 765f5b91e9e3b39f21fd07da1c77192d2d03a536 Mon Sep 17 00:00:00 2001 From: Johannes 'josch' Schauer Date: Mon, 14 Jan 2019 22:23:02 +0100 Subject: [PATCH] call apt with Dpkg::Use-Pty=false to enable immediate termination upon SIGINT and prevent it from messing up the terminal with tcsetattr() --- mmdebstrap | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mmdebstrap b/mmdebstrap index 2d06f5f..3822b88 100755 --- a/mmdebstrap +++ b/mmdebstrap @@ -570,7 +570,15 @@ sub run_apt_progress { my @debs = @{$options->{PKGS} // []}; my $verbose = $options->{VERBOSE} // 0; my $get_exec = sub { - return @{$options->{ARGV}}, "-oAPT::Status-Fd=$_[0]", @debs; }; + return ( + @{$options->{ARGV}}, + "-oAPT::Status-Fd=$_[0]", + # prevent apt from messing up the terminal and allow dpkg to + # receive SIGINT and quit immediately without waiting for + # maintainer script to finish + '-oDpkg::Use-Pty=false', + @debs + )}; my $line_has_error = sub { # apt-get doesn't report a non-zero exit if the update failed. Thus, we # have to parse its output. See #778357, #776152, #696335 and #745735