diff options
Diffstat (limited to 'Tools')
-rwxr-xr-x | Tools/scripts/bump-revision.sh | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Tools/scripts/bump-revision.sh b/Tools/scripts/bump-revision.sh index 6480e8231df..55d6ea6b228 100755 --- a/Tools/scripts/bump-revision.sh +++ b/Tools/scripts/bump-revision.sh @@ -51,7 +51,6 @@ do # If the Makefile exists, continue and empty the tempfile, set up variables echo -n > $tempfile revision_str=`grep "^PORTREVISION?\?=" "$1/Makefile"` - revision_num=`echo "$revision_str" | awk -F "\t+" '{ print $2 }'` case $? in 0) @@ -65,7 +64,7 @@ do ;; (*) # If the value of PORTREVISION is an integer, increase it by 1 - printc "INFO: $1 PORTREVISION= $revision_num found, bumping it by 1." "green" + printc "INFO: $1 $revision_str found, bumping it by 1." "green" rm -f $tempfile && awk -F "\t+" '/^PORTREVISION\??=/{ gsub ($2, $2+1) }; { print }' "$1/Makefile" > $tempfile \ && cat $tempfile > "$1/Makefile" \ || printc "ERROR: $1 PORTREVISION found but failed to bump it!" "red" @@ -80,8 +79,19 @@ do # If the exit code is 1 then PORTREVISION wasn't found, so we need to add one with value of 1 printc "INFO: $1 PORTREVISION not found, adding PORTREVISION= 1" "green" rm -f $tempfile && awk '/^(PORT|DIST)VERSION\??=\t/{ print; print "PORTREVISION=\t1"; next } { print }' "$1/Makefile" > $tempfile \ - && cat $tempfile > "$1/Makefile" \ - || printc "ERROR: $1 PORTREVISION found but failed to bump it!" "red" + && cat $tempfile > "$1/Makefile" + # If there is not PORTREVISION line, maybe it is a slave port, try + # to add it before a CATEGORIES, PKGNAMESUFFIX or PKGNAMEPREFIX line: + for line in CATEGORIES PKGNAMEPREFIX PKGNAMESUFFIX; do + if ! grep -q "^PORTREVISION?\?=" $1/Makefile; then + rm -f $tempfile && awk '/^'${line}'\??=\t/{ print "PORTREVISION=\t1"; print; next } { print }' "$1/Makefile" > $tempfile \ + && cat $tempfile > "$1/Makefile" + fi + done + # If it still is not there, bail out + if ! grep -q "^PORTREVISION?\?=" $1/Makefile; then + printc "ERROR: $1 PORTREVISION not found and failed to add it!" "red" + fi ;; *) printc "ERROR: PORTREVISION grep for $1 exited with error!" "red" |