From: Mark Wooding Date: Sat, 26 Dec 2009 20:09:36 +0000 (+0000) Subject: bin/mdw-build: Cross-check Git and Debian version numbers. X-Git-Url: https://git.distorted.org.uk/~mdw/profile/commitdiff_plain/f282ba467742478c4c24e54dde4af7645caa13f5?ds=sidebyside bin/mdw-build: Cross-check Git and Debian version numbers. I don't think I've come a cropper over this before, but it seems like a sensible thing to take care of. --- diff --git a/bin/mdw-build b/bin/mdw-build index 7003964..65ea3b0 100755 --- a/bin/mdw-build +++ b/bin/mdw-build @@ -99,6 +99,13 @@ fail () { exit 1 } +warn () { + case $build in + release) fail "$*" ;; + *) notify 5 "??? $*" ;; + esac +} + info () { notify 6 "--- $*" } @@ -152,18 +159,46 @@ case $verbose in ;; esac -## Maybe check out a copy of the source. +## Do we have a Git repository? case "$checkout,$setup,$(yesno [ -d $srcpath/.git ])" in yes,no,*) fail "Inconsistent options: can't check out without setup." ;; yes,yes,no) info "No Git repository found." + checkout=no gitver=none ;; yes,yes,yes) cd $srcpath [ "$(git ls-files -m)" = "" ] || - fail "working tree has uncommitted changes" + warn "working tree has uncommitted changes" + gitver=$(git describe) +esac + +## Is there Debian build equipment? +case "$debian,$(yesno [ -d $srcpath/debian ])" in + yes,no) + info "No debian directory found." + debian=no debver=none + ;; + yes,yes) + debver=$(dpkg-parsechangelog | sed -n 's/^Version: //p') + ;; +esac + +## Check the version number. +case "$gitver,$debver" in + none,* | *,none) + ;; + *) + [ "$gitver" = "$debver" ] || + warn "Git version $gitver doesn't match Debian version $debver" + ;; +esac + +## Maybe check ot a copy of the source. +case "$checkout" in + yes) cd $releasepath run git clone -sn $srcpath/.git _source assign srcpath $releasepath/_source @@ -218,12 +253,8 @@ fi run mv $buildpath/$distdir.tar.gz . ## Maybe build the Debian packages. -case "$debian,$(yesno [ -d $srcpath/debian ])" in - yes,no) - info "No debian directory found." - debian=no - ;; - yes,yes) +case "$debian" in + yes) run tar xvfz $distdir.tar.gz cd $distdir run dpkg-buildpackage -k$(mdw-conf releasekey)