Index: projects/release-pkg/release/scripts/mtree-to-plist.awk =================================================================== --- projects/release-pkg/release/scripts/mtree-to-plist.awk (revision 279659) +++ projects/release-pkg/release/scripts/mtree-to-plist.awk (revision 279660) @@ -1,38 +1,54 @@ #!/usr/bin/awk /^[^#]/ { gsub(/^\./,"", $1) uname = gname = mode = flags = tags = type = "" for (i=2; i<=NF; i++) { if ($i ~ /^uname=/) { uname=$i gsub(/uname=/, "", uname) } else if ($i ~ /^gname=/) { gname=$i gsub(/gname=/, "", gname) } else if ($i ~ /^mode=/) { mode=$i gsub(/mode=/,"", mode) } else if ($i ~ /^flags=/) { flags=$i gsub(/flags=/, "", flags) } else if ($i ~ /^tags=/) { tags=$i gsub(/tags=/, "", tags) } else if ($i ~ /^type=dir/) { type="dir" } } 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 }