Subject: guix-install.sh REQUIRE check for SYSV_INIT_REQUIRE
From: Nyi Nyi Zaw <[email-masked]>
To: [email-masked]
Date: Fri, 21 Jun 2024 16:45:42 +0630
List-Id: <debbugs-submit.debbugs.gnu.org>

Cause>>

>
>   MX linux 23.3(Debian 12.5 “bookworm” base) return sysv-init as 
> lowercase with dash
>   which cause install script fails with sysv-init_REQUIRE[@]: invalid 
> variable name
>

ERROR>>

> https://www.gnu.org/software/guix/
> This script installs GNU Guix on your system
> To uninstall, pass in the '--uninstall' parameter.
> Press return to continue...
> [1718953785.295]: Starting installation (Fri Jun 21 01:39:45 PM +0630 
> 2024)
> [1718953785.306]: [ INFO ] init system is: sysv-init
> ./guix-install.sh: line 164: sysv-init_REQUIRE[@]: invalid variable name

Fix Patch >> Convert sysv-init to SYSV_INIT_REQUIRE to match with 
variable name

>   --- guix-install.sh     2024-06-21 15:22:03.000000000 +0630
>   +++ guix-install-patched.sh     2024-06-21 16:09:17.454668652 +0630
>   @@ -157,7 +157,9 @@
>
>   add_init_sys_require()
>   { # Add the elements of FOO_INIT_SYS to REQUIRE
>       -    local init_require="${INIT_SYS}_REQUIRE[@]"
>       + # Convert INIT_SYS return string to uppercase and replace dash 
> with underscore
>       +    local init_require="${INIT_SYS^^}_REQUIRE[@]"
>       + init_require="${init_require//-/_}"
> if[[ !-z "$init_require"]]; then
> # Have to add piecemeal because ${!foo[@]} performs direct array key
> # expansion, not indirect plain array expansion.