Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Re: postgresql-16.4 error on initdb
To:
Philip Guenther <guenther@gmail.com>
Cc:
Jeremy Evans <jeremy@openbsd.org>, OpenBSD ports <ports@openbsd.org>, misc@openbsd.org, Markus Hennecke <markus-hennecke@markus-hennecke.de>, David Hill <dhill@mindcry.org>
Date:
Fri, 23 Aug 2024 04:57:51 +0200

Download raw body.

Thread
On Thu, Aug 22, 2024 at 06:31:08PM -0700, Philip Guenther wrote:
> Whee.  Can someone send me or point me to a reproducer for this; e.g.,
> does postgresql's own test suite hit this?

Reverting fflush.c r1.10 is enough.

With the diff to databases/postgresql below (which I think we should
commit in any case), the test suite passes with the entire diff or only
the change in fflush.c reverted. I suspect this diff requires
PORTS_PRIVSEP=yes in /etc/mk.conf, which is a bit annoying to set up if
you're not used to dealing with ports.

I simply reproduced by doing this:

$ doas pkg_add postgresql-server
$ mkdir /tmp/foo
$ initdb -D /tmp/foo

Unfortunately, this does a whole lot, so the actual failure is not easy
to pin down.

Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/postgresql/Makefile,v
diff -u -p -r1.305 Makefile
--- Makefile	12 Aug 2024 17:32:01 -0000	1.305
+++ Makefile	23 Aug 2024 02:36:10 -0000
@@ -9,6 +9,7 @@ VERSION=	16.4
 PREV_MAJOR=	15
 DISTNAME=	postgresql-${VERSION}
 PKGNAME-main=	postgresql-client-${VERSION}
+REVISION=	0
 
 DPB_PROPERTIES=	parallel
 
@@ -39,6 +40,8 @@ UPDATE_PLIST_ARGS=	-i V_MAJOR
 
 USE_GMAKE=	Yes
 
+DEBUG_PACKAGES= ${BUILD_PACKAGES}
+
 CONFIGURE_STYLE=gnu
 
 MODULES=	lang/python
@@ -116,17 +119,6 @@ MAKE_ENV=	LIBpq_MAJOR=${LIBpq_VERSION:R}
 		LIBecpg_compat_MINOR=${LIBecpg_compat_VERSION:E} \
 		LIBpgtypes_MAJOR=${LIBpgtypes_VERSION:R} \
 		LIBpgtypes_MINOR=${LIBpgtypes_VERSION:E}
-
-# Regression tests must be done manually and not as root. Successful
-# runs have been achieved on the i386 using the following:
-#
-#	$ ulimit -p 128
-#	$ ulimit -n 1024
-#	$ make test NO_TEST=No
-#
-# Note, you may also need to change a variety of SYSV IPC parameters.
-# See pkg/README-server for more details
-NO_TEST=	Yes
 
 DOCS=	${WRKSRC}/COPYRIGHT ${WRKSRC}/HISTORY \
 	${WRKSRC}/INSTALL ${WRKSRC}/README \