gensub() is a GNUism and doesn't exist in all awk variants. Use a loop
instead.

Tested with gawk, nawk, mawk, and busybox awk.

Closes: https://bugs.gentoo.org/709322
Signed-off-by: Ulrich Müller <u...@gentoo.org>
---
 eclass/mount-boot.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/mount-boot.eclass b/eclass/mount-boot.eclass
index c5c6b69b063e..00b367793252 100644
--- a/eclass/mount-boot.eclass
+++ b/eclass/mount-boot.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: mount-boot.eclass
@@ -62,8 +62,8 @@ mount-boot_check_status() {
                return
        fi
 
-       local procstate=$(awk '$2 == "/boot" \
-               { print gensub(/^(.*,)?(ro|rw)(,.*)?$/, "\\2", 1, $4); exit }' \
+       local procstate=$(awk '$2 == "/boot" { split($4, a, ","); \
+               for (i in a) if (a[i] ~ /^r[ow]$/) { print a[i]; break }; exit 
}' \
                /proc/mounts || die "awk failed")
 
        if [[ -z ${procstate} ]] ; then
-- 
2.25.0

Attachment: signature.asc
Description: PGP signature

Reply via email to