diff --git a/software/apt-lib.pl b/software/apt-lib.pl index ab60271ba..da99aea1a 100644 --- a/software/apt-lib.pl +++ b/software/apt-lib.pl @@ -18,7 +18,13 @@ print "",&text('apt_install', "$cmd"),"

\n"; print "

";
 $update = join(" ", map { quotemeta($_) } split(/\s+/, $update));
 &additional_log('exec', undef, $cmd);
-&open_execute_command(CMD, "yes Yes | $cmd 2>&1", 1);
+local $yesfile = &transname();
+&open_tempfile(YESFILE, ">$yesfile", 0, 1);
+foreach (0..100) {
+	&print_tempfile(YESFILE, "Yes\n");
+	}
+&close_tempfile(YESFILE);
+&open_execute_command(CMD, "$cmd 2>&1 <$yesfile", 1);
 while() {
 	if (/setting\s+up\s+(\S+)/i && !/as\s+MDA/i) {
 		push(@rv, $1);
diff --git a/software/debian-lib.pl b/software/debian-lib.pl
index 1c7948d35..466b30735 100644
--- a/software/debian-lib.pl
+++ b/software/debian-lib.pl
@@ -10,7 +10,7 @@ local $arg = @_ ? join(" ", map { quotemeta($_) } @_) : "";
 &open_execute_command(PKGINFO, "COLUMNS=200 dpkg --list $arg", 1, 1);
 while() {
 	next if (/^\|/ || /^\+/);
-	if (/^[ri]i..(\S+)\s+(\S+)\s+(.*)/) {
+	if (/^[uirph]i..(\S+)\s+(\S+)\s+(.*)/) {
 		$packages{$i,'name'} = $1;
 		$packages{$i,'class'} = &alphabet_name($1);
 		$packages{$i,'version'} = $2;