For all the details, see patch #6. TL;DR: SIGALRM does not interrupt line reading using <>, causing the installer to hang on country detection. Fix it by using Proxmox::Sys::Command::run_command(), which properly interacts with SIGALRM.
Patch #1 is a rather mundane fix for some niche cases, #2 is a small refactoring as proposed by Thomas and #3 might warrant some more thought. #4 & #5 are preparatory and to not alter existing behaviour. v1: https://lists.proxmox.com/pipermail/pve-devel/2024-February/061677.html Changes since v1: * new patches #2 (refactoring) and #3 (EINTR handling) * introduce CMD_FINISHED constant for run_command() * added function documentation Christoph Heiss (6): low-level: initialize UI backend for 'dump-env' subcommand too sys: command: factor out kill() + waitpid() from run_command() sys: command: handle EINTR in run_command() sys: command: allow terminating the process early from log subroutine sys: command: add option to not print process output to stdout fix #4872: run env: use run_command() for country detection Proxmox/Install/RunEnv.pm | 22 +++++----- Proxmox/Sys/Command.pm | 85 ++++++++++++++++++++++++++++++++----- proxmox-low-level-installer | 1 + test/Makefile | 5 ++- test/run-command.pl | 46 ++++++++++++++++++++ 5 files changed, 137 insertions(+), 22 deletions(-) create mode 100755 test/run-command.pl -- 2.43.0 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel