Gentoo Archives: gentoo-dev

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [PATCH] mount-boot.eclass: Make awk expression work with mawk.
Date: Wed, 12 Feb 2020 10:50:54
Message-Id: w6gd0ak2i6b.fsf@kph.uni-mainz.de
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@g.o>
---
 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

Attachments

File name MIME type
signature.asc application/pgp-signature