summaryrefslogtreecommitdiffstats
path: root/apkgrel.in
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-02-13 07:36:05 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-02-13 13:49:25 +0000
commit0a11c5e3c116b3de00b9b91da9a5b3384b8a8cd6 (patch)
tree3202fa18eea8ed302f40b7151840d2878bde9073 /apkgrel.in
parent761472d96b2dae8b255399fc237287a780e24c0f (diff)
downloadabuild-0a11c5e3c116b3de00b9b91da9a5b3384b8a8cd6.tar.bz2
abuild-0a11c5e3c116b3de00b9b91da9a5b3384b8a8cd6.tar.xz
apkgrel: optionally bump pkgrel when git is unclean
Diffstat (limited to 'apkgrel.in')
-rw-r--r--apkgrel.in23
1 files changed, 16 insertions, 7 deletions
diff --git a/apkgrel.in b/apkgrel.in
index b07f8bd..f319a83 100644
--- a/apkgrel.in
+++ b/apkgrel.in
@@ -14,6 +14,10 @@ do_set() {
do_add () {
local f= old=
for f in "$@"; do
+ [ -n "$only_clean_git" ] \
+ && [ -n "$(git diff --name-only $f)" ] \
+ && continue
+ [ -d "$f" ] && f="$f/APKBUILD"
old=$(do_show "$f")
setto=$(($old + 1))
do_set "$f" || return 1
@@ -22,12 +26,15 @@ do_add () {
do_verify() {
[ -n "$force" ] && return 0
- if ! grep -q '^pkgrel=[0-9]' "$@"; then
- echo "The following files does not have proper pkgrel:" >&2
- grep -L '^pkgrel=[0-9]' "$@" >&2
- return 1
- fi
- return 0
+ local f= rc=0
+ for f in "$@"; do
+ [ -d "$f" ] && f="$f/APKBUILD"
+ if ! grep -q '^pkgrel=[0-9]' "$f"; then
+ echo "$f: Has no proper pkgrel" >&2
+ rc=1
+ fi
+ done
+ return $rc
}
do_nothing() {
@@ -39,6 +46,7 @@ do_usage() {
Usage: $program -a|-h|-s NUM|-t|-z [-f] FILE...
Commands:
-a Add 1 to current pkgrel
+ -g Only do the change on files that have clean git status
-h Show this help
-s Set pkgrel to NUM
-t Only verify that files are in proper format
@@ -52,9 +60,10 @@ __EOF__
cmd=do_show
force=
-while getopts "afhs:tz" opt; do
+while getopts "afghs:tz" opt; do
case $opt in
a) cmd=do_add;;
+ g) only_clean_git=1;;
f) force=1;;
h) cmd=do_usage;;
s) setto=$OPTARG; cmd=do_set;;