Module Name:    src
Committed By:   thorpej
Date:           Sat Jun 13 19:46:23 UTC 2020

Modified Files:
        src/etc: MAKEDEV.awk

Log Message:
When reading in the MD MAKEDEV.conf, perform block / char major
substitutions that may be present in that file.

PR port-cobalt/55009


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/etc/MAKEDEV.awk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/etc/MAKEDEV.awk
diff -u src/etc/MAKEDEV.awk:1.28 src/etc/MAKEDEV.awk:1.29
--- src/etc/MAKEDEV.awk:1.28	Sun Nov  3 12:03:35 2019
+++ src/etc/MAKEDEV.awk	Sat Jun 13 19:46:23 2020
@@ -1,6 +1,6 @@
 #!/usr/bin/awk -
 #
-#	$NetBSD: MAKEDEV.awk,v 1.28 2019/11/03 12:03:35 martin Exp $
+#	$NetBSD: MAKEDEV.awk,v 1.29 2020/06/13 19:46:23 thorpej Exp $
 #
 # Copyright (c) 2003 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -104,10 +104,33 @@ BEGIN {
 	getline < cfgfile		# blank line
 	MDDEV = 0		# MD device targets
 	while (getline < cfgfile) {
+		#
+		# Perform the same blk / chr subsitution that happens below.
+		#
+		md_deventry = $0
+		if (match(md_deventry, /%[a-z0-9]*_(blk|chr)%/)) {
+			nam = substr(md_deventry, RSTART + 1, RLENGTH - 6);
+			typ = substr(md_deventry, RSTART + RLENGTH - 4, 3);
+			dev = ""
+			if (typ == "blk") {
+				if (nam in blk) {
+					dev = blk[nam];
+				}
+			} else {
+				if (nam in chr) {
+					dev = chr[nam];
+				}
+			}
+			if (dev != "") {
+				parsed = substr(md_deventry, 1, RSTART - 1) dev
+				md_deventry = substr(md_deventry, RSTART + RLENGTH)
+			}
+			md_deventry = parsed md_deventry
+		}
 		if (MDDEV)
-			MDDEV = MDDEV "\n" $0
+			MDDEV = MDDEV "\n" md_deventry
 		else
-			MDDEV = $0
+			MDDEV = md_deventry
 	}
 	close(cfgfile)
 
@@ -225,7 +248,7 @@ BEGIN {
 	print "# Generated from:"
 
 	# MAKEDEV.awk (this script) RCS Id
-	ARCSID = "$NetBSD: MAKEDEV.awk,v 1.28 2019/11/03 12:03:35 martin Exp $"
+	ARCSID = "$NetBSD: MAKEDEV.awk,v 1.29 2020/06/13 19:46:23 thorpej Exp $"
 	gsub(/\$/, "", ARCSID)
 	print "#	" ARCSID
 	

Reply via email to