summaryrefslogtreecommitdiff
path: root/scripts/perms.awk
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/perms.awk')
-rw-r--r--scripts/perms.awk23
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
+}