X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/5a91acc5db3aa9fe92a4b31d64aa2500bf3446a1..a0c08acffd46c958894114a781e173c7c53846d8:/bin/mdw-build diff --git a/bin/mdw-build b/bin/mdw-build index 572aa75..62edc4d 100755 --- a/bin/mdw-build +++ b/bin/mdw-build @@ -59,6 +59,7 @@ set -e unset checkout checkoutrev unset setup setupcmd unset sign signkey +unset sbuild sbuildsrv unset upload uploadpath unset dput dputtarget unset build distcheck debian clean vpath native @@ -82,6 +83,7 @@ default_depends () { : ${clean=yes} : ${vpath=yes} : ${native=yes} +default_depends sbuild sbuildsrv default_depends sign signkey default_depends upload uploadpath default_depends dput dputtarget @@ -107,6 +109,7 @@ Build options: [no]dput[=TARGET] [no]clean [no]vpath + [no]sbuild[=SERVER] [no]sign[=KEYID] [no]native EOF @@ -144,6 +147,8 @@ for opt; do upload=*) upload=yes uploadpath=${opt#*=} ;; sign) maybe_set sign signkey ;; sign=*) sign=yes signkey=${opt#*=} ;; + sbuild) maybe_set sbuild sbuildsrv ;; + sbuild=*) sbuild=yes sbuildsrv=${opt#*=} ;; dput) maybe_set dput dputtarget ;; dput=*) dput=yes dputtarget=${opt#*=} ;; @@ -151,7 +156,7 @@ for opt; do eval "$opt=yes" ;; nocheckout | nosetup | nodistcheck | nodebian | \ - noupload | nodput | noclean | novpath | nonative | nosign) + noupload | nodput | noclean | novpath | nonative | nosbuild | nosign) eval "${opt#no}=no" ;; *) @@ -236,7 +241,8 @@ while [ ! -f configure.ac -a ! -f configure.in -a \ esac cd .. done -assign srcpath $(pwd) +assign toppath $(pwd) +assign srcpath $toppath ## Build any necessary qualifiers. qual= sep=. @@ -400,8 +406,20 @@ EOF mv debian/changelog.new debian/changelog ;; esac - case $build,$sign in - release,yes) run dpkg-buildpackage -k$signkey ;; + sbuildargs=$sbuildsrv + case $sbuild,$build in + 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 ;; + no,release,yes) run dpkg-buildpackage -k$signkey ;; no,*) run dpkg-buildpackage -us -uc ;; esac ;;