summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <ollieparanoid@bitmessage.ch>2018-02-07 20:06:56 +0100
committerSören Tempel <soeren+git@soeren-tempel.net>2018-03-20 15:09:58 +0100
commit4501a6cc5eb5542c5172ae391ae54377b440e1bf (patch)
tree79b630c36230498628766fa227c1f8f7eb95cd61
parent6981f3a6ae1cab387dd4273e3483a07d932d827f (diff)
downloadabuild-4501a6cc5eb5542c5172ae391ae54377b440e1bf.tar.bz2
abuild-4501a6cc5eb5542c5172ae391ae54377b440e1bf.tar.xz
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.in19
1 files changed, 13 insertions, 6 deletions
diff --git a/abuild.in b/abuild.in
index f6b6f90..16c4bee 100644
--- a/abuild.in
+++ b/abuild.in
@@ -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"