diff options
| author | Michael Forney <mforney@mforney.org> | 2020-06-22 11:57:42 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2020-06-22 22:59:35 -0700 |
| commit | b4ced98b9dd28062a7990592b7723b8916448679 (patch) | |
| tree | 9b8f500436b9f9af7557d87d6088494bc81a0528 /scripts/perms.awk | |
| parent | 677859db25f2b0e3dd88d7636219dc0dd9a43ac0 (diff) | |
Generate root.perms from fspec
Diffstat (limited to 'scripts/perms.awk')
| -rw-r--r-- | scripts/perms.awk | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/perms.awk b/scripts/perms.awk new file mode 100644 index 00000000..4ace2a84 --- /dev/null +++ b/scripts/perms.awk @@ -0,0 +1,23 @@ +BEGIN { + RS = "" + sort = "sort -k 2" +} + +function mode() { + for (i = 2; i <= NF; ++i) { + if ($i ~ /^mode=/) + return substr($i, 6) + } + printf "file '%s' is missing mode attribute\n", $1 >"/proc/self/fd/2" + exit(1) +} + +/type=dir/ { + printf "04%s %s\n", mode(), substr($1, 2) |sort +} + +/type=reg/ { + m = mode() + if (m != "0644" && m != "0755") + printf "10%s %s\n", m, substr($1, 2) |sort +} |
