commit:     53c9011002e037ee2b8d97a5ee5657be6f4dd275
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 12 02:08:37 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 13 04:31:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53c90110

mount-boot.eclass: Make awk expression work with mawk.

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 <ulm <AT> 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 c5c6b69b063..00b36779325 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

Reply via email to