Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pg_buildext(1) [debian man page]

PG_BUILDEXT(1)						 Debian PostgreSQL infrastructure					    PG_BUILDEXT(1)

NAME
pg_buildext - Build and install a PostgreSQL extension SYNOPSIS
pg_buildext action srcdir target opts DESCRIPTION
pg_buildext is a script that will build a PostgreSQL extension in a VPATH way. It supports the configure, build, install, and clean actions, and will choose to build for the intersection of versions known in debian/pgversions (versions supported by the package) and in /usr/share/postgresql-common/supported-versions (versions supported in this release). OPTIONS
action One of configure, build, install, or clean. srcdir Where to find the extension sources, including the debian subdirectory. (Usually $(CURDIR).) If not specified, defaults to the current directory. target The target directory where to build the sources, it will get created for you if it does not exist. If the target contains a %v sign, it will get replaced by the specific version of PostgreSQL being built against. (Usually build-%v.) opts %v signs in opts will get replaced as in target. configure Options to pass to the configure script. (Most PostgreSQL extensions do not have a configure script.) build Custom CFLAGS options to use for the build. install Package name to install for. Make will be called with DESTDIR="srcdir/debian/package". clean clean does not take extra options. USAGE
As pg_buildext invokes make for the build, install, and clean actions, invocations from debian/rules (which is a makefile) should be prefixed with + so the sub-makes can talk with the make jobserver. EXAMPLE
build-stamp: +pg_buildext configure $(CURDIR) build-%v "--libdir=/usr/lib/postgresql/%v/lib --datadir=/usr/share/postgresql-%v-plsh" +pg_buildext build $(CURDIR) build-%v install: build +pg_buildext install $(CURDIR) build-%v postgresql-%v-plsh clean: +pg_buildext clean $(CURDIR) build-%v AUTHOR
Dimitri Fontaine <dim@tapoueh.org>, with extensions by Christoph Berg <myon@debian.org>. Debian 2012-10-08 PG_BUILDEXT(1)

Check Out this Related Man Page

DPATCH.MAKE(7)							      dpatch							    DPATCH.MAKE(7)

NAME
dpatch.make - simplistic wrapper around dpatch(1) for make(1). SYNOPSIS
include /usr/share/dpatch/dpatch.make DESCRIPTION
For backwards compatibility and ease of use, dpatch.make is provided along with dpatch(1). Its purpose is to implement generic patch and unpatch rules that can be reused in debian/rules scripts. WARNING
dpatch is deprecated, please switch to the `3.0 (quilt)' Debian source package format instead. See http://wiki.debian.org/Projects/Deb- Src3.0#FAQ for a short guide on how to do it. USAGE
Using dpatch.make is rather straightforward: one has to include the file in debian/rules, change the appropriate targets to depend on patch and unpatch, and that is all it takes. Figuring out what the appropriate target is, requires some thought. Generally, one has a build target, or config.status, or configure (or any of these with a -stamp suffix). Most of the time these are called first during the build, so one of these (the one that exists, and is not depended upon by another one) has to be modified to depend on the patch target in dpatch.make. Doing the same for the clean target is easier. One only has to rename the old rule to, say, clean-patched, then make a new one that has clean-patched and unpatch in its list of prerequisites. CUSTOMISATION
There are a few variables which are used by dpatch.make, which can be set before including it, in order to change the systems behaviour a little. These variables are: DEB_SOURCE_PACKAGE This is the name of the source package, used when creating the stamp file. By default, it is empty. DPATCH_STAMPDIR This is the directory where stamp files will be put. Default is debian/patched. DPATCH_STAMPFN The name of the stamp file, which contains the patch descriptions and other possible meta-data. Default value is patch-stamp. DPATCH_PREDEPS A list of make targets to call before applying the dpatch. DPATCH_WORKDIR The target directory to apply patches to. By default, it is the current directory. PATCHLIST The list of patches to apply. This is an alternative to debian/patches/00list - that is, if this variable is not empty, the contents of 00list will be ignored, and this variable will be used instead. EXAMPLE
include /usr/share/dpatch/dpatch.make build: build-stamp build-stamp: patch-stamp ${MAKE} touch build-stamp clean: clean1 unpatch clean1: ${MAKE} clean rm -rf debian/files debian/substvars debian/imaginary-package .PHONY: patch unpatch ... . . . SIDE EFFECTS
Using dpatch.make instead of calling dpatch directly has one side effect: it will create a file called patch-stamp containing some meta-information extracted from the scriptlets. Depending on a phony patch target directly from build target may cause build target to be reevaluated even when there is no change to be done. Instead, try making build-stamp depend on patch-stamp as specified in this example. AUTHOR
Originally by Gergely Nagy. Modified by Junichi Uekawa. SEE ALSO
dpatch(1), dpatch(7), dpatch-edit-patch(1), dpatch-list-patch(1), dpatch-convert-diffgz(1) DPATCH 2 Dec 13 2011 DPATCH.MAKE(7)
Man Page