deb cleanup
authorMarko Kreen <markokr@gmail.com>
Fri, 4 Jan 2013 08:34:54 +0000 (10:34 +0200)
committerMarko Kreen <markokr@gmail.com>
Fri, 4 Jan 2013 08:34:54 +0000 (10:34 +0200)
* use installed pg_buildext
* use installed pgxs_debian_control.mk
* don't override 'clean' target in debian/rules
* 'make deb' forces control file regeneration

This reduces crap maintained locally.

It also does mean that to build against server-dev-X.Y package
that is not for Debians default Postgres version, following packages
need to be installed from PGDG (wiki.postgresql.org/wiki/Apt) repo:

  postgresql-client-common
  postgresql-common
  postgresql-server-dev-all

Makefile
debian/pg_buildext [deleted file]
debian/rules

index 1dd7ce25661c33905c8e7a9ec1eeec5162bcd096..1110b49cda4e00a5935d02c3f960a71bba658bb6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -146,6 +146,8 @@ ack:
        cp results/*.out test/expected/
 
 deb:
+       rm -f debian/control
+       make -f debian/rules debian/control
        debuild -uc -us -b
 
 debclean:
diff --git a/debian/pg_buildext b/debian/pg_buildext
deleted file mode 100755 (executable)
index 4155e5e..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/bin/sh
-#
-# build a PostgreSQL module based on PGXS for give list of supported major
-# versions
-#
-# Author: Dimitri Fontaine <dfontaine@hi-media.com>
-
-action="$1"
-srcdir="$2"
-target="$3"
-opt="$4"
-
-prepare_env() {
-    if [ ! -d $srcdir ]; then
-       echo "Error: no such directory '$srcdir'"
-       exit 1
-    fi
-    version=$1
-    vtarget=`echo $target | sed -e "s:%v:$version:"`
-    pgc="/usr/lib/postgresql/$version/bin/pg_config"
-    cflags=`$pgc --cflags`
-}
-
-build() {
-    prepare_env $1
-
-    mkdir -p $vtarget
-    cd $vtarget
-    make -f $srcdir/Makefile CFLAGS="$cflags $opt" PG_CONFIG="$pgc" VPATH="$srcdir"
-    cd -
-}
-
-clean() {
-    prepare_env $1
-    make clean PG_CONFIG="$pgc"
-    rm -rf $vtarget
-}
-
-versions() {
-    #for v in `/usr/share/postgresql-common/supported-versions`
-    #grep -q "^$v" $srcdir/debian/pgversions && echo $v
-    for v in `cat $srcdir/debian/pgversions`
-    do
-       test -x /usr/lib/postgresql/$v/bin/pg_config && echo $v
-    done
-}
-
-for v in `versions`
-do
-    case "$action" in
-       "supported-versions")
-           echo $v
-           ;;
-
-       build|clean)
-           # be verbose?
-           $action $v
-           ;;
-
-       *)
-           echo "$0: unsupported $action."
-           ;;
-    esac
-done
-
-exit 0
-
-# POD follows here
-
-=head1 NAME
-
-pg_buildext - Build and install a PostgreSQL extension
-
-=head1 SYNOPSIS
-
-B<pg_buildext> I<action> I<srcdir> I<target> I<opts>
-
-=head1 DESCRIPTION
-
-B<pg_buildext> is a script that will build a PostgreSQL extension in a
-C<VPATH> way. It only supports the B<build> and B<clean> actions, and will
-choose to build the versions known in C<debian/pgversions> and in
-C</usr/share/postgresql-common/supported-versions>.
-
-=head1 OPTIONS
-
-=over 4
-
-=item B<action>
-
-Either I<clean> or I<build>.
-
-=item B<srcdir>
-
-Where to find the extension sources, including the C<debian> subdirectory.
-
-=item B<target>
-
-The target directory where to build the sources, it will get created for you
-if it does not exist. If the B<target> contains a C<%v> sign, it will get
-replaced by the specific version of PostgreSQL being built against.
-
-=item B<opts>
-
-Custom C<CFLAGS> options to use for the build.
-
-=back
-
-=head1 AUTHOR
-
-Dimitri Fontaine L<E<lt>dim@tapoueh.orgE<gt>>
index c4ddd47cf4bedbd4382654e804682b62463aeb5d..b7a407eb5644aeaf429d7796b506d4f2c5f8e5e7 100755 (executable)
@@ -6,19 +6,11 @@
 DEB_BUILD_OPTIONS := nostrip nocheck
 export DEB_BUILD_OPTIONS
 
-PG_BUILDEXT = ./debian/pg_buildext
+PG_BUILDEXT = pg_buildext
 
-debian/control-stamp: debian/control.in debian/pgversions debian/rules
-       grep-dctrl -vP PGVERSION debian/control.in > debian/control
-       for v in $$($(PG_BUILDEXT) supported-versions . ); \
-        do                                         \
-               grep -q "^$$v" debian/pgversions   \
-               && grep-dctrl -P PGVERSION debian/control.in \
-               | sed -e "s:PGVERSION:$$v:" >> debian/control; \
-       done
-       touch $@
+include /usr/share/postgresql-common/pgxs_debian_control.mk
 
-clean: debian/control-stamp
+override_dh_auto_clean:
        for v in $$($(PG_BUILDEXT) supported-versions . ) ; do \
                rm -rf debian/postgresql-plproxy-$${v}; \
        done
@@ -34,13 +26,10 @@ override_dh_auto_install:
                || exit 1 ; \
        done
 
-build binary override_dh_auto_build: debian/control-stamp
-
-build binary binary-arch binary-indep:
+%:
        dh $@
 
-.PHONY: build  binary binary-arch binary-indep clean
-.PHONY: orig override_dh_auto_install override_dh_auto_clean override_dh_auto_build
+.PHONY: orig realclean
 
 PKGVERS     = $(shell dpkg-parsechangelog | awk -F '[:-]' '/^Version:/ { print substr($$2, 2) }')
 srcpkg = plproxy2_$(PKGVERS)