summaryrefslogtreecommitdiffstats
path: root/dh_make_pgxs
diff options
context:
space:
mode:
Diffstat (limited to 'dh_make_pgxs')
-rw-r--r--dh_make_pgxs/debian/compat1
-rw-r--r--dh_make_pgxs/debian/control.in16
-rw-r--r--dh_make_pgxs/debian/copyright24
-rw-r--r--dh_make_pgxs/debian/pgversions1
-rwxr-xr-xdh_make_pgxs/debian/rules21
-rw-r--r--dh_make_pgxs/debian/source/format1
-rw-r--r--dh_make_pgxs/debian/tests/control3
-rwxr-xr-xdh_make_pgxs/debian/tests/installcheck2
-rwxr-xr-xdh_make_pgxs/dh_make_pgxs112
-rw-r--r--dh_make_pgxs/dh_make_pgxs.pod39
10 files changed, 220 insertions, 0 deletions
diff --git a/dh_make_pgxs/debian/compat b/dh_make_pgxs/debian/compat
new file mode 100644
index 0000000..57d1b61
--- /dev/null
+++ b/dh_make_pgxs/debian/compat
@@ -0,0 +1 @@
+@COMPAT@
diff --git a/dh_make_pgxs/debian/control.in b/dh_make_pgxs/debian/control.in
new file mode 100644
index 0000000..d77bd1b
--- /dev/null
+++ b/dh_make_pgxs/debian/control.in
@@ -0,0 +1,16 @@
+Source: @SOURCE@
+Section: database
+Priority: optional
+Maintainer: Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org>
+Uploaders: @MAINTAINER_NAME@ <@DEBEMAIL@>
+Build-Depends: debhelper (>= @COMPAT@), postgresql-server-dev-all (>= 153~)
+Standards-Version: @STANDARDS_VERSION@
+Vcs-Browser: https://salsa.debian.org/postgresql/@SOURCE@
+Vcs-Git: https://salsa.debian.org/postgresql/@SOURCE@.git
+#Homepage: @URL@
+
+Package: postgresql-PGVERSION-@EXTNAME@
+Architecture: any
+Depends: postgresql-PGVERSION, ${misc:Depends}, ${shlibs:Depends}
+Description: FIXME PostgreSQL extension @SOURCE@
+ FIXME long description here
diff --git a/dh_make_pgxs/debian/copyright b/dh_make_pgxs/debian/copyright
new file mode 100644
index 0000000..be674ea
--- /dev/null
+++ b/dh_make_pgxs/debian/copyright
@@ -0,0 +1,24 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: @NAME@
+#Source: @URL@
+
+Files: *
+Copyright: Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
+ Portions Copyright (c) 1994, The Regents of the University of California
+License: PostgreSQL
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose, without fee, and without a written agreement
+ is hereby granted, provided that the above copyright notice and this
+ paragraph and the following two paragraphs appear in all copies.
+ .
+ IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
+ DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
+ LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
+ DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ .
+ THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
+ PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
diff --git a/dh_make_pgxs/debian/pgversions b/dh_make_pgxs/debian/pgversions
new file mode 100644
index 0000000..0702cb5
--- /dev/null
+++ b/dh_make_pgxs/debian/pgversions
@@ -0,0 +1 @@
+all
diff --git a/dh_make_pgxs/debian/rules b/dh_make_pgxs/debian/rules
new file mode 100755
index 0000000..7b28bd8
--- /dev/null
+++ b/dh_make_pgxs/debian/rules
@@ -0,0 +1,21 @@
+#!/usr/bin/make -f
+
+include /usr/share/postgresql-common/pgxs_debian_control.mk
+
+override_dh_auto_build:
+ +pg_buildext build build-%v
+
+override_dh_auto_test:
+ # nothing to do here, see debian/tests/* instead
+
+override_dh_auto_install:
+ +pg_buildext install build-%v postgresql-%v-@EXTNAME@
+
+override_dh_installdocs:
+ dh_installdocs --all README.*
+
+override_dh_auto_clean:
+ +pg_buildext clean build-%v
+
+%:
+ dh $@
diff --git a/dh_make_pgxs/debian/source/format b/dh_make_pgxs/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/dh_make_pgxs/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/dh_make_pgxs/debian/tests/control b/dh_make_pgxs/debian/tests/control
new file mode 100644
index 0000000..b0dc4e8
--- /dev/null
+++ b/dh_make_pgxs/debian/tests/control
@@ -0,0 +1,3 @@
+Depends: @, postgresql-server-dev-all
+Tests: installcheck
+Restrictions: allow-stderr
diff --git a/dh_make_pgxs/debian/tests/installcheck b/dh_make_pgxs/debian/tests/installcheck
new file mode 100755
index 0000000..32dafbc
--- /dev/null
+++ b/dh_make_pgxs/debian/tests/installcheck
@@ -0,0 +1,2 @@
+#!/bin/sh
+pg_buildext installcheck
diff --git a/dh_make_pgxs/dh_make_pgxs b/dh_make_pgxs/dh_make_pgxs
new file mode 100755
index 0000000..6567b36
--- /dev/null
+++ b/dh_make_pgxs/dh_make_pgxs
@@ -0,0 +1,112 @@
+#!/bin/bash
+
+# (C) 2015-2017 Christoph Berg <myon@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+set -eu
+
+# basic variables
+
+template_dir="/usr/share/postgresql-common/dh_make_pgxs/debian"
+DIRECTORY="$(basename $PWD)"
+NAME="${DIRECTORY%-*}" # Upstream name
+VERSION="${DIRECTORY##*-}"
+
+# options
+
+while getopts "fn:v:" opt ; do
+ case $opt in
+ f) FORCE=yes ;;
+ n) NAME="$OPTARG" ;;
+ v) VERSION="$OPTARG" ;;
+ *) exit 5 ;;
+ esac
+done
+shift $((OPTIND - 1)) # shift away args
+
+# more variables
+
+SOURCE="${NAME//_/-}" # Debian name
+EXTNAME="$(echo $SOURCE | sed -e 's/^\(postgresql\|pgsql\|pg\)-//')" # binary package name suffix
+COMPAT="$(apt-cache show debhelper | sed -n 's/Version: \([0-9]*\)\..*/\1/p' | head -n1)"
+STANDARDS_VERSION="$(apt-cache show debian-policy | sed -n 's/Version: \(.*\)\..*/\1/p' | head -n1)"
+USERNAME=${LOGNAME:-${USER:-root}}
+MAINTAINER_NAME=$(getent passwd $USERNAME | cut -d : -f 5 | sed -e 's/,.*//')
+: ${DEBEMAIL:=$USERNAME@localhost}
+
+echo "Upstream: $NAME ($VERSION)"
+echo "Debian: $SOURCE ($VERSION-1)"
+echo "Binaries: postgresql-PGVERSION-$EXTNAME ($VERSION-1)"
+echo "Uploader: $MAINTAINER_NAME <$DEBEMAIL>"
+echo
+if [ -t 0 ]; then
+ echo -n "Press Enter to continue, ^C to abort "
+ read
+fi
+
+# install files
+
+install_dir ()
+{
+ local directory="debian/$1"
+ #[ -z "$directory" ] && return
+ [ -d "$directory" ] && return
+ echo "Creating $directory/"
+ mkdir "$directory"
+}
+
+install_template ()
+{
+ local template="$1"
+
+ if [ "${FORCE:-}" ] || ! [ -e debian/$template ]; then
+ echo "Installing debian/$template"
+ sed -e "s/@COMPAT@/$COMPAT/g" \
+ -e "s/@EXTNAME@/$EXTNAME/g" \
+ -e "s/@NAME@/$NAME/g" \
+ -e "s/@STANDARDS_VERSION@/$STANDARDS_VERSION/g" \
+ -e "s/@SOURCE@/$SOURCE/g" \
+ -e "s/@MAINTAINER_NAME@/$MAINTAINER_NAME/g" \
+ -e "s/@DEBEMAIL@/$DEBEMAIL/g" \
+ "$template_dir/$template" > "debian/$template"
+ if [ -x $template_dir/$template ]; then
+ chmod +x "debian/$template"
+ fi
+ else
+ echo "Keeping existing debian/$template"
+ fi
+}
+
+mkdir -p debian
+
+for template in $(find $template_dir -mindepth 1 | sort); do
+ case $template in
+ *.swp|*~) continue ;; # skip vim stuff
+ esac
+ basename=${template##$template_dir/}
+ if [ -d $template ]; then
+ install_dir "$basename"
+ else
+ install_template "$basename"
+ fi
+done
+
+echo "Updating debian/control from debian/control.in"
+pg_buildext updatecontrol
+
+if [ "${FORCE:-}" ] || ! [ -e debian/changelog ]; then
+ rm -f debian/changelog
+ echo "Creating debian/changelog"
+ dch --create --package "$SOURCE" --newversion "$VERSION-1"
+else
+ echo "Keeping existing debian/changelog"
+fi
diff --git a/dh_make_pgxs/dh_make_pgxs.pod b/dh_make_pgxs/dh_make_pgxs.pod
new file mode 100644
index 0000000..d67197b
--- /dev/null
+++ b/dh_make_pgxs/dh_make_pgxs.pod
@@ -0,0 +1,39 @@
+=head1 NAME
+
+dh_make_pgxs - Create a new Debian source package for a PGXS PostgreSQL extension
+
+=head1 SYNOPSIS
+
+B<dh_make_pgxs> [B<-f>] [B<-n> I<name>] [B<-v> I<version>]
+
+=head1 DESCRIPTION
+
+B<dh_make_pgxs> creates a F<debian/> directory tree for PostgreSQL extension
+packages using the PGXS build system. The B<pg_buildext> tool is used for the
+build process.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-f>
+
+Overwrite existing files.
+
+=item B<-n> I<name>
+
+Package name to use. Default is to extract it from the current directory's name.
+
+=item B<-v> I<version>
+
+Package version to use. Default is to extract it from the current directory's name.
+
+=back
+
+=head1 SEE ALSO
+
+dh_make(1), pg_buildext(1).
+
+=head1 AUTHOR
+
+Christoph Berg L<E<lt>myon@debian.orgE<gt>>