diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in index 5e910c01..da91ec0a 100644 --- a/etc/makepkg.conf.in +++ b/etc/makepkg.conf.in @@ -69,8 +69,14 @@ BUILDENV=(!distcc color !ccache check !sign) #-- specify a space-delimited list of hosts running in the DistCC cluster. #DISTCC_HOSTS="" # -#-- Specify a directory for package building. +#-- Specify a directory for package building. Default: working directory #BUILDDIR=/tmp/makepkg +#-- Specify a directory for package source code extracted during build. +#-- Default: src directory inside build directory +#BUILDSRCDIR=/tmp/makepkg/src +#-- Specify a directory for package files prior to archival and compression. +#-- Default: pkg directory inside build directory +#BUILDPKGDIR=/tmp/makepkg/pkg ######################################################################### # GLOBAL PACKAGE OPTIONS diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 591b010e..e2c4a6a9 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1163,9 +1163,17 @@ if [[ $BUILDDIR -ef "$startdir" ]]; then srcdir="$BUILDDIR/src" pkgdirbase="$BUILDDIR/pkg" else - srcdir="$BUILDDIR/$pkgbase/src" - pkgdirbase="$BUILDDIR/$pkgbase/pkg" + if [[ -n "$BUILDSRCDIR" ]]; then + srcdir="$BUILDSRCDIR/$pkgbase" + else + srcdir="$BUILDDIR/$pkgbase/src" + fi + if [[ -n "$BUILDPKGDIR" ]]; then + pkgdirbase="$BUILDPKGDIR/$pkgbase" + else + pkgdirbase="$BUILDDIR/$pkgbase/pkg" + fi fi # set pkgdir to something "sensible" for (not recommended) use during build()