svn commit: r279605 - projects/release-pkg/release/scripts
Baptiste Daroussin
bapt at FreeBSD.org
Wed Mar 4 23:45:40 UTC 2015
Author: bapt
Date: Wed Mar 4 23:45:39 2015
New Revision: 279605
URL: https://svnweb.freebsd.org/changeset/base/279605
Log:
Improve mtree to plist converter
1/ Analyse the fields from mtree lines to extract:
- owner,
- group,
- mode,
- flags,
- tags,
2/ Ignore non tagged entries
3/ For now concat tags to form a futur package name
Modified:
projects/release-pkg/release/scripts/mtree-to-plist.awk
Modified: projects/release-pkg/release/scripts/mtree-to-plist.awk
==============================================================================
--- projects/release-pkg/release/scripts/mtree-to-plist.awk Wed Mar 4 23:01:03 2015 (r279604)
+++ projects/release-pkg/release/scripts/mtree-to-plist.awk Wed Mar 4 23:45:39 2015 (r279605)
@@ -1,15 +1,39 @@
#!/usr/bin/awk
/^[^#]/ {
gsub(/^\./,"", $1)
- tags=$NF
- gsub(/tags=/,"", tags)
- output=tags".plist"
- uname=$3
- gname=$4
- mode=$5
- gsub(/uname=/, "", uname);
- gsub(/gname=/, "", gname);
- gsub(/mode=/, "", mode);
+ uname=""
+ gname=""
+ mode=""
+ flags=""
+ tags=""
+ 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);
+ }
+ }
+ if (length(tags) == 0)
+ next
+ if (tags ~ /package=/) {
+ gsub(/package=/,"",tags);
+ gsub(/,/, "-", tags);
+ pkg=tags
+ } else {
+ pkg=tags
+ }
+ output=pkg".plist"
- print "@("uname","gname","mode") " $1 > output
+ print "@("uname","gname","mode","flags") " $1 > output
}
More information about the svn-src-projects
mailing list