Package: postgresql-server-dev-all Version: 197 Severity: wishlist Tags: patch
Dear Maintainer, it would be nice if pg_buildext allowed to pass Makefile variables down to the make calls. The specific issue at hand for me was passing 'with_llvm=no' cause the extension I wanted to build currently has issues with it. AFAICT this is currently not possible via pg_buildext? The attached patch adds an option -x (maybe not the best pick?) whose $OPTARG are passed down to alle make calls - that works for me, but I have not tested it extensively. Michael
diff --git a/pg_buildext b/pg_buildext index 9800495..66c4e37 100755 --- a/pg_buildext +++ b/pg_buildext @@ -24,10 +24,11 @@ die() { } VENVARGS="" -while getopts "c:i:o:s" opt ; do +while getopts "c:i:o:sx:" opt ; do case $opt in c|i|o) VENVARGS="$VENVARGS -$opt $OPTARG" ;; s) VENVARGS="$VENVARGS -$opt" ;; + x) MAKEVARS="$OPTARG" ;; *) exit 1 ;; esac done @@ -73,7 +74,7 @@ build() { mkdir -p $vtarget # if a Makefile was created by configure, use it, else the top level Makefile [ -f $vtarget/Makefile ] || makefile="-f $srcdir/Makefile" - make -C $vtarget ${makefile:-} ${cflags:+CFLAGS="$cflags"} PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 + make -C $vtarget ${makefile:-} ${cflags:+CFLAGS="$cflags"} PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 $MAKEVARS } install() { @@ -83,7 +84,7 @@ install() { mkdir -p $vtarget # if a Makefile was created by configure, use it, else the top level Makefile [ -f $vtarget/Makefile ] || makefile="-f $srcdir/Makefile" - make -C $vtarget ${makefile:-} install DESTDIR="$PWD/debian/$package" PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 + make -C $vtarget ${makefile:-} install DESTDIR="$PWD/debian/$package" PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 $MAKEVARS } clean() { @@ -91,7 +92,7 @@ clean() { # if a Makefile was created by configure, use it, else the top level Makefile [ -f $vtarget/Makefile ] || makefile="-f $srcdir/Makefile" - [ -d $vtarget ] && make -C $vtarget clean ${makefile:-} PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 + [ -d $vtarget ] && make -C $vtarget clean ${makefile:-} PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 $MAKEVARS rm -rf $vtarget } @@ -101,11 +102,11 @@ loop() { package=$(echo $target | sed -e "s:%v:$1:g") echo "# $1: make clean" - make -C "$srcdir" clean PG_CONFIG="$pgc" USE_PGXS=1 + make -C "$srcdir" clean PG_CONFIG="$pgc" USE_PGXS=1 $MAKEVARS echo "# $1: make" - make -C "$srcdir" PG_CONFIG="$pgc" USE_PGXS=1 + make -C "$srcdir" PG_CONFIG="$pgc" USE_PGXS=1 $MAKEVARS echo "# $1: make install" - make -C "$srcdir" install DESTDIR="$PWD/debian/$package" PG_CONFIG="$pgc" USE_PGXS=1 + make -C "$srcdir" install DESTDIR="$PWD/debian/$package" PG_CONFIG="$pgc" USE_PGXS=1 $MAKEVARS echo "### done $1 ###" } @@ -125,7 +126,7 @@ installcheck() { [ -f $vtarget/Makefile ] || makefile="-f $srcdir/Makefile" if ! pg_virtualenv $VENVARGS -v $1 \ make -C $vtarget ${makefile:-} installcheck \ - PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1; then + PG_CONFIG="$pgc" VPATH="$srcdir" USE_PGXS=1 $MAKEVARS; then if [ -r $vtarget/regression.diffs ]; then echo "**** $vtarget/regression.diffs ****" cat $vtarget/regression.diffs @@ -134,7 +135,7 @@ installcheck() { fi else if ! pg_virtualenv $VENVARGS -v $1 \ - make installcheck PG_CONFIG="$pgc" USE_PGXS=1; then + make installcheck PG_CONFIG="$pgc" USE_PGXS=1 $MAKEVARS; then if [ -r regression.diffs ]; then echo "**** regression.diffs ****" cat regression.diffs