summaryrefslogtreecommitdiffstats
path: root/bin/pbfields
diff options
context:
space:
mode:
Diffstat (limited to 'bin/pbfields')
-rwxr-xr-xbin/pbfields30
1 files changed, 24 insertions, 6 deletions
diff --git a/bin/pbfields b/bin/pbfields
index 5e7844c..5bbf9c6 100755
--- a/bin/pbfields
+++ b/bin/pbfields
@@ -31,16 +31,30 @@ $1 == "pkgdesc" {
$1 == "pkgverfmt" { pkgverfmt = $2 }
-strfield[$1] { output[$1] = $2 }
+$1 == "customvars" {
+ for(i = 2; i <= NF; i++){
+ customvars[i - 1] = $i
+ }
+ customlen = NF - 1
+}
-arrfield[$1] {
- output[$1] = wraparray(length($1) + 2)
+{
+ if(strfield[$1]){
+ output[$1] = $2
+ }else {
+ arrtxt = wraparray(length($1) + 2)
+ if(arrfield[$1]){
+ output[$1] = arrtxt
+ }else{
+ unk[$1] = arrtxt
+ }
+ }
}
END {
- if(pkgverfmt){
- output["pkgver"] = sprintf(pkgverfmt, output["pkgver"])
- }
+ if(pkgverfmt){
+ output["pkgver"] = sprintf(pkgverfmt, output["pkgver"])
+ }
if(!maintainer && !packager) { packager = "Anonymous" }
if(maintainer) print "# Maintainer: " maintainer
@@ -54,6 +68,10 @@ END {
print name, output[name]
}
}
+ for(i = 1; i <= customlen; i++){
+ v = customvars[i]
+ print "_" v, unk[v]
+ }
}
function wraparray (indent)