diff options
author | bapt <bapt@FreeBSD.org> | 2015-03-05 16:20:53 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2015-03-05 16:20:53 +0000 |
commit | 427b397417ca7b8af7608de868215a665ed4e128 (patch) | |
tree | ee528d3f71ad287c55fea2a59a6402e7d645d180 /release/scripts | |
parent | 0ffa9daadd56c81445a43b723e97ddbf3c622d92 (diff) | |
download | FreeBSD-src-427b397417ca7b8af7608de868215a665ed4e128.zip FreeBSD-src-427b397417ca7b8af7608de868215a665ed4e128.tar.gz |
Support a config tag to flag a file that should be merge on upgrade
Diffstat (limited to 'release/scripts')
-rw-r--r-- | release/scripts/mtree-to-plist.awk | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/release/scripts/mtree-to-plist.awk b/release/scripts/mtree-to-plist.awk index 9b7dd99..e61805f 100644 --- a/release/scripts/mtree-to-plist.awk +++ b/release/scripts/mtree-to-plist.awk @@ -25,14 +25,30 @@ if (length(tags) == 0) next if (tags ~ /package=/) { - gsub(/package=/,"",tags) - gsub(/,/, "-", tags) - gsub(/runtime-/, "", tags) - pkg=tags + ext = pkgname = "" + split(tags, a, ","); + for (i in a) { + if (a[i] ~ /^package=/) { + pkgname=a[i] + gsub(/package=/, "", pkgname) + } else if (a[i] == "config") { + type="config" + } else { + ext=a[i] + } + } + if (length(ext) > 0) { + if (pkgname == "runtime") { + pkgname=ext + } else { + pkgname=pkgname"-"ext + } + } } else { - pkg=tags + print "No packages specified in line: $0" > 2 + next } - output=pkg".plist" + output=pkgname".plist" print "@"type"("uname","gname","mode","flags") " $1 > output } |