1
0
mirror of https://gitlab.alpinelinux.org/alpine/abuild.git synced 2025-04-19 06:42:18 +03:00

abuild: fix rootbld with GNU awk

POSIX doesn't specify how something like 'getline < "foo" "bar"' should
behave. busybox and GNU awk differ so we need to use parentheses.

Fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10171
This commit is contained in:
Sertonix 2025-04-09 22:31:43 +02:00
parent d9ad978c89
commit c5b0b6a60b

View File

@ -2613,7 +2613,7 @@ rootbld() {
groups["user"] = "user:x:1000:user"
for (i in arr)
groups[arr[i]] = arr[i] ":x:" gid++ ":";
while (getline < root "/etc/group")
while (getline < (root "/etc/group"))
groups[$1] = $0
uid = 100;
@ -2623,13 +2623,13 @@ rootbld() {
$0 = groups[arr[i] in groups ? arr[i] : "nobody"]
users[arr[i]] = arr[i] ":x:" uid++ ":" $3 ":" arr[i] ":/dev/null:/sbin/nologin";
}
while (getline < root "/etc/passwd")
while (getline < (root "/etc/passwd"))
users[$1] = $0
for (i in groups)
printf("%s\n", groups[i]) > root "/group"
printf("%s\n", groups[i]) > (root "/group")
for (i in users)
printf("%s\n", users[i]) > root "/passwd"
printf("%s\n", users[i]) > (root "/passwd")
}'
local bwrap_opts=""