makepkg: devel_check(): determine vcs

Rather than prioritizing an arbitrary VCS, collect all development
directives. If there is more than one, give a warning and abort.
This commit is contained in:
Matthew Monaco 2012-03-12 19:14:19 -06:00 committed by Dan McGee
parent 6310bb5fbe
commit 80a811ec96
1 changed files with 16 additions and 0 deletions

View File

@ -1721,6 +1721,22 @@ devel_check() {
# calls to makepkg via fakeroot will explicitly pass the version
# number to avoid having to determine the version number twice.
# Also do a check to make sure we have the VCS tool available.
local vcs=()
[[ -n ${_darcstrunk} && -n ${_darcsmod} ]] && vcs+=("darcs")
[[ -n ${_cvsroot} && -n ${_cvsmod} ]] && vcs+=("cvs")
[[ -n ${_gitroot} && -n ${_gitname} ]] && vcs+=("git")
[[ -n ${_svntrunk} && -n ${_svnmod} ]] && vcs+=("svn")
[[ -n ${_bzrtrunk} && -n ${_bzrmod} ]] && vcs+=("bzr")
[[ -n ${_hgroot} && -n ${_hgrepo} ]] && vcs+=("hg")
if (( ${#vcs[@]} == 0 )); then
return
elif (( ${#vcs[@]} > 1 )); then
warning "$(gettext "Ambiguous VCS package. Cannot pick from: %s.")" "${vcs[*]}"
return 0
fi
if [[ -n ${_darcstrunk} && -n ${_darcsmod} ]] ; then
if ! type -p darcs >/dev/null; then
warning "$(gettext "Cannot find the %s binary required to determine latest %s revision.")" "darcs" "darcs"