: ${clean=yes}
: ${vpath=yes}
: ${native=yes}
+: ${make=make}
default_depends sbuild sbuildsrv
default_depends sign signkey
default_depends upload uploadpath
usage () {
cat <<EOF
-Usage: $prog [-vr] BUILDOPT
+Usage: $prog [-v] BUILDOPT
Build options:
[no]sbuild[=SERVER]
[no]sign[=KEYID]
[no]native
+ make=MAKE
EOF
}
## Parse simple options.
verbose=no
-while getopts "hvr" opt; do
+while getopts "hv" opt; do
case "$opt" in
h) usage; exit 0 ;;
v) verbose=yes ;;
sbuild=*) sbuild=yes sbuildsrv=${opt#*=} ;;
dput) maybe_set dput dputtarget ;;
dput=*) dput=yes dputtarget=${opt#*=} ;;
+ make=*) make=${opt#*=} ;;
distcheck | debian | clean | vpath | native)
eval "$opt=yes"
debver=none
;;
yes,yes)
- debver=$(dpkg-parsechangelog | sed -n 's/^Version: //p' | tr \~ -)
+ debver=$(dpkg-parsechangelog | sed -n 's/^Version: //p')
debsrc=$(dpkg-parsechangelog | sed -n 's/^Source: //p')
debname=$(git config user.name) debemail=$(git config user.email)
;;
run git clone -sn $srcpath/.git _source
assign srcpath $releasepath/_source
cd $srcpath
- run git checkout -b mdw-build $checkoutrev
- gitver=$(git describe --abbrev=4)
+ run git update-ref refs/heads/mdw-build $checkoutrev ""
+ run git symbolic-ref HEAD refs/heads/mdw-build
+ run git read-tree --reset refs/heads/mdw-build
+ run git checkout-index -afu
+ assign gitversion "$(git describe --abbrev=4)"
;;
esac
## Check the version number.
hack_dch_p=no
-case "$gitver,$debver" in
+case "$gitversion,$debver" in
none,* | *,none)
;;
*)
- if [ "$gitver" != "$debver" ]; then
- warn "Git version $gitver doesn't match Debian version $debver"
+ dvref=$(echo "$debver" | tr '~' '_')
+ if [ "$gitversion" = "$dvref" ]; then
+ assign debversion "$debver"
+ else
+ warn "Git version $gitversion doesn't match Debian version $debver"
hack_dch=yes
+ dver=$(echo $gitversion | sed 's/-/+/; s/-/./g')
+ case $debver in *~) dver=$debver$dver ;; esac
+ assign debversion "$dver"
+ now=$(date -R)
fi
;;
esac
@echo >&3 $(distdir)
EOF
assign distdir \
- $({ make -f find-distdir.mk print-distdir >/dev/null 2>&1; } 3>&1)
+ $({ $make -f find-distdir.mk print-distdir >/dev/null 2>&1; } 3>&1)
## Get a tarball distribution.
case "$distcheck" in
yes)
- run make $makeopts distcheck
+ run $make $makeopts distcheck
;;
no)
- run make $makeopts dist
+ run $make $makeopts dist
;;
esac
cd $distdir
case $hack_dch in
yes)
- dver=$(echo $gitver | sed 's/-/+/; s/-/./g')
- now=$(date -R)
cat - debian/changelog >debian/changelog.new <<EOF
-$debsrc ($dver) experimental; urgency=low
+$debsrc ($debversion) experimental; urgency=low
* Hacking in process, not intended for release.
yes,release)
case $sign in yes) sbuildargs="-k$signkey $sbuildargs" ;; esac
;;
+ yes,*)
+ if [ -d $toppath/dist-$build.pkgs ]; then
+ sbuildargs="-p$toppath/dist-$build.pkgs $sbuildargs"
+ fi
+ ;;
esac
case $sbuild,$build,$sign in
yes,*) run mdw-sbuild $sbuildargs ;;