diff options
author | Oliver Smith <ollieparanoid@bitmessage.ch> | 2018-02-07 20:06:56 +0100 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2018-03-20 15:09:58 +0100 |
commit | 4501a6cc5eb5542c5172ae391ae54377b440e1bf (patch) | |
tree | 79b630c36230498628766fa227c1f8f7eb95cd61 | |
parent | 6981f3a6ae1cab387dd4273e3483a07d932d827f (diff) | |
download | abuild-4501a6cc5eb5542c5172ae391ae54377b440e1bf.tar.gz abuild-4501a6cc5eb5542c5172ae391ae54377b440e1bf.tar.bz2 abuild-4501a6cc5eb5542c5172ae391ae54377b440e1bf.tar.xz abuild-4501a6cc5eb5542c5172ae391ae54377b440e1bf.zip |
Don't print 'git: not found' errors
abuild, as packaged in Alpine Linux, does not depend on git. But when
you use it without git, it will print out errors like the following:
/usr/bin/abuild: line 2554: git: not found
With this commit, it saves the git_path in the beginning (just like
abuild_path). Later in the code it does not try to run git if that
variable is empty.
Notably `abuild rootbld` is already checking whether `abuild-rootbld`
is installed, and that subpackage of `abuild` does already depend on
`git`. So no additional check was added before using `git ` inside
`rootbld`.
Fixes #32
-rw-r--r-- | abuild.in | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -12,6 +12,7 @@ sysconfdir=@sysconfdir@ datadir=@datadir@ abuild_path=$(readlink -f $0) +git_path=$(command -v git || true) if ! [ -f "$datadir/functions.sh" ]; then echo "$datadir/functions.sh: not found" >&2 @@ -805,13 +806,13 @@ prepare_language_packs() { # echo '-dirty' if git is not clean git_dirty() { - if [ $(git status -s "$startdir" | wc -l) -ne 0 ]; then - echo "-dirty" - fi + [ -z "$git_path" ] && return + [ $(git status -s "$startdir" | wc -l) -ne 0 ] && echo "-dirty" } # echo last commit hash id git_last_commit() { + [ -z "$git_path" ] && return git log --format=oneline -n 1 "$startdir" | awk '{print $1}' } @@ -1524,7 +1525,14 @@ update_abuildrepo_index() { done subpkg_unset - [ -z "$DESCRIPTION" ] && DESCRIPTION="$repo $(cd $startdir && git describe || true)" + if [ -z "$DESCRIPTION" ]; then + if [ -n "$git_path" ]; then + DESCRIPTION="$repo $(cd $startdir && git describe)" + else + DESCRIPTION="$repo" + fi + fi + for i in $allarch; do cd "$REPODEST/$repo/$i" local index=$i/APKINDEX.tar.gz @@ -2376,8 +2384,7 @@ snapshot() { # clone git repo and archive if [ -n "$giturl" ]; then local _version=${verbase:-0}_git${_date} - command -v git >/dev/null || \ - die "Missing git! Install git to support git clone." + [ -z "$git_path" ] && die "Missing git! Install git to support git clone." local _rev="${reporev:-HEAD}" [ "$_rev" = "HEAD" ] && local _depth="--depth=1" msg "Creating git snapshot: $pkgname-$_version" |