Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 2010 17:19:00 -0800
From:      Jason Helfman <jhelfman@experts-exchange.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/153136: [patch] databases/postgresql84-server: allow for postgres user to be configurable
Message-ID:  <1292289540.325037.80575.nullmailer@experts-exchange.com>
Resent-Message-ID: <201012140130.oBE1UARL012336@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         153136
>Category:       ports
>Synopsis:       [patch] databases/postgresql84-server: allow for postgres user to be configurable
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 14 01:30:10 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Jason Helfman
>Release:        FreeBSD 8.1-RELEASE i386
>Organization:
Experts-Exchange, LLC.
>Environment:
System: FreeBSD eggman.experts-exchange.com 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:
Allow for postgres user to be something other than "pgsql," but pgsql should be default.

>How-To-Repeat:
	1. Rename the PostgreSQL OS user name with PW(8).
	2. Run "/usr/local/etc/rc.d/postgresql start"
	3. It will say: "su: unknown login: pgsql"
>Fix:
This is largely a copy of ports/113707, however, in my humble opinion, I believe this patch would be something that may be considered more of an acceptable solution.

--- postgresql84-server/Makefile.orig	2010-12-13 16:03:19.000000000 -0800
+++ postgresql84-server/Makefile	2010-12-13 16:08:08.000000000 -0800
@@ -36,8 +36,9 @@
 .undef GNU_CONFIGURE
 .endif
 
-PGUSER=		pgsql
-PGGROUP=	pgsql
+PGUSER?=	pgsql
+PGGROUP?=	pgsql
+PGUID?=		70
 
 LDFLAGS+=	-L${LOCALBASE}/lib
 INCLUDES+=	-I${LOCALBASE}/include
@@ -281,7 +282,11 @@
 	done
 
 .  if exists(${FILESDIR}/pkg-message${PKGNAMESUFFIX}.in)
-SUB_FILES+=	pkg-message${PKGNAMESUFFIX}
+SUB_FILES+=	pkg-install-server \
+		pkg-message${PKGNAMESUFFIX}
+SUB_LIST+=	PGGROUP=${PGGROUP} \
+		PGUSER=${PGUSER} \
+		PGUID=${PGUID}
 PKGMESSAGE=	${WRKSRC}/pkg-message${PKGNAMESUFFIX}
 .  endif
 .endif
--- postgresql84-server/pkg-install-server.orig	2010-12-13 16:04:53.000000000 -0800
+++ postgresql84-server/pkg-install-server	2010-12-13 16:10:47.000000000 -0800
@@ -3,6 +3,9 @@
 # $FreeBSD: ports/databases/postgresql84-server/pkg-install-server,v 1.7 2008/02/18 12:55:02 girgen Exp $
 
 PATH=/bin:/usr/bin:/usr/sbin
+PGUSER=%%PGUSER%%
+PGGROUP=%%PGGROUP%%
+PGUID=%%PGUID%%
 
 backupwarning() { echo "
 
@@ -22,11 +25,11 @@
 case $2 in
 PRE-INSTALL)
 	backupwarning
-	PGUSER=${PGUSER:-pgsql}
-	PGGROUP=${PGGROUP:-pgsql}
+	PGUSER=${PGUSER:-${PGUSER}}
+	PGGROUP=${PGGROUP:-${PGGROUP}}
 	DB_DIR=${PKG_PREFIX}/${PGUSER}
-	UID=70
-	GID=70
+	UID=${PGUID}
+	GID=${PGUID}
 
 	if pw group show "${PGGROUP}" 2>/dev/null; then
 		echo "You already have a group \"${PGGROUP}\", so I will use it."
--- postgresql84-server/files/postgresql.in.orig	2010-12-13 16:03:32.000000000 -0800
+++ postgresql84-server/files/postgresql.in	2010-12-13 17:08:31.000000000 -0800
@@ -32,7 +32,7 @@
 # set defaults
 postgresql_enable=${postgresql_enable:-"NO"}
 postgresql_flags=${postgresql_flags:-"-w -s -m fast"}
-postgresql_user=pgsql
+postgresql_user=${postgresql_user:-"%%PGUSER%%"}
 eval postgresql_data=${postgresql_data:-"~${postgresql_user}/data"}
 postgresql_class=${postgresql_class:-"default"}
 postgresql_initdb_flags=${postgresql_initdb_flags:-"--encoding=utf-8 --lc-collate=C"}
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1292289540.325037.80575.nullmailer>