On 11/01 04:53, Jeremy Evans wrote:
> On 10/31 07:57, Pierre-Emmanuel Andr? wrote:
> > On Mon, Oct 31, 2016 at 09:53:24AM -0700, Jeremy Evans wrote:
> > > This updates pea@'s earlier diff that targeted 9.6.0 to work with
> > > 9.6.1, and modifies it to separate pg_upgrade into a separate
> > > subpackage. The pg_upgrade subpackage depends on a new port
> > > containing the previous PostgreSQL major version.
> > >
> > > The new port is databases/postgresql-previous, and it installs
> > > into /usr/local/{bin,include,lib,share}/postgresql-9.5 directories.
> > > We could obviously use subdirectories in databases/postgresql, but
> > > that creates more ports churn. I didn't use subpackages for
> > > postgresql-previous, merging the client/server/contrib packages
> > > and dropping the docs and plpython packages. I also dropped the
> > > rc script and README. I suppose we could add back the rc script
> > > if there are users that really want to run the previous version
> > > in production and not just use it for pg_upgrade.
> > >
> > > This updates the postgresql-server README to mention the use of
> > > pg_upgrade as a possible upgrade option. Basically, instead of
> > > dumping before upgrade and reloading after, you do:
> > >
> > > pg_upgrade -b /usr/local/bin/postgresql-9.5/ \
> > > -B /usr/local/bin -U postgres \
> > > -d /var/postgresql/data.old/ -D /var/postgresql/data
> > >
> > > after stopping the old server and before starting the new server.
> > >
> > > Briefly tested with a small (~400MB) database on amd64, no problems
> > > noticed.
> > >
> > > Before this can be committed, we need to test everything that depends
> > > on PostgreSQL and make sure it still works with 9.6.1, or have working
> > > diffs that can be committed shortly after the upgrade to 9.6.1. I hope
> > > to start that work shortly.
> > >
> > > Thoughts?
> > >
> >
> > Hi,
> >
> > Thanks for your diff. I will look at it asap.
> > For PostgreSQL 9.6, ajacoutot@ ran a bulk and it breaks:
> > databases/postgresql-plv8, databases/pg_statsinfo, databases/skytools,
> > databases/postgresql-pllua
>
> Here's a diff that allows all 4 to build. No run time tests yet.
pea@ has OKed these changes, so unless I hear objections, I will be
importing postgresql-previous, upgrading postgresql to 9.6.1,
and committing the fixes to these four ports. If anyone else wants to
review and OK, that would be great.
Thanks,
Jeremy
>
> Thanks,
> Jeremy
>
> Index: postgresql-plv8/Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/postgresql-plv8/Makefile,v
> retrieving revision 1.8
> diff -u -p -r1.8 Makefile
> --- postgresql-plv8/Makefile 1 Jul 2016 11:38:35 -0000 1.8
> +++ postgresql-plv8/Makefile 1 Nov 2016 11:21:36 -0000
> @@ -6,7 +6,7 @@ ONLY_FOR_ARCHS = amd64 i386
> COMMENT = PostgreSQL V8 javascript procedual language
>
> VERSION = 1.4.2
> -REVISION = 2
> +REVISION = 3
> DISTNAME = plv8-${VERSION}
> PKGNAME = postgresql-${DISTNAME}
>
> @@ -24,7 +24,7 @@ EXTRACT_SUFX = .zip
>
> BUILD_DEPENDS = ${RUN_DEPENDS}
> LIB_DEPENDS = lang/libv8
> -RUN_DEPENDS =
> postgresql-server->=9.5,<9.6:databases/postgresql,-server
> +RUN_DEPENDS =
> postgresql-server->=9.6,<9.7:databases/postgresql,-server
>
> MAKE_FLAGS = V8DIR=${LOCALBASE}/lib \
> CUSTOM_CC="${CXX}" \
> Index: postgresql-pllua/Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/postgresql-pllua/Makefile,v
> retrieving revision 1.7
> diff -u -p -r1.7 Makefile
> --- postgresql-pllua/Makefile 13 May 2016 14:36:37 -0000 1.7
> +++ postgresql-pllua/Makefile 1 Nov 2016 11:20:39 -0000
> @@ -5,7 +5,7 @@ COMMENT = Lua procedural language suppo
> VERSION = 1.0
> DISTNAME = pllua-${VERSION}
> PKGNAME = postgresql-pllua-${VERSION}
> -REVISION = 1
> +REVISION = 2
>
> CATEGORIES = databases
>
> @@ -22,7 +22,7 @@ MASTER_SITES = http://pgfoundry.org/frs
>
> MODULES = lang/lua
> BUILD_DEPENDS = ${RUN_DEPENDS}
> -RUN_DEPENDS =
> postgresql-server->=9.5,<9.6:databases/postgresql,-server
> +RUN_DEPENDS =
> postgresql-server->=9.6,<9.7:databases/postgresql,-server
>
> USE_GMAKE = Yes
>
> Index: pg_statsinfo/Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/pg_statsinfo/Makefile,v
> retrieving revision 1.8
> diff -u -p -r1.8 Makefile
> --- pg_statsinfo/Makefile 11 Sep 2016 20:54:12 -0000 1.8
> +++ pg_statsinfo/Makefile 1 Nov 2016 11:52:48 -0000
> @@ -4,7 +4,7 @@ COMMENT = monitor PostgreSQL activity &
>
> DISTNAME = pg_statsinfo-3.2.1
> CATEGORIES = databases
> -REVISION = 0
> +REVISION = 1
>
> HOMEPAGE = http://pgstatsinfo.sourceforge.net/
>
> Index: pg_statsinfo/patches/patch-agent_lib_libstatsinfo_c
> ===================================================================
> RCS file:
> /cvs/ports/databases/pg_statsinfo/patches/patch-agent_lib_libstatsinfo_c,v
> retrieving revision 1.3
> diff -u -p -r1.3 patch-agent_lib_libstatsinfo_c
> --- pg_statsinfo/patches/patch-agent_lib_libstatsinfo_c 13 May 2016
> 22:09:21 -0000 1.3
> +++ pg_statsinfo/patches/patch-agent_lib_libstatsinfo_c 1 Nov 2016
> 11:48:12 -0000
> @@ -1,7 +1,24 @@
> $OpenBSD: patch-agent_lib_libstatsinfo_c,v 1.3 2016/05/13 22:09:21 landry
> Exp $
> ---- agent/lib/libstatsinfo.c.orig Fri Feb 12 10:49:13 2016
> -+++ agent/lib/libstatsinfo.c Fri May 13 23:34:34 2016
> -@@ -1693,9 +1693,11 @@ statsinfo_restart(PG_FUNCTION_ARGS)
> +--- agent/lib/libstatsinfo.c.orig Fri Feb 12 01:49:13 2016
> ++++ agent/lib/libstatsinfo.c Tue Nov 1 04:48:05 2016
> +@@ -476,6 +476,7 @@ sample_activity(void)
> + int waiting;
> + int running;
> + int i;
> ++ volatile PGPROC *proc = MyProc;
> +
> + if (!long_xacts)
> + {
> +@@ -515,7 +516,7 @@ sample_activity(void)
> + */
> + if (be->st_procpid == MyProcPid)
> + ; /* exclude myself */
> +- else if (be->st_waiting)
> ++ else if (proc->wait_event_info)
> + waiting++;
> + #if PG_VERSION_NUM >= 90200
> + else if (be->st_state == STATE_IDLE)
> +@@ -1693,9 +1694,11 @@ statsinfo_restart(PG_FUNCTION_ARGS)
> #define NUM_STAT_FIELDS_MIN 6
>
> /* not support a kernel that does not have the required fields at
> "/proc/stat" */
> @@ -13,7 +30,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
>
> /*
> * statsinfo_cpustats - get cpu information
> -@@ -1734,6 +1736,7 @@ statsinfo_cpustats_noarg(PG_FUNCTION_ARGS)
> +@@ -1734,6 +1737,7 @@ statsinfo_cpustats_noarg(PG_FUNCTION_ARGS)
> PG_RETURN_DATUM(get_cpustats(fcinfo, 0, 0, 0, 0));
> }
>
> @@ -21,7 +38,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
> static Datum
> get_cpustats(FunctionCallInfo fcinfo,
> int64 prev_cpu_user,
> -@@ -1746,6 +1749,59 @@ get_cpustats(FunctionCallInfo fcinfo,
> +@@ -1746,6 +1750,59 @@ get_cpustats(FunctionCallInfo fcinfo,
> int64 cpu_system;
> int64 cpu_idle;
> int64 cpu_iowait;
> @@ -81,7 +98,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
> List *records = NIL;
> List *fields = NIL;
> HeapTuple tuple;
> -@@ -1818,6 +1874,7 @@ get_cpustats(FunctionCallInfo fcinfo,
> +@@ -1818,6 +1875,7 @@ get_cpustats(FunctionCallInfo fcinfo,
>
> return HeapTupleGetDatum(tuple);
> }
> @@ -89,7 +106,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
>
> #define NUM_DEVICESTATS_COLS 17
> #define TYPE_DEVICE_TABLESPACES TEXTOID
> -@@ -1991,10 +2048,46 @@ statsinfo_devicestats(PG_FUNCTION_ARGS)
> +@@ -1991,10 +2049,46 @@ statsinfo_devicestats(PG_FUNCTION_ARGS)
> /*
> * statsinfo_loadavg - get loadavg information
> */
> @@ -136,7 +153,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
> int fd;
> char buffer[256];
> int nbytes;
> -@@ -2053,6 +2146,7 @@ statsinfo_loadavg(PG_FUNCTION_ARGS)
> +@@ -2053,6 +2147,7 @@ statsinfo_loadavg(PG_FUNCTION_ARGS)
>
> return HeapTupleGetDatum(tuple);
> }
> @@ -144,7 +161,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
>
> #define FILE_MEMINFO "/proc/meminfo"
> #define NUM_MEMORY_COLS 5
> -@@ -2072,6 +2166,7 @@ compare_meminfo_table(const void *a, const void *b)
> +@@ -2072,6 +2167,7 @@ compare_meminfo_table(const void *a, const void *b)
> /*
> * statsinfo_memory - get memory information
> */
> @@ -152,7 +169,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
> Datum
> statsinfo_memory(PG_FUNCTION_ARGS)
> {
> -@@ -2079,6 +2174,36 @@ statsinfo_memory(PG_FUNCTION_ARGS)
> +@@ -2079,6 +2175,36 @@ statsinfo_memory(PG_FUNCTION_ARGS)
> HeapTuple tuple;
> Datum values[NUM_MEMORY_COLS];
> bool nulls[NUM_MEMORY_COLS];
> @@ -189,7 +206,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
> int fd;
> char buffer[2048];
> int nbytes;
> -@@ -2177,6 +2302,7 @@ nextline:
> +@@ -2177,6 +2303,7 @@ nextline:
>
> return HeapTupleGetDatum(tuple);
> }
> @@ -197,7 +214,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
>
> #define FILE_PROFILE "/proc/systemtap/statsinfo_prof/profile"
> #define NUM_PROFILE_COLS 3
> -@@ -2185,9 +2311,16 @@ nextline:
> +@@ -2185,9 +2312,16 @@ nextline:
> /*
> * statsinfo_profile - get profile information
> */
> @@ -214,7 +231,7 @@ $OpenBSD: patch-agent_lib_libstatsinfo_c
> ReturnSetInfo *rsinfo = (ReturnSetInfo *) fcinfo->resultinfo;
> TupleDesc tupdesc;
> Tuplestorestate *tupstore;
> -@@ -2294,6 +2427,7 @@ statsinfo_profile(PG_FUNCTION_ARGS)
> +@@ -2294,6 +2428,7 @@ statsinfo_profile(PG_FUNCTION_ARGS)
>
> PG_RETURN_VOID();
> }
> Index: skytools/Makefile
> ===================================================================
> RCS file: /cvs/ports/databases/skytools/Makefile,v
> retrieving revision 1.23
> diff -u -p -r1.23 Makefile
> --- skytools/Makefile 25 Aug 2015 12:57:33 -0000 1.23
> +++ skytools/Makefile 1 Nov 2016 11:29:51 -0000
> @@ -4,7 +4,7 @@ COMMENT= PostgreSQL tools from Skype
>
> MODPY_EGG_VERSION= 3.1.1
> DISTNAME= skytools-${MODPY_EGG_VERSION}
> -REVISION= 1
> +REVISION= 2
>
> CATEGORIES= databases
>
> Index: skytools/patches/patch-sql_pgq_triggers_stringutil_c
> ===================================================================
> RCS file: skytools/patches/patch-sql_pgq_triggers_stringutil_c
> diff -N skytools/patches/patch-sql_pgq_triggers_stringutil_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ skytools/patches/patch-sql_pgq_triggers_stringutil_c 1 Nov 2016
> 11:30:38 -0000
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +Fix build on PostgreSQL 9.6, patch taken from
> +https://github.com/markokr/skytools/pull/56
> +
> +--- sql/pgq/triggers/stringutil.c.orig Tue Nov 1 04:28:50 2016
> ++++ sql/pgq/triggers/stringutil.c Tue Nov 1 04:28:53 2016
> +@@ -19,7 +19,11 @@
> + #include <postgres.h>
> + #include <lib/stringinfo.h>
> + #include <mb/pg_wchar.h>
> ++#if PG_VERSION_NUM >= 90600
> ++#include <common/keywords.h>
> ++#else
> + #include <parser/keywords.h>
> ++#endif
> + #include <utils/memutils.h>
> +
> + #include "stringutil.h"