X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=debian%2Fapthook%2Fpve-apt-hook;fp=debian%2Fapthook%2Fpve-apt-hook;h=1f77a1aeb694714f3bd317ccdd32c1df3089c0eb;hb=58490c5ba5f0adeb9c9ffe4131d36839d2debcb4;hp=0ec017d1493ea243681ddee1b3e06f23d99844ef;hpb=5e3606fc4ad3cde755ab75c20ac83900641e0e42;p=proxmox-ve.git diff --git a/debian/apthook/pve-apt-hook b/debian/apthook/pve-apt-hook index 0ec017d..1f77a1a 100755 --- a/debian/apthook/pve-apt-hook +++ b/debian/apthook/pve-apt-hook @@ -23,9 +23,12 @@ if (!defined $fd || $fd == 0) { open(my $fh, "<&=${fd}") or die "E: could not open APT_HOOK_INFO_FD (${fd}) - $!\n"; my $cleanup = sub { - my ($rc) = @_; + my ($rc, $confirm) = @_; close($fh); + + my $line = if $confirm; + exit $rc; }; @@ -50,23 +53,33 @@ while (my $line = <$fh>) { next; } - if ($pkg eq 'proxmox-ve' && $action eq '**REMOVE**') { - if (-e $check_file) { - $log->("'$check_file' exists, proceeding with removal of package '${check_package}'\n"); - unlink $check_file; - } else { - $log->("!! WARNING !!\n"); - $log->("You are attempting to remove the meta-package '${check_package}'!\n"); - $log->("\n"); - $log->("If you really want to permanently remove '${check_package}' from your system, run the following command\n"); - $log->("\ttouch '${check_file}'\n"); - $log->("run apt purge ${check_package} to remove the meta-package\n"); - $log->("and repeat your apt invocation.\n"); + if ($pkg eq 'proxmox-ve') { + if ($action eq '**REMOVE**') { + if (-e $check_file) { + $log->("'$check_file' exists, proceeding with removal of package '${check_package}'\n"); + unlink $check_file; + } else { + $log->("!! WARNING !!\n"); + $log->("You are attempting to remove the meta-package '${check_package}'!\n"); + $log->("\n"); + $log->("If you really want to permanently remove '${check_package}' from your system, run the following command\n"); + $log->("\ttouch '${check_file}'\n"); + $log->("run apt purge ${check_package} to remove the meta-package\n"); + $log->("and repeat your apt invocation.\n"); + $log->("\n"); + $log->("If you are unsure why '$check_package' would be removed, please verify\n"); + $log->("\t- your APT repository settings\n"); + $log->("\t- that you are using 'apt full-upgrade' to upgrade your system\n"); + $cleanup->(1); + } + } elsif ($action eq '**CONFIGURE**' && $dir eq '<' && $old =~ /^6\./ && $new =~ /^7\./) { + $log->("!! ATTENTION !!\n"); + $log->("You are attempting to upgrade from proxmox-ve '$old' to proxmox-ve '$new'. Please make sure to read the Upgrade notes at\n"); + $log->("\thttps://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0\n"); + $log->("before proceeding with this operation.\n"); $log->("\n"); - $log->("If you are unsure why '$check_package' would be removed, please verify\n"); - $log->("\t- your APT repository settings\n"); - $log->("\t- that you are using 'apt full-upgrade' to upgrade your system\n"); - $cleanup->(1); + $log->("Press enter to continue, or C^c to abort.\n"); + $cleanup->(0, 1); } } }