Skip site navigation (1) Skip section navigation (2)

Re: Updated pg_buildext

From: Christoph Berg <myon(at)debian(dot)org>
To: Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
Cc: PostgreSQL in Debian <pgsql-pkg-debian(at)postgresql(dot)org>
Subject: Re: Updated pg_buildext
Date: 2011-06-18 18:12:29
Message-ID: 20110618181228.GB19843@msgid.df7cb.de (view raw or flat)
Thread:
Lists: pgsql-pkg-debian
Re: Dimitri Fontaine 2011-06-18 <m2sjr7m9ra(dot)fsf(at)2ndQuadrant(dot)fr>
> I recall that doing the build in the vtarget directory was important in
> my usage, but it could be that you new -f $makefile style allows to run
> the build from any directory…

I didn't really change that, I just replaced "cd && make" with "make -C".

Usually, there won't be a Makefile in the build directory, so
$makefile is "-f $srcdir/Makefile" as before. The other case was added
for plsh which uses autoconf.

(build)
-    cd $vtarget
-    make -f $srcdir/Makefile CFLAGS="$cflags $opt" PG_CONFIG="$pgc" VPATH="$srcdir"
-    cd -
+    # 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" PG_CONFIG="$pgc" VPATH="$srcdir"

> > (Todo: think about a smart and policy-compliant way to update
> > debian/control. Also, try using with 9.1 modules.)
> 
> As we rely on the extension's Makefile I think we're as good as can be
> for 9.1.  For debian/control, we have the mechanism to automatically
> derive it from supported-versions, we need to reach on a conclusion
> about its use being safe.

The thread on debian-release wasn't 100% conclusive, but there were
voices against automatically updating:

http://lists.debian.org/debian-release/2011/04/msg00413.html

Here's what I would do:

* add all supported (by the package) versions to debian/control, but
  only build those from supported-versions
* have some way to update debian/control (ideally not involving
  debian/control.in because manual changes to debian/control get lost)
* have some way to indicate that we want to build a different set of
  versions, 1) it would make sense to build 9.1 modules when uploading
  to experimental now, 2) we need that for apt.postgresql.org

> The other TODO would be what to do about VPATH unfriendly extensions.
> Some of them are using subdirectories where to stash regression tests,
> docs, etc.  Then building from another place is a problem:  maybe that's
> why you removed my forcing building in $vtarget?

These probably require full (configure,) build && install cycles for
each version. Usually install is invoked via fakeroot, but maybe we
can go without.

Christoph
-- 
cb(at)df7cb(dot)de | http://www.df7cb.de/

In response to

Responses

pgsql-pkg-debian by date

Next:From: Dimitri FontaineDate: 2011-06-18 18:39:09
Subject: Re: Updated pg_buildext
Previous:From: Dimitri FontaineDate: 2011-06-18 15:36:57
Subject: Re: Updated pg_buildext

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group