public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-24 19:58 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-24 19:58 UTC (permalink / raw
  To: gentoo-commits

commit:     0bd46073b45a57809b2ff7a85ebb39f72681f253
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu May 24 19:26:05 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu May 24 19:26:05 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=0bd46073

Don't just check for the variable, but see if it's true!

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 06f2d23..ae3c561 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -51,7 +51,7 @@ checkconfig() {
             status=1
         fi
     done
-    if [ ${status} ] ; then
+    if [ ${status} -eq 1 ] ; then
         eerror "HINT: Try:"
         eerror "    mv ${DATA_DIR%/}/*.conf ${PGDATA}"
         return 1



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2014-04-23  1:52 Mike Gilbert
  0 siblings, 0 replies; 35+ messages in thread
From: Mike Gilbert @ 2014-04-23  1:52 UTC (permalink / raw
  To: gentoo-commits

commit:     1df0c1913e44666192bdde8285c3e7e09ebff84b
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 28 03:35:29 2013 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Oct 28 03:35:29 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=1df0c191

Replace /usr/lib with /usr/@LIBDIR@

---
 postgresql.init    | 4 ++--
 postgresql.service | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 6e0e965..413558e 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -89,7 +89,7 @@ start() {
         --env "PGPORT=${configured_port}" \
         ${extraenv} \
         --pidfile ${DATA_DIR%/}/postmaster.pid \
-        --exec /usr/lib/postgresql-@SLOT@/bin/pg_ctl \
+        --exec /usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl \
         -- start -s -w -t ${START_TIMEOUT} -l ${DATA_DIR%/}/postmaster.log \
                  -D ${PGDATA} -o "--data-directory=${DATA_DIR} ${PGOPTS}"
     local retval=$?
@@ -124,7 +124,7 @@ stop() {
 
     # Loops through nice, rude, and force quit in one go.
     start-stop-daemon --stop \
-        --exec /usr/lib/postgresql-@SLOT@/bin/postgres \
+        --exec /usr/@LIBDIR@/postgresql-@SLOT@/bin/postgres \
         --retry ${retries} \
         --pidfile ${DATA_DIR%/}/postmaster.pid
 

diff --git a/postgresql.service b/postgresql.service
index f8be8ac..20ed27a 100644
--- a/postgresql.service
+++ b/postgresql.service
@@ -37,9 +37,9 @@ Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
 # StandardOutput=syslog
 
 ExecStartPre=/usr/bin/postgresql-@SLOT@-check-db-dir
-ExecStart=/usr/lib/postgresql-@SLOT@/bin/pg_ctl start -D ${DATA_DIR} -s -l ${DATA_DIR}/postmaster.log -o "-p ${PGPORT} -D ${PGDATA} --data-directory=${DATA_DIR}" -w -t 300
-ExecStop=/usr/lib/postgresql-@SLOT@/bin/pg_ctl stop -D ${DATA_DIR} -s -m fast
-ExecReload=/usr/lib/postgresql-@SLOT@/bin/pg_ctl reload -D ${DATA_DIR} -s
+ExecStart=/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl start -D ${DATA_DIR} -s -l ${DATA_DIR}/postmaster.log -o "-p ${PGPORT} -D ${PGDATA} --data-directory=${DATA_DIR}" -w -t 300
+ExecStop=/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl stop -D ${DATA_DIR} -s -m fast
+ExecReload=/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl reload -D ${DATA_DIR} -s
 
 # Give a reasonable amount of time for the server to start up/shut down
 TimeoutSec=300


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-08-21  0:59 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-08-21  0:59 UTC (permalink / raw
  To: gentoo-commits

commit:     dbf7529b88ea447dbfed0bf3f1a9c7627e6285af
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 21 00:59:16 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed Aug 21 00:59:16 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=dbf7529b

Updated systemd files.

---
 postgresql-check-db-dir | 36 ++++++++++++++++++++++++++++++++++++
 postgresql.service      | 14 +++++++-------
 2 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/postgresql-check-db-dir b/postgresql-check-db-dir
new file mode 100644
index 0000000..d4e1083
--- /dev/null
+++ b/postgresql-check-db-dir
@@ -0,0 +1,36 @@
+#!/bin/sh
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+eerror() {
+    echo "$@" >&2
+}
+
+# Check that DATA_DIR has been set
+if [ -z ${DATA_DIR} ] ; then
+    eerror "DATA_DIR not set"
+    exit 1
+fi
+
+# Check that DATA_DIR exists
+if [ ! -d ${DATA_DIR} ] ; then
+    eerror "Directory not found: ${DATA_DIR}"
+    eerror "HINT: Ensure that DATA_DIR points to the right path."
+    eerror "HINT: Or perhaps you need to create the database cluster:"
+    eerror "    emerge --config dev-db/postgresql-server:@SLOT@"
+    exit 1
+fi
+
+# Check for the existence of PostgreSQL's config files, and set the
+# proper mode and ownership.
+# Only three files should be checked as potentially other files
+# may be in PGDATA that should not be touched.
+for file in postgresql pg_hba pg_ident ; do
+    file="${PGDATA%/}/${file}.conf"
+    if [ ! -f ${file} ] ; then
+        eerror "${file} not found"
+        eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
+        exit 1
+    fi
+done

diff --git a/postgresql.service b/postgresql.service
index 3d70197..f8be8ac 100644
--- a/postgresql.service
+++ b/postgresql.service
@@ -36,16 +36,16 @@ Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
 # This is normally controlled by the global default set by systemd
 # StandardOutput=syslog
 
-# Disable OOM kill on the postmaster
-OOMScoreAdjust=-1000
-
-#ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA}
-ExecStart=/usr/lib/postgresql-@SLOT@/bin/pg_ctl start -D ${PGDATA} -s -l ${DATA_DIR}/postmaster.log -o "-p ${PGPORT} --data-directory=${DATA_DIR}" -w -t 300
-ExecStop=/usr/lib/postgresql-@SLOT@/bin/pg_ctl stop -D ${PGDATA} -s -m fast -o "--data-directory=${DATA_DIR}"
-ExecReload=/usr/lib/postgresql-@SLOT@/bin/pg_ctl reload -D ${PGDATA} -s -o "--data-directory=${DATA_DIR}"
+ExecStartPre=/usr/bin/postgresql-@SLOT@-check-db-dir
+ExecStart=/usr/lib/postgresql-@SLOT@/bin/pg_ctl start -D ${DATA_DIR} -s -l ${DATA_DIR}/postmaster.log -o "-p ${PGPORT} -D ${PGDATA} --data-directory=${DATA_DIR}" -w -t 300
+ExecStop=/usr/lib/postgresql-@SLOT@/bin/pg_ctl stop -D ${DATA_DIR} -s -m fast
+ExecReload=/usr/lib/postgresql-@SLOT@/bin/pg_ctl reload -D ${DATA_DIR} -s
 
 # Give a reasonable amount of time for the server to start up/shut down
 TimeoutSec=300
 
+# Disable OOM kill on the postmaster
+OOMScoreAdjust=-1000
+
 [Install]
 WantedBy=multi-user.target


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-06-09  2:36 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-06-09  2:36 UTC (permalink / raw
  To: gentoo-commits

commit:     06e4b096305332c0e0f9333d21e53b07d7a72a62
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  9 01:25:06 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Jun  9 01:25:06 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=06e4b096

Change security definition.

Move away from putting users into groups.
https://bugs.gentoo.org/show_bug.cgi?id=460956

---
 postgresql.init | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index aef9f04..6e0e965 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -61,7 +61,7 @@ checkconfig() {
 
     # Set the proper permission for the socket path and create it if
     # it doesn't exist.
-    checkpath -d -m 0750 -o postgres:postgres ${socket_path}
+    checkpath -d -m 0775 -o postgres:postgres ${socket_path}
     if [ -e ${socket_path%/}/.s.PGSQL.${configured_port} ] ; then
         eerror "Socket conflict."
         eerror "A server is already listening on:"
@@ -95,8 +95,9 @@ start() {
     local retval=$?
 
     if [ $retval -ne 0 ] ; then
-        eerror "Check the log for a possible explanation of the above error."
+        eerror "Check the log for a possible explanation of the above error. The log may be"
         eerror "    ${DATA_DIR%/}/postmaster.log"
+        eerror "Or wherever you configured PostgreSQL @SLOT@ log messages to be sent."
         eend $retval
         return $retval
     fi


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-06-09  2:36 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-06-09  2:36 UTC (permalink / raw
  To: gentoo-commits

commit:     c396a16455a37644a77de10ac4f022410371c345
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  9 01:26:45 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Jun  9 01:26:45 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=c396a164

New systemd files

Add systemd unit
https://bugs.gentoo.org/show_bug.cgi?id=468868

---
 postgresql.service   | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 postgresql.tmpfilesd |  1 +
 2 files changed, 52 insertions(+)

diff --git a/postgresql.service b/postgresql.service
new file mode 100644
index 0000000..3d70197
--- /dev/null
+++ b/postgresql.service
@@ -0,0 +1,51 @@
+# It's not recommended to modify this file in-place, because it will be
+# overwritten during package upgrades. If you want to customize, the
+# best way is to create file
+# "/etc/systemd/system/postgresql-@SLOT@.service.d/*.conf"
+# containing your changes
+
+# For example, if you want to change the server's port number to 5433,
+# create a file named
+# "/etc/systemd/system/postgresql-@SLOT@.service.d/port.conf"
+# containing:
+#       [Service]
+#       Environment=PGPORT=5433
+# This will override the setting appearing below.
+
+[Unit]
+Description=PostgreSQL database server
+After=network.target
+
+[Service]
+Type=forking
+
+User=postgres
+Group=postgres
+
+# Port number for server to listen on
+Environment=PGPORT=5432
+
+# Location of configuration files
+Environment=PGDATA=/etc/postgresql-@SLOT@
+
+# Where the data directory is located
+Environment=DATA_DIR=/var/lib/postgresql/@SLOT@/data
+
+# Where to send early-startup messages from the server (before the logging
+# options of postgresql.conf take effect)
+# This is normally controlled by the global default set by systemd
+# StandardOutput=syslog
+
+# Disable OOM kill on the postmaster
+OOMScoreAdjust=-1000
+
+#ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA}
+ExecStart=/usr/lib/postgresql-@SLOT@/bin/pg_ctl start -D ${PGDATA} -s -l ${DATA_DIR}/postmaster.log -o "-p ${PGPORT} --data-directory=${DATA_DIR}" -w -t 300
+ExecStop=/usr/lib/postgresql-@SLOT@/bin/pg_ctl stop -D ${PGDATA} -s -m fast -o "--data-directory=${DATA_DIR}"
+ExecReload=/usr/lib/postgresql-@SLOT@/bin/pg_ctl reload -D ${PGDATA} -s -o "--data-directory=${DATA_DIR}"
+
+# Give a reasonable amount of time for the server to start up/shut down
+TimeoutSec=300
+
+[Install]
+WantedBy=multi-user.target

diff --git a/postgresql.tmpfilesd b/postgresql.tmpfilesd
new file mode 100644
index 0000000..c2e0747
--- /dev/null
+++ b/postgresql.tmpfilesd
@@ -0,0 +1 @@
+d /run/postgresql 0775 postgres postgres -


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-03-09 15:01 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-03-09 15:01 UTC (permalink / raw
  To: gentoo-commits

commit:     c7b29a5071a1d7b86d40a56bb505cc8921d670ea
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  9 14:58:46 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat Mar  9 14:58:46 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=c7b29a50

Change ${socket_path} permissions so that users in the `postgres'
system group cannot create, rename, or delete files in ${socket_path}.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 9a1d64e..aef9f04 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -61,7 +61,7 @@ checkconfig() {
 
     # Set the proper permission for the socket path and create it if
     # it doesn't exist.
-    checkpath -d -m 0770 -o postgres:postgres ${socket_path}
+    checkpath -d -m 0750 -o postgres:postgres ${socket_path}
     if [ -e ${socket_path%/}/.s.PGSQL.${configured_port} ] ; then
         eerror "Socket conflict."
         eerror "A server is already listening on:"


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-02-08 14:46 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-02-08 14:46 UTC (permalink / raw
  To: gentoo-commits

commit:     4e68a4d7ec719548763beaa11d66699efc1fc47a
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  8 14:45:53 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Fri Feb  8 14:45:53 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=4e68a4d7

Just default to /run/postgresql.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 6af6471..9a1d64e 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -24,7 +24,7 @@ depend() {
 configured_port=$(get_config port)
 : ${configured_port:=${PGPORT}}
 socket_path=$(get_config unix_socket_directory)
-: ${socket_path:=@RUNDIR@/run/postgresql}
+: ${socket_path:=/run/postgresql}
 
 checkconfig() {
     # Check that DATA_DIR has been set


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-02-08 13:01 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-02-08 13:01 UTC (permalink / raw
  To: gentoo-commits

commit:     e6b34c0cf6655913044e1159315873ce77c4f9a4
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  8 13:00:58 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Fri Feb  8 13:00:58 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=e6b34c0c

Update copyright

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index b716d91..6af6471 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -1,5 +1,5 @@
 #!/sbin/runscript
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-02-03 15:22 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-02-03 15:22 UTC (permalink / raw
  To: gentoo-commits

commit:     639d295476a04b5f4a5a6b2b83b44e33774cc695
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  3 15:10:21 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Feb  3 15:10:21 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=639d2954

Wrap line

---
 postgresql.init |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index b1c0dfd..b716d91 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -8,7 +8,8 @@ extra_started_commands="reload"
 get_config() {
     [ -f ${PGDATA%/}/postgresql.conf ] || return 1
 
-    eval echo $(sed -e 's:#.*::' ${PGDATA%/}/postgresql.conf | awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
+    eval echo $(sed -e 's:#.*::' ${PGDATA%/}/postgresql.conf \
+        | awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
 }
 
 depend() {


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2013-01-19 20:50 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2013-01-19 20:50 UTC (permalink / raw
  To: gentoo-commits

commit:     51b4446dd3cbd5f125a638c73756c10dc60eb4bc
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 19 20:50:20 2013 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat Jan 19 20:50:20 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=51b4446d

No need to restart because the logger did.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 166ac71..b1c0dfd 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -16,7 +16,7 @@ depend() {
     provide postgresql
 
     if [ "$(get_config log_destination)" = "syslog" ]; then
-        need logger
+        use logger
     fi
 }
 


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-11-11 14:49 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-11-11 14:49 UTC (permalink / raw
  To: gentoo-commits

commit:     efabd1ffa0c9f597a25f77bf1763e0eb65537688
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 11 14:48:26 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Nov 11 14:48:26 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=efabd1ff

Default to UTF-8 encoding

---
 postgresql.confd |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.confd b/postgresql.confd
index b0e1308..96a2d9c 100644
--- a/postgresql.confd
+++ b/postgresql.confd
@@ -55,4 +55,4 @@ DATA_DIR="/var/lib/postgresql/@SLOT@/data"
 
 # Additional options to pass to initdb.
 # See `man initdb' for available options.
-#PG_INITDB_OPTS="--locale=en_US.UTF-8"
+PG_INITDB_OPTS="--encoding=UTF8"


^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-06-08 15:04 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-06-08 15:04 UTC (permalink / raw
  To: gentoo-commits

commit:     a61f1df6795497f3991ad6789675d3cff814e57b
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  8 15:03:06 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Fri Jun  8 15:03:06 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=a61f1df6

Actual parameter name. Fixes bug 418057.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 9c6edae..166ac71 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -22,7 +22,7 @@ depend() {
 
 configured_port=$(get_config port)
 : ${configured_port:=${PGPORT}}
-socket_path=$(get_config unix_socket_path)
+socket_path=$(get_config unix_socket_directory)
 : ${socket_path:=@RUNDIR@/run/postgresql}
 
 checkconfig() {



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-06-08 15:04 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-06-08 15:04 UTC (permalink / raw
  To: gentoo-commits

commit:     89cdaf591cf5c1c538a44e8b8f584c4ce20aefe9
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 14:42:41 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun May 27 14:42:41 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=89cdaf59

Typo.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index fd8368c..9c6edae 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -120,7 +120,7 @@ stop() {
         retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
     fi
 
-    # Loops through nice, rude, and force quite in one go.
+    # Loops through nice, rude, and force quit in one go.
     start-stop-daemon --stop \
         --exec /usr/lib/postgresql-@SLOT@/bin/postgres \
         --retry ${retries} \



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-06-08 15:04 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-06-08 15:04 UTC (permalink / raw
  To: gentoo-commits

commit:     36a2cef1e4043345c4d33bd71bb905efbede7202
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 14:41:38 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun May 27 14:41:38 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=36a2cef1

More doubled slash prevention.

---
 postgresql.init |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 6d27683..fd8368c 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -6,7 +6,7 @@
 extra_started_commands="reload"
 
 get_config() {
-    [ -f ${PGDATA}/postgresql.conf ] || return 1
+    [ -f ${PGDATA%/}/postgresql.conf ] || return 1
 
     eval echo $(sed -e 's:#.*::' ${PGDATA%/}/postgresql.conf | awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
 }
@@ -75,7 +75,7 @@ start() {
 
     ebegin "Starting PostgreSQL"
 
-    rm -f ${DATA_DIR}/postmaster.pid
+    rm -f ${DATA_DIR%/}/postmaster.pid
 
     local extraenv
     local x
@@ -87,15 +87,15 @@ start() {
         --user postgres \
         --env "PGPORT=${configured_port}" \
         ${extraenv} \
-        --pidfile ${DATA_DIR}/postmaster.pid \
+        --pidfile ${DATA_DIR%/}/postmaster.pid \
         --exec /usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-        -- start -s -w -t ${START_TIMEOUT} -l ${DATA_DIR}/postmaster.log \
+        -- start -s -w -t ${START_TIMEOUT} -l ${DATA_DIR%/}/postmaster.log \
                  -D ${PGDATA} -o "--data-directory=${DATA_DIR} ${PGOPTS}"
     local retval=$?
 
     if [ $retval -ne 0 ] ; then
         eerror "Check the log for a possible explanation of the above error."
-        eerror "    ${DATA_DIR}/postmaster.log"
+        eerror "    ${DATA_DIR%/}/postmaster.log"
         eend $retval
         return $retval
     fi
@@ -124,13 +124,13 @@ stop() {
     start-stop-daemon --stop \
         --exec /usr/lib/postgresql-@SLOT@/bin/postgres \
         --retry ${retries} \
-        --pidfile ${DATA_DIR}/postmaster.pid
+        --pidfile ${DATA_DIR%/}/postmaster.pid
 
     eend
 }
 
 reload() {
     ebegin "Reloading PostgreSQL configuration"
-    kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
+    kill -HUP $(head -n1 ${DATA_DIR%/}/postmaster.pid)
     eend $?
 }



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-06-08 15:04 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-06-08 15:04 UTC (permalink / raw
  To: gentoo-commits

commit:     430fd2285afb447359675bb6c1308162bf84212d
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 14:13:49 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun May 27 14:13:49 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=430fd228

Fixes b.g.o bug 407907. awk syntax fix for FreeBSD.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 1575a11..afef398 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -8,7 +8,7 @@ extra_started_commands="reload"
 get_config() {
     [ -f ${PGDATA}/postgresql.conf ] || return 1
 
-    eval echo $(sed -e 's:#.*::' ${PGDATA%/}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
+    eval echo $(sed -e 's:#.*::' ${PGDATA%/}/postgresql.conf | awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
 }
 
 depend() {



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-06-08 15:04 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-06-08 15:04 UTC (permalink / raw
  To: gentoo-commits

commit:     4f4d27dfb865f7285c746a4c8ec458dfddd82108
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 14:39:36 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun May 27 14:39:36 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=4f4d27df

More descriptive comments.

---
 postgresql.init |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index afef398..6d27683 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -26,12 +26,14 @@ socket_path=$(get_config unix_socket_path)
 : ${socket_path:=@RUNDIR@/run/postgresql}
 
 checkconfig() {
-    # Check that DATA_DIR has been set and exists
+    # Check that DATA_DIR has been set
     if [ -z ${DATA_DIR} ] ; then
         eerror "DATA_DIR not set"
         eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
         return 1
     fi
+
+    # Check that DATA_DIR exists
     if [ ! -d ${DATA_DIR} ] ; then
         eerror "Directory not found: ${DATA_DIR}"
         eerror "HINT: Ensure that DATA_DIR points to the right path."
@@ -40,7 +42,10 @@ checkconfig() {
         return 1
     fi
 
-    # Check for the existence of PostgreSQL's config files.
+    # Check for the existence of PostgreSQL's config files, and set the
+    # proper mode and ownership.
+    # Only three files should be checked as potentially other files
+    # may be in PGDATA that should not be touched.
     local file
     for file in postgresql pg_hba pg_ident ; do
         file="${PGDATA%/}/${file}.conf"
@@ -53,7 +58,8 @@ checkconfig() {
         fi
     done
 
-    # Check the socket directory
+    # Set the proper permission for the socket path and create it if
+    # it doesn't exist.
     checkpath -d -m 0770 -o postgres:postgres ${socket_path}
     if [ -e ${socket_path%/}/.s.PGSQL.${configured_port} ] ; then
         eerror "Socket conflict."
@@ -114,6 +120,7 @@ stop() {
         retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
     fi
 
+    # Loops through nice, rude, and force quite in one go.
     start-stop-daemon --stop \
         --exec /usr/lib/postgresql-@SLOT@/bin/postgres \
         --retry ${retries} \



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-27 14:00 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-27 14:00 UTC (permalink / raw
  To: gentoo-commits

commit:     9d53c458db3bf66f9784ed995d257766bf9468c5
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 13:57:59 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun May 27 13:57:59 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=9d53c458

Return if DATA_DIR hasn't been set so we don't fall through to the
next error hinting at running 'emerge --config' as well.

---
 postgresql.init |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 1dabe2b..1575a11 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -30,6 +30,7 @@ checkconfig() {
     if [ -z ${DATA_DIR} ] ; then
         eerror "DATA_DIR not set"
         eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
+        return 1
     fi
     if [ ! -d ${DATA_DIR} ] ; then
         eerror "Directory not found: ${DATA_DIR}"



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-24 19:58 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-24 19:58 UTC (permalink / raw
  To: gentoo-commits

commit:     f324d8c94efcdbc5ee38f8ca040612cc34836e14
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu May 24 19:24:07 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu May 24 19:24:07 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=f324d8c9

If syslog is specified in postgresql.conf, we need it.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index c92aee7..06f2d23 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -16,7 +16,7 @@ depend() {
     provide postgresql
 
     if [ "$(get_config log_destination)" = "syslog" ]; then
-        use logger
+        need logger
     fi
 }
 



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-24 19:58 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-24 19:58 UTC (permalink / raw
  To: gentoo-commits

commit:     9031a6f2c6825cd99da48952f44165d64f575192
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu May 24 19:46:29 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu May 24 19:46:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=9031a6f2

Missed a path variable.

---
 postgresql.init |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index ae3c561..8217299 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -8,7 +8,7 @@ extra_started_commands="reload"
 get_config() {
     [ -f ${PGDATA}/postgresql.conf ] || return 1
 
-    eval echo $(sed -e 's:#.*::' ${PGDATA}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
+    eval echo $(sed -e 's:#.*::' ${PGDATA%/}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
 }
 
 depend() {



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-24 19:58 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-24 19:58 UTC (permalink / raw
  To: gentoo-commits

commit:     b53e8b00b876c4b28bf4df30d32f505b8ec565db
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu May 24 19:56:00 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu May 24 19:56:00 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=b53e8b00

Just bail out if one of the configuration files is missing. The hint
directs them to move over '*.conf' anyway.

---
 postgresql.init |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 8217299..1dabe2b 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -41,21 +41,16 @@ checkconfig() {
 
     # Check for the existence of PostgreSQL's config files.
     local file
-    local status=0
     for file in postgresql pg_hba pg_ident ; do
         file="${PGDATA%/}/${file}.conf"
         if [ -f ${file} ] ; then
             checkpath -f -m 0600 -o postgres:postgres ${file}
         else
             eerror "${file} not found"
-            status=1
+            eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
+            return 1
         fi
     done
-    if [ ${status} -eq 1 ] ; then
-        eerror "HINT: Try:"
-        eerror "    mv ${DATA_DIR%/}/*.conf ${PGDATA}"
-        return 1
-    fi
 
     # Check the socket directory
     checkpath -d -m 0770 -o postgres:postgres ${socket_path}



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-24 19:23 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-24 19:23 UTC (permalink / raw
  To: gentoo-commits

commit:     d8732f86c3fe03b224bdeb5d7575de29ab8bc779
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed May 23 18:48:38 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed May 23 18:48:38 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=d8732f86

Fixed startup command for 9.2. Refactored config file check.

---
 postgresql.init |  200 ++++++++++++++++++++++++++----------------------------
 1 files changed, 96 insertions(+), 104 deletions(-)

diff --git a/postgresql.init b/postgresql.init
old mode 100644
new mode 100755
index 363ea1a..ec31748
--- a/postgresql.init
+++ b/postgresql.init
@@ -16,7 +16,7 @@ depend() {
     provide postgresql
 
     if [ "$(get_config log_destination)" = "syslog" ]; then
-		use logger
+        use logger
     fi
 }
 
@@ -26,116 +26,108 @@ socket_path=$(get_config unix_socket_path)
 : ${socket_path:=@RUNDIR@/run/postgresql}
 
 checkconfig() {
-	# Check that DATA_DIR has been set and exists
-	if [ -z ${DATA_DIR} ] ; then
-		eerror "DATA_DIR not set"
-		eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
-	fi
-	if [ ! -d ${DATA_DIR} ] ; then
-		eerror "Directory not found: ${DATA_DIR}"
-		eerror "HINT: Ensure that DATA_DIR points to the right path."
-		eerror "HINT: Or perhaps you need to create the database cluster:"
-		eerror "    emerge --config dev-db/postgresql-server:@SLOT@"
-		return 1
-	fi
-
-	# Check for the existence of and PostgreSQL's ability to read the config files.
-	if [ ! -f ${PGDATA}/postgresql.conf -o \
-		! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
-		eerror "The following file(s) were not found in ${PGDATA}:"
-		[ ! -f ${PGDATA}/postgresql.conf ] && eerror "    postgresql.conf"
-		[ ! -f ${PGDATA}/pg_hba.conf ] && eerror "    pg_hba.conf"
-		[ ! -f ${PGDATA}/pg_ident.conf ] && eerror "    pg_ident.conf"
-		eerror "HINT: Try:"
-		eerror "    mv ${DATA_DIR}/*.conf ${PGDATA}"
-		return 1
-	fi
-
-	local file
-	local failed
-	for file in pg_hba pg_ident postgresql ; do
-		file="${PGDATA}/${file}.conf"
-		su postgres -c "test -r ${file}" || failed="${file} ${failed}"
-	done
-	if [ -n "${failed}" ] ; then
-		eerror "The following file(s) are not readable by 'postgres':"
-		local x
-		for x in ${failed} ; do
-			eerror "    ${x}"
-		done
-		eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
-		return 1
-	fi
-
-	checkpath -d -m 0770 -o postgres:postgres ${socket_path}
-	if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
-		eerror "Socket conflict."
-		eerror "A server is already listening on:"
-		eerror "    ${socket_path}/.s.PGSQL.${configured_port}"
-		eerror "HINT: Change PGPORT to listen on a different socket."
-		return 1
-	fi
+        # Check that DATA_DIR has been set and exists
+    if [ -z ${DATA_DIR} ] ; then
+        eerror "DATA_DIR not set"
+        eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
+    fi
+    if [ ! -d ${DATA_DIR} ] ; then
+        eerror "Directory not found: ${DATA_DIR}"
+        eerror "HINT: Ensure that DATA_DIR points to the right path."
+        eerror "HINT: Or perhaps you need to create the database cluster:"
+        eerror "    emerge --config dev-db/postgresql-server:@SLOT@"
+        return 1
+    fi
+
+    # Check for the existence of PostgreSQL's config files.
+    local file
+    local status=0
+    for file in postgresql pg_hba pg_ident ; do
+        file="${PGDATA}/${file}.conf"
+        if [ -f ${file} ] ; then
+            checkpath -f -m 0600 -o postgres:postgres ${file}
+        else
+            eerror "${file} not found"
+            status=1
+        fi
+    done
+    if [ ${status} ] ; then
+        eerror "HINT: Try:"
+        eerror "    mv ${DATA_DIR}/*.conf ${PGDATA}"
+        return 1
+    fi
+
+    # Check the socket directory
+    checkpath -d -m 0770 -o postgres:postgres ${socket_path}
+    if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
+        eerror "Socket conflict."
+        eerror "A server is already listening on:"
+        eerror "    ${socket_path}/.s.PGSQL.${configured_port}"
+        eerror "HINT: Change PGPORT to listen on a different socket."
+        return 1
+    fi
 }
 
 start() {
-	checkconfig || return 1
-
-	ebegin "Starting PostgreSQL"
-
-	rm -f ${DATA_DIR}/postmaster.pid
-
-	local extraenv
-	local x
-	for x in ${PG_EXTRA_ENV} ; do
-		extraenv="${extraenv} --env ${x}"
-	done
-
-	start-stop-daemon --start \
-		--user postgres \
-		--exec /usr/lib/postgresql-@SLOT@/bin/postgres \
-		--env "PGPORT=${configured_port}" \
-		${extraenv} \
-		--wait $((${START_TIMEOUT}*1000)) \
-		--pidfile ${DATA_DIR}/postmaster.pid \
-		-- -D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}
-	local retval=$?
-
-	if [ $retval -ne 0 ] ; then
-		eerror "Check the PostgreSQL @SLOT@ log for a detailed explanation of the above error."
-		eend $retval
-		return $retval
-	fi
-
-	eend $retval
+    checkconfig || return 1
+
+    ebegin "Starting PostgreSQL"
+
+    rm -f ${DATA_DIR}/postmaster.pid
+
+    local extraenv
+    local x
+    for x in ${PG_EXTRA_ENV} ; do
+        extraenv="${extraenv} --env ${x}"
+    done
+
+    start-stop-daemon --start \
+        --user postgres \
+        --env "PGPORT=${configured_port}" \
+        ${extraenv} \
+        --pidfile ${DATA_DIR}/postmaster.pid \
+        --exec /usr/bin/pg_ctl@SLOT@ \
+        -- start -s -l ${DATA_DIR}/postmaster.log -D ${PGDATA} \
+                 -o "--data-directory=${DATA_DIR} ${PGOPTS}"
+    local retval=$?
+
+    if [ $retval -ne 0 ] ; then
+        eerror "Check the log for a possible explanation of the above error."
+        eerror "    ${DATA_DIR}/postmaster.log"
+        eend $retval
+        return $retval
+    fi
+
+    eend $retval
 }
 
 stop() {
-	local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
-	ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
-
-	local retval
-	local retries=SIGTERM/${NICE_TIMEOUT}
-
-	if [ "${RUDE_QUIT}" != "NO" ] ; then
-		einfo "RUDE_QUIT enabled."
-		retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
-	fi
-	if [ "${FORCE_QUIT}" = "YES" ] ; then
-		einfo "FORCE_QUIT enabled."
-		ewarn "A recover-run might be executed on next startup."
-		retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
-	fi
-
-	start-stop-daemon --stop \
-		--exec /usr/lib/postgresql-@SLOT@/bin/postgres \
-		--retry ${retries} \
-		--pidfile ${DATA_DIR}/postmaster.pid
-
-	eend
+    local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
+    ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
+
+    local retval
+    local retries=SIGTERM/${NICE_TIMEOUT}
+
+    if [ "${RUDE_QUIT}" != "NO" ] ; then
+        einfo "RUDE_QUIT enabled."
+        retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
+    fi
+    if [ "${FORCE_QUIT}" = "YES" ] ; then
+        einfo "FORCE_QUIT enabled."
+        ewarn "A recover-run might be executed on next startup."
+        retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
+    fi
+
+    start-stop-daemon --stop \
+        --exec /usr/lib/postgresql-@SLOT@/bin/postgres \
+        --retry ${retries} \
+        --pidfile ${DATA_DIR}/postmaster.pid
+
+    eend
 }
 
 reload() {
-	ebegin "Reloading PostgreSQL configuration"
-	kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
-	eend $?
+    ebegin "Reloading PostgreSQL configuration"
+    kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
+    eend $?
 }



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2012-05-24 19:23 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2012-05-24 19:23 UTC (permalink / raw
  To: gentoo-commits

commit:     90842709ac3985fe8e714645905f33c63e96426c
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu May 24 19:22:18 2012 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu May 24 19:22:18 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=90842709

Cleaned up commands. Remove trailing slash for paths.

---
 postgresql.init |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index ec31748..c92aee7 100755
--- a/postgresql.init
+++ b/postgresql.init
@@ -26,7 +26,7 @@ socket_path=$(get_config unix_socket_path)
 : ${socket_path:=@RUNDIR@/run/postgresql}
 
 checkconfig() {
-        # Check that DATA_DIR has been set and exists
+    # Check that DATA_DIR has been set and exists
     if [ -z ${DATA_DIR} ] ; then
         eerror "DATA_DIR not set"
         eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
@@ -43,7 +43,7 @@ checkconfig() {
     local file
     local status=0
     for file in postgresql pg_hba pg_ident ; do
-        file="${PGDATA}/${file}.conf"
+        file="${PGDATA%/}/${file}.conf"
         if [ -f ${file} ] ; then
             checkpath -f -m 0600 -o postgres:postgres ${file}
         else
@@ -53,16 +53,16 @@ checkconfig() {
     done
     if [ ${status} ] ; then
         eerror "HINT: Try:"
-        eerror "    mv ${DATA_DIR}/*.conf ${PGDATA}"
+        eerror "    mv ${DATA_DIR%/}/*.conf ${PGDATA}"
         return 1
     fi
 
     # Check the socket directory
     checkpath -d -m 0770 -o postgres:postgres ${socket_path}
-    if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
+    if [ -e ${socket_path%/}/.s.PGSQL.${configured_port} ] ; then
         eerror "Socket conflict."
         eerror "A server is already listening on:"
-        eerror "    ${socket_path}/.s.PGSQL.${configured_port}"
+        eerror "    ${socket_path%/}/.s.PGSQL.${configured_port}"
         eerror "HINT: Change PGPORT to listen on a different socket."
         return 1
     fi
@@ -86,9 +86,9 @@ start() {
         --env "PGPORT=${configured_port}" \
         ${extraenv} \
         --pidfile ${DATA_DIR}/postmaster.pid \
-        --exec /usr/bin/pg_ctl@SLOT@ \
-        -- start -s -l ${DATA_DIR}/postmaster.log -D ${PGDATA} \
-                 -o "--data-directory=${DATA_DIR} ${PGOPTS}"
+        --exec /usr/lib/postgresql-@SLOT@/bin/pg_ctl \
+        -- start -s -w -t ${START_TIMEOUT} -l ${DATA_DIR}/postmaster.log \
+                 -D ${PGDATA} -o "--data-directory=${DATA_DIR} ${PGOPTS}"
     local retval=$?
 
     if [ $retval -ne 0 ] ; then



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-12-24 13:47 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-12-24 13:47 UTC (permalink / raw
  To: gentoo-commits

commit:     3c1052f01e6e9bb4deb96acb1a2a17291f409d79
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 14:56:59 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 14:56:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=3c1052f0

Fixed typo.

---
 postgresql.init |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index a00c9c9..ed1dea4 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -3,7 +3,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-extra_started_command="reload"
+extra_started_commands="reload"
 
 get_config() {
     [ -f ${PGDATA}/postgresql.conf ] || return 1
@@ -109,16 +109,16 @@ stop() {
 	ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
 
 	local retval
-	local retries=SIGTERM/$((${NICE_TIMEOUT}*1000))
+	local retries=SIGTERM/${NICE_TIMEOUT}
 
 	if [ "${RUDE_QUIT}" != "NO" ] ; then
 		einfo "RUDE_QUIT enabled."
-		retries="${retries}/SIGINT/$((${RUDE_TIMEOUT}*1000))"
+		retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
 	fi
 	if [ "${FORCE_QUIT}" = "YES" ] ; then
 		einfo "FORCE_QUIT enabled."
 		ewarn "A recover-run might be executed on next startup."
-		retries="${retries}/SIGQUIT/$((${FORCE_TIMEOUT}*1000))"
+		retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
 	fi
 
 	start-stop-daemon --stop \



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-12-24 13:47 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-12-24 13:47 UTC (permalink / raw
  To: gentoo-commits

commit:     8f36b38642832f500e0bbcb83f0026b365a4d070
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 24 13:46:54 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat Dec 24 13:46:54 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=8f36b386

Fixed passing environments issue. (Bug 394159)

---
 postgresql.init |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index ed1dea4..363ea1a 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -69,7 +69,7 @@ checkconfig() {
 
 	checkpath -d -m 0770 -o postgres:postgres ${socket_path}
 	if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
-        eerror "Socket conflict."
+		eerror "Socket conflict."
 		eerror "A server is already listening on:"
 		eerror "    ${socket_path}/.s.PGSQL.${configured_port}"
 		eerror "HINT: Change PGPORT to listen on a different socket."
@@ -84,16 +84,21 @@ start() {
 
 	rm -f ${DATA_DIR}/postmaster.pid
 
-	local retval
+	local extraenv
+	local x
+	for x in ${PG_EXTRA_ENV} ; do
+		extraenv="${extraenv} --env ${x}"
+	done
 
 	start-stop-daemon --start \
 		--user postgres \
 		--exec /usr/lib/postgresql-@SLOT@/bin/postgres \
-		--env "PGPORT=${configured_port} ${PG_EXTRA_ENV}" \
+		--env "PGPORT=${configured_port}" \
+		${extraenv} \
 		--wait $((${START_TIMEOUT}*1000)) \
 		--pidfile ${DATA_DIR}/postmaster.pid \
 		-- -D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}
-	retval=$?
+	local retval=$?
 
 	if [ $retval -ne 0 ] ; then
 		eerror "Check the PostgreSQL @SLOT@ log for a detailed explanation of the above error."



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-11-30 20:26 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-11-30 20:26 UTC (permalink / raw
  To: gentoo-commits

commit:     4795d6dffdd82a8948ff95d39ec23266094d983c
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 30 13:50:33 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed Nov 30 13:50:33 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=4795d6df

Move to start-stop-daemon. Create run directory if it doesn't exist.
Parse postgresql.conf for port, unix_socket_directory, and
log_destination allowing postgresql.conf to override
/etc/conf.d/postgresql.

---
 postgresql.init |  165 +++++++++++++++++--------------------------------------
 1 files changed, 50 insertions(+), 115 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index fa0f90c..a00c9c9 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -3,19 +3,33 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-opts="${opts} reload"
+extra_started_command="reload"
+
+get_config() {
+    [ -f ${PGDATA}/postgresql.conf ] || return 1
+
+    eval echo $(sed -e 's:#.*::' ${PGDATA}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
+}
 
 depend() {
-	use net
-	provide postgresql
-	provide postgresql-@SLOT@
+    use net
+    provide postgresql
+
+    if [ "$(get_config log_destination)" = "syslog" ]; then
+		use logger
+    fi
 }
 
+configured_port=$(get_config port)
+: ${configured_port:=${PGPORT}}
+socket_path=$(get_config unix_socket_path)
+: ${socket_path:=@RUNDIR@/run/postgresql}
+
 checkconfig() {
 	# Check that DATA_DIR has been set and exists
 	if [ -z ${DATA_DIR} ] ; then
 		eerror "DATA_DIR not set"
-		eerror "HINT: Did you not update /etc/conf.d/postgresql-@SLOT@"
+		eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
 	fi
 	if [ ! -d ${DATA_DIR} ] ; then
 		eerror "Directory not found: ${DATA_DIR}"
@@ -32,10 +46,11 @@ checkconfig() {
 		[ ! -f ${PGDATA}/postgresql.conf ] && eerror "    postgresql.conf"
 		[ ! -f ${PGDATA}/pg_hba.conf ] && eerror "    pg_hba.conf"
 		[ ! -f ${PGDATA}/pg_ident.conf ] && eerror "    pg_ident.conf"
-		eerror  "HINT: Try:"
-		eerror "mv ${DATA_DIR}/*.conf ${PGDATA}"
+		eerror "HINT: Try:"
+		eerror "    mv ${DATA_DIR}/*.conf ${PGDATA}"
 		return 1
 	fi
+
 	local file
 	local failed
 	for file in pg_hba pg_ident postgresql ; do
@@ -52,15 +67,11 @@ checkconfig() {
 		return 1
 	fi
 
-	# Ensures @RUN@ exists for those who have it on tmpfs.
-	if [ ! -d @RUN@ ] ; then
-		mkdir -p @RUN@
-		chown postgres:postgres @RUN@
-	fi
-	if [ -e @RUN@/.s.PGSQL.${PGPORT} ] ; then
-		eerror "Socket conflict."
+	checkpath -d -m 0770 -o postgres:postgres ${socket_path}
+	if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
+        eerror "Socket conflict."
 		eerror "A server is already listening on:"
-		eerror "    @RUN@/.s.PGSQL.${PGPORT}"
+		eerror "    ${socket_path}/.s.PGSQL.${configured_port}"
 		eerror "HINT: Change PGPORT to listen on a different socket."
 		return 1
 	fi
@@ -71,17 +82,17 @@ start() {
 
 	ebegin "Starting PostgreSQL"
 
-	if [ -f ${DATA_DIR}/postmaster.pid ] ; then
-		rm -f ${DATA_DIR}/postmaster.pid
-	fi
+	rm -f ${DATA_DIR}/postmaster.pid
 
 	local retval
 
-	su -l postgres \
-		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-		/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-		start ${WAIT_FOR_START} -t ${START_TIMEOUT} -s -D ${DATA_DIR} \
-		-o '-D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}'"
+	start-stop-daemon --start \
+		--user postgres \
+		--exec /usr/lib/postgresql-@SLOT@/bin/postgres \
+		--env "PGPORT=${configured_port} ${PG_EXTRA_ENV}" \
+		--wait $((${START_TIMEOUT}*1000)) \
+		--pidfile ${DATA_DIR}/postmaster.pid \
+		-- -D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}
 	retval=$?
 
 	if [ $retval -ne 0 ] ; then
@@ -90,112 +101,36 @@ start() {
 		return $retval
 	fi
 
-	# The following is to catch the case of an already running server
-	# in which pg_ctl doesn't know to which server it connected to and
-	# falsely reports the server as 'up'
-	if [ ! -f ${DATA_DIR}/postmaster.pid ] ; then
-		eerror "The PID file doesn't exist but pg_ctl reported a running server."
-		eerror "Please check whether there is another server running on the same port or read the log-file."
-		eend 1
-		return 1
-	fi
-
 	eend $retval
 }
 
 stop() {
-	ebegin "Stopping PostgreSQL (this can take up to $(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} )) seconds)"
+	local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
+	ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
 
 	local retval
-
-	if [ "${NICE_QUIT}" != "NO" ] ; then
-		su -l postgres \
-			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-			/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-			stop ${WAIT_FOR_STOP} -t ${NICE_TIMEOUT} -s -D ${DATA_DIR} \
-			-m smart"
-		retval=$?
-
-		if [ $retval -eq 0 ] ; then
-			eend $retval
-			return $retval
-		fi
-
-		ewarn "Shutting down the server gracefully failed."
-		ewarn "Probably because some clients did not disconnect within ${NICE_TIMEOUT} seconds."
-	else
-		ewarn "NICE_QUIT disabled."
-		ewarn "You really should have it enabled."
-	fi
+	local retries=SIGTERM/$((${NICE_TIMEOUT}*1000))
 
 	if [ "${RUDE_QUIT}" != "NO" ] ; then
-		ewarn "RUDE_QUIT enabled."
-		ewarn "Going to shutdown the server anyway."
-
-		su -l postgres \
-			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-			/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-			stop ${WAIT_FOR_STOP} -t ${RUDE_TIMEOUT} -s -D ${DATA_DIR} \
-			-m fast"
-		retval=$?
-
-		if [ $retval -eq 0 ] ; then
-			eend $retval
-			return $retval
-		fi
-
-		eerror "Failed to shutdown server."
-	else
-		ewarn "RUDE_QUIT disabled."
+		einfo "RUDE_QUIT enabled."
+		retries="${retries}/SIGINT/$((${RUDE_TIMEOUT}*1000))"
 	fi
-
 	if [ "${FORCE_QUIT}" = "YES" ] ; then
-		ewarn "FORCE_QUIT enabled."
-		ewarn "Forcing server to shutdown."
-		ewarn "A recover-run will be executed on the next startup."
-
-		su -l postgres \
-			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-			/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-			stop ${WAIT_FOR_STOP} -t ${FORCE_TIMEOUT} -s -D ${DATA_DIR} \
-			-m immediate"
-
-		retval=$?
-
-		if [ $retval -eq 0 ] ; then
-			ewarn "Server forced down."
-			eend $retval
-			return $retval
-		fi
-
-		eerror "Forced shutdown failed!!!"
-		eerror "Something is wrong with your system."
-		eerror "Please take care of it manually."
-		eerror "Unable to stop server."
-		eend $retval
-		return $retval
-	else
-		ewarn "FORCE_QUIT disabled."
-		eerror "Unable to shutdown server."
-		eend 1
-		return 1
+		einfo "FORCE_QUIT enabled."
+		ewarn "A recover-run might be executed on next startup."
+		retries="${retries}/SIGQUIT/$((${FORCE_TIMEOUT}*1000))"
 	fi
-}
 
-reload() {
-	ebegin "Reloading PostgreSQL configuration"
-	su -l postgres \
-		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-		/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-		reload -s -D ${DATA_DIR}"
-	eend $?
+	start-stop-daemon --stop \
+		--exec /usr/lib/postgresql-@SLOT@/bin/postgres \
+		--retry ${retries} \
+		--pidfile ${DATA_DIR}/postmaster.pid
+
+	eend
 }
 
-status() {
+reload() {
 	ebegin "Reloading PostgreSQL configuration"
-	su -l postgres \
-		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-		/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
-		status -D ${DATA_DIR}"
+	kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
 	eend $?
 }



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-11-30 20:26 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-11-30 20:26 UTC (permalink / raw
  To: gentoo-commits

commit:     2d3cf86ebfa383bb5a6f159902569beaa3c55bb2
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 30 15:32:15 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed Nov 30 15:32:15 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=2d3cf86e

Updated to match postgresql.init.

---
 postgresql.confd |   39 +++++++++++++++++----------------------
 1 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/postgresql.confd b/postgresql.confd
index d9dc7fd..b0e1308 100644
--- a/postgresql.confd
+++ b/postgresql.confd
@@ -1,29 +1,23 @@
 # Which port and socket to bind PostgreSQL
 PGPORT="5432"
 
-# Allow *_TIMEOUT to run its course.
-# Disable timeouts by changing to '-W' (capital W)
-WAIT_FOR_START="-w"
-WAIT_FOR_STOP="-w"
-
 # How long to wait for server to start in seconds
-START_TIMEOUT=60
+START_TIMEOUT=10
 
-# Ignore new connections and wait for clients to disconnect from server before
-# shutting down.
-# Set NICE_QUIT to "NO" to disable. NICE_TIMEOUT in seconds.
-NICE_QUIT="YES"
+# NICE_QUIT ignores new connections and wait for clients to disconnect from
+# server before shutting down. NICE_TIMEOUT in seconds determines how long to
+# wait for this to succeed.
 NICE_TIMEOUT=60
 
 # Forecfully disconnect clients from server and shut down. This is performed
-# after NICE_QUIT. Terminating a client results in a rollback of open
-# transactions for that client.
+# after NICE_QUIT. Terminated client connections have their open transactions
+# rolled back.
 # Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
 RUDE_QUIT="YES"
 RUDE_TIMEOUT=30
 
 # If the server still fails to shutdown, you can force it to quit by setting
-# this to yes and a recover-run will execute on the next startup.
+# this to YES and a recover-run will execute on the next startup.
 # Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
 FORCE_QUIT="NO"
 FORCE_TIMEOUT=2
@@ -31,24 +25,25 @@ FORCE_TIMEOUT=2
 # Extra options to run postmaster with, e.g.:
 # -N is the maximal number of client connections
 # -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of
-# these options can be set directly in the configuration file.
+# Please read the man-page to postmaster for more options. Many of these
+# options can be set directly in the configuration file.
 #PGOPTS="-N 512 -B 1024"
 
-# Pass extra environment variables. If you have to export environment
-# variables for the database process, this can be done here.
+# Pass extra environment variables. If you have to export environment variables
+# for the database process, this can be done here.
 # Don't forget to escape quotes.
 #PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
 
 ##############################################################################
 #
 # The following values should not be arbitrarily changed.
-# emerge --config dev-db/postgresql-server:@SLOT@ uses these values to
+#
+# `emerge --config dev-db/postgresql-server:@SLOT@' uses these values to
 # determine where to create the data directory, where to place the
-# configuration files and any additional options you'd like to pass to initdb.
+# configuration files, and any additional options to pass to initdb.
 #
-# The init script also uses these variables to inform pg_ctl where to find
-# the same data and configuration files.
+# The initscript also uses these variables to inform PostgreSQL where to find
+# its data directory and configuration files.
 #
 ##############################################################################
 
@@ -59,5 +54,5 @@ PGDATA="/etc/postgresql-@SLOT@/"
 DATA_DIR="/var/lib/postgresql/@SLOT@/data"
 
 # Additional options to pass to initdb.
-# See 'man initdb' for available options.
+# See `man initdb' for available options.
 #PG_INITDB_OPTS="--locale=en_US.UTF-8"



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-09-18 19:56 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-09-18 19:56 UTC (permalink / raw
  To: gentoo-commits

commit:     1876f40d5d60301d910707191cb5f683c48eb580
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 18 19:55:46 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Sep 18 19:55:46 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=1876f40d

Drop variable for real paths

---
 postgresql.init |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index cda6d84..fa0f90c 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -52,16 +52,15 @@ checkconfig() {
 		return 1
 	fi
 
-	# Ensures @RUN@/postgresql exists for those who have it on tmpfs.
-	local runpath="@RUN@/postgresql"
-	if [ ! -d ${runpath} ] ; then
-		mkdir -p ${runpath}
-		chown postgres:postgres ${runpath}
+	# Ensures @RUN@ exists for those who have it on tmpfs.
+	if [ ! -d @RUN@ ] ; then
+		mkdir -p @RUN@
+		chown postgres:postgres @RUN@
 	fi
-	if [ -e ${runpath}/.s.PGSQL.${PGPORT} ] ; then
+	if [ -e @RUN@/.s.PGSQL.${PGPORT} ] ; then
 		eerror "Socket conflict."
 		eerror "A server is already listening on:"
-		eerror "    ${runpath}/.s.PGSQL.${PGPORT}"
+		eerror "    @RUN@/.s.PGSQL.${PGPORT}"
 		eerror "HINT: Change PGPORT to listen on a different socket."
 		return 1
 	fi



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-09-18 19:26 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-09-18 19:26 UTC (permalink / raw
  To: gentoo-commits

commit:     d522eeff49e2c428b9873e640e3a779a5bbf7731
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 18 19:25:41 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Sep 18 19:25:41 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=d522eeff

Added {,/var}/run creation and updated README to match up with these files.

---
 README          |   30 +++++++++++++-----------------
 postgresql.init |   14 ++++++++++++--
 2 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/README b/README
index 91a55f0..42cd086 100644
--- a/README
+++ b/README
@@ -1,22 +1,18 @@
-This repository is split into three primary branches.
+===========
+Initscripts
+===========
 
-Patches
--------------------------------------------------------------------------------
-The 'patches' branch is further split to match the major versions
-versions (a.k.a., slots). Pay attention to the tags as the signify the highest
-version they work with.
+postgresql.confd and postgresql.init have been written to condense the number of
+files that are necessary for maintenance. The dev-db/postgresql-server ebuilds
+sed the files replacing @SLOT@ with the proper slot number and @RUN@ with either
+/run or /var/run, depending on if /run exists.
 
-Those files are then manually rolled into a tarball and hosted at
-'http://d.g.o/~titanofold/'.
+These files are then manually tarballed and hosted at
+http://dev.gentoo.org/~titanofold/.
 
 
-Init Scripts
--------------------------------------------------------------------------------
-The 'initscripts' branch contains the initscripts. These scripts have been
-written to condense the number of files that are necessary for maintenance.
+Versioning
+==========
 
-
-Eselect Module
--------------------------------------------------------------------------------
-The 'eselect' branch contains the actual script for library and binary
-management.
+The minor version is incremented anytime a bug is fixed. The major version is
+incremented anytime a feature or capability is added.

diff --git a/postgresql.init b/postgresql.init
index ffd6c55..cda6d84 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -12,6 +12,7 @@ depend() {
 }
 
 checkconfig() {
+	# Check that DATA_DIR has been set and exists
 	if [ -z ${DATA_DIR} ] ; then
 		eerror "DATA_DIR not set"
 		eerror "HINT: Did you not update /etc/conf.d/postgresql-@SLOT@"
@@ -23,6 +24,8 @@ checkconfig() {
 		eerror "    emerge --config dev-db/postgresql-server:@SLOT@"
 		return 1
 	fi
+
+	# Check for the existence of and PostgreSQL's ability to read the config files.
 	if [ ! -f ${PGDATA}/postgresql.conf -o \
 		! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
 		eerror "The following file(s) were not found in ${PGDATA}:"
@@ -48,10 +51,17 @@ checkconfig() {
 		eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
 		return 1
 	fi
-	if [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
+
+	# Ensures @RUN@/postgresql exists for those who have it on tmpfs.
+	local runpath="@RUN@/postgresql"
+	if [ ! -d ${runpath} ] ; then
+		mkdir -p ${runpath}
+		chown postgres:postgres ${runpath}
+	fi
+	if [ -e ${runpath}/.s.PGSQL.${PGPORT} ] ; then
 		eerror "Socket conflict."
 		eerror "A server is already listening on:"
-		eerror "    /var/run/postgresql/.s.PGSQL.${PGPORT}"
+		eerror "    ${runpath}/.s.PGSQL.${PGPORT}"
 		eerror "HINT: Change PGPORT to listen on a different socket."
 		return 1
 	fi



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-26 23:25 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-26 23:25 UTC (permalink / raw
  To: gentoo-commits

commit:     022034478406b7d63aedf6d3505aa81ccc5c832e
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 26 23:24:26 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat Mar 26 23:24:26 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=02203447

Beautified output a bit.

---
 postgresql.init |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index c6c80a5..ffd6c55 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -37,12 +37,14 @@ checkconfig() {
 	local failed
 	for file in pg_hba pg_ident postgresql ; do
 		file="${PGDATA}/${file}.conf"
-		su postgres -c "test -r ${file}" || failed="    ${file}
-${failed}"
+		su postgres -c "test -r ${file}" || failed="${file} ${failed}"
 	done
 	if [ -n "${failed}" ] ; then
 		eerror "The following file(s) are not readable by 'postgres':"
-		eerror "${failed}"
+		local x
+		for x in ${failed} ; do
+			eerror "    ${x}"
+		done
 		eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
 		return 1
 	fi



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-26 22:34 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-26 22:34 UTC (permalink / raw
  To: gentoo-commits

commit:     72decd1f9b8c387c126702b1cd636b8edeb613b0
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 26 22:32:01 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat Mar 26 22:32:01 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=72decd1f

Added permiission checks. Changed ${VAR%/} to just ${VAR} because the latter is
POSIX compliant while the former is a BASH extension.

---
 postgresql.init |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index b7ee23e..c6c80a5 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -26,20 +26,26 @@ checkconfig() {
 	if [ ! -f ${PGDATA}/postgresql.conf -o \
 		! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
 		eerror "The following file(s) were not found in ${PGDATA}:"
-		if [ ! -f ${PGDATA}/postgresql.conf ] ; then
-			eerror "    postgresql.conf"
-		fi
-		if [ ! -f ${PGDATA}/pg_hba.conf ] ; then
-			eerror "    pg_hba.conf"
-		fi
-		if [ ! -f ${PGDATA}/pg_ident.conf ] ; then
-			eerror "    pg_ident.conf"
-		fi
+		[ ! -f ${PGDATA}/postgresql.conf ] && eerror "    postgresql.conf"
+		[ ! -f ${PGDATA}/pg_hba.conf ] && eerror "    pg_hba.conf"
+		[ ! -f ${PGDATA}/pg_ident.conf ] && eerror "    pg_ident.conf"
 		eerror  "HINT: Try:"
 		eerror "mv ${DATA_DIR}/*.conf ${PGDATA}"
 		return 1
 	fi
-
+	local file
+	local failed
+	for file in pg_hba pg_ident postgresql ; do
+		file="${PGDATA}/${file}.conf"
+		su postgres -c "test -r ${file}" || failed="    ${file}
+${failed}"
+	done
+	if [ -n "${failed}" ] ; then
+		eerror "The following file(s) are not readable by 'postgres':"
+		eerror "${failed}"
+		eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
+		return 1
+	fi
 	if [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
 		eerror "Socket conflict."
 		eerror "A server is already listening on:"



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-26  2:13 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-26  2:13 UTC (permalink / raw
  To: gentoo-commits

commit:     44140402fb5ae05d75b43e9dde84f11d6c036dcd
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 26 02:09:12 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sat Mar 26 02:09:12 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=44140402

Working towards file permission checking.

---
 postgresql.init |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index 26e1b8b..b7ee23e 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -12,6 +12,10 @@ depend() {
 }
 
 checkconfig() {
+	if [ -z ${DATA_DIR} ] ; then
+		eerror "DATA_DIR not set"
+		eerror "HINT: Did you not update /etc/conf.d/postgresql-@SLOT@"
+	fi
 	if [ ! -d ${DATA_DIR} ] ; then
 		eerror "Directory not found: ${DATA_DIR}"
 		eerror "HINT: Ensure that DATA_DIR points to the right path."
@@ -19,22 +23,23 @@ checkconfig() {
 		eerror "    emerge --config dev-db/postgresql-server:@SLOT@"
 		return 1
 	fi
-	if [ ! -f ${PGDATA%/}/postgresql.conf -o \
-		! -f ${PGDATA%/}/pg_hba.conf -o ! -f ${PGDATA%/}/pg_ident.conf ] ; then
+	if [ ! -f ${PGDATA}/postgresql.conf -o \
+		! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
 		eerror "The following file(s) were not found in ${PGDATA}:"
-		if [ ! -f ${PGDATA%/}/postgresql.conf ] ; then
+		if [ ! -f ${PGDATA}/postgresql.conf ] ; then
 			eerror "    postgresql.conf"
 		fi
-		if [ ! -f ${PGDATA%/}/pg_hba.conf ] ; then
+		if [ ! -f ${PGDATA}/pg_hba.conf ] ; then
 			eerror "    pg_hba.conf"
 		fi
-		if [ ! -f ${PGDATA%/}/pg_ident.conf ] ; then
+		if [ ! -f ${PGDATA}/pg_ident.conf ] ; then
 			eerror "    pg_ident.conf"
 		fi
 		eerror  "HINT: Try:"
-		eerror "mv ${DATA_DIR%/}/*.conf ${PGDATA}"
+		eerror "mv ${DATA_DIR}/*.conf ${PGDATA}"
 		return 1
 	fi
+
 	if [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
 		eerror "Socket conflict."
 		eerror "A server is already listening on:"
@@ -49,8 +54,8 @@ start() {
 
 	ebegin "Starting PostgreSQL"
 
-	if [ -f ${DATA_DIR%/}/postmaster.pid ] ; then
-		rm -f ${DATA_DIR%/}/postmaster.pid
+	if [ -f ${DATA_DIR}/postmaster.pid ] ; then
+		rm -f ${DATA_DIR}/postmaster.pid
 	fi
 
 	local retval
@@ -71,7 +76,7 @@ start() {
 	# The following is to catch the case of an already running server
 	# in which pg_ctl doesn't know to which server it connected to and
 	# falsely reports the server as 'up'
-	if [ ! -f ${DATA_DIR%/}/postmaster.pid ] ; then
+	if [ ! -f ${DATA_DIR}/postmaster.pid ] ; then
 		eerror "The PID file doesn't exist but pg_ctl reported a running server."
 		eerror "Please check whether there is another server running on the same port or read the log-file."
 		eend 1



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-24 22:41 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-24 22:41 UTC (permalink / raw
  To: gentoo-commits

commit:     967915a2ce323a6d1eba2abde16ecbb0453b0d0e
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 24 22:39:41 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu Mar 24 22:39:41 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=967915a2

Added a message to direct users to check their Postgresql log for an error
message explaining why there's a failure.

---
 postgresql.init |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index b44f93a..26e1b8b 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -63,6 +63,7 @@ start() {
 	retval=$?
 
 	if [ $retval -ne 0 ] ; then
+		eerror "Check the PostgreSQL @SLOT@ log for a detailed explanation of the above error."
 		eend $retval
 		return $retval
 	fi



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-23  3:19 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-23  3:19 UTC (permalink / raw
  To: gentoo-commits

commit:     e8efbbddf3279d45b51702f8465698b3c18ee7f6
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 23 03:18:25 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Wed Mar 23 03:18:25 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=e8efbbdd

Refactor checkconfig() and replaced cp instruction with a mv.

---
 postgresql.init |   48 +++++++++++++++++++++++++-----------------------
 1 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/postgresql.init b/postgresql.init
index e51fa46..b44f93a 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -1,7 +1,7 @@
 #!/sbin/runscript
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/files/postgresql.init,v 1.1 2010/06/04 14:18:52 patrick Exp $
+# $Header: $
 
 opts="${opts} reload"
 
@@ -12,32 +12,34 @@ depend() {
 }
 
 checkconfig() {
-	if [ ! -d $DATA_DIR ] ; then
-		eerror "Directory not found: $DATA_DIR"
-		eerror "Please make sure that DATA_DIR points to the right path."
-		eerror "You can run 'emerge --config dev-db/postgresql-server:@SLOT@' to setup a new"
-		eerror "database cluster."
+	if [ ! -d ${DATA_DIR} ] ; then
+		eerror "Directory not found: ${DATA_DIR}"
+		eerror "HINT: Ensure that DATA_DIR points to the right path."
+		eerror "HINT: Or perhaps you need to create the database cluster:"
+		eerror "    emerge --config dev-db/postgresql-server:@SLOT@"
 		return 1
-	elif [ ! -f ${PGDATA%/}/postgresql.conf ] ; then
-		eerror "File not found: ${PGDATA%/}/postgresql.conf"
-		eerror "You may need to run:"
-		eerror "cp ${DATA_DIR%/}/postgresql.conf ${PGDATA%/}/postgresql.conf"
-		return 1
-	elif [ ! -f ${PGDATA%/}/pg_hba.conf ] ; then
-		eerror "File not found: ${PGDATA%/}/pg_hba.conf"
-		eerror "You may need to run:"
-		eerror "cp ${DATA_DIR%/}/pg_hba.conf ${PGDATA%/}/pg_hba.conf"
-		return 1
-	elif [ ! -f ${PGDATA%/}/pg_ident.conf ] ; then
-		eerror "File not found: ${PGDATA%/}/pg_ident.conf"
-		eerror "You may need to run:"
-		eerror "cp ${DATA_DIR%/}/pg_ident.conf ${PGDATA%/}/pg_ident.conf"
+	fi
+	if [ ! -f ${PGDATA%/}/postgresql.conf -o \
+		! -f ${PGDATA%/}/pg_hba.conf -o ! -f ${PGDATA%/}/pg_ident.conf ] ; then
+		eerror "The following file(s) were not found in ${PGDATA}:"
+		if [ ! -f ${PGDATA%/}/postgresql.conf ] ; then
+			eerror "    postgresql.conf"
+		fi
+		if [ ! -f ${PGDATA%/}/pg_hba.conf ] ; then
+			eerror "    pg_hba.conf"
+		fi
+		if [ ! -f ${PGDATA%/}/pg_ident.conf ] ; then
+			eerror "    pg_ident.conf"
+		fi
+		eerror  "HINT: Try:"
+		eerror "mv ${DATA_DIR%/}/*.conf ${PGDATA}"
 		return 1
-	elif [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
+	fi
+	if [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
 		eerror "Socket conflict."
 		eerror "A server is already listening on:"
-		eerror "/var/run/postgresql/.s.PGSQL.${PGPORT}"
-		eerror "Change PGPORT to listen on a different socket."
+		eerror "    /var/run/postgresql/.s.PGSQL.${PGPORT}"
+		eerror "HINT: Change PGPORT to listen on a different socket."
 		return 1
 	fi
 }



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-20  1:36 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-20  1:36 UTC (permalink / raw
  To: gentoo-commits

commit:     a43d11fff0d6eaded238d7c3c58689df3f73cee2
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 20 01:34:34 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Mar 20 01:34:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=a43d11ff

Initscript and related conf for 8.3+.

---
 postgresql.confd |   18 ++++++++++++------
 postgresql.init  |   37 ++++++++++++++++++++-----------------
 2 files changed, 32 insertions(+), 23 deletions(-)

diff --git a/postgresql.confd b/postgresql.confd
index e306c96..d9dc7fd 100644
--- a/postgresql.confd
+++ b/postgresql.confd
@@ -6,21 +6,27 @@ PGPORT="5432"
 WAIT_FOR_START="-w"
 WAIT_FOR_STOP="-w"
 
+# How long to wait for server to start in seconds
+START_TIMEOUT=60
+
 # Ignore new connections and wait for clients to disconnect from server before
 # shutting down.
-# Set NICE_QUIT to "NO" to disable.
+# Set NICE_QUIT to "NO" to disable. NICE_TIMEOUT in seconds.
 NICE_QUIT="YES"
+NICE_TIMEOUT=60
 
 # Forecfully disconnect clients from server and shut down. This is performed
 # after NICE_QUIT. Terminating a client results in a rollback of open
 # transactions for that client.
-# Set RUDE_QUIT to "NO" to disable.
+# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
 RUDE_QUIT="YES"
+RUDE_TIMEOUT=30
 
 # If the server still fails to shutdown, you can force it to quit by setting
 # this to yes and a recover-run will execute on the next startup.
-# Set FORCE_QUIT to "YES" to enable.
+# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
 FORCE_QUIT="NO"
+FORCE_TIMEOUT=2
 
 # Extra options to run postmaster with, e.g.:
 # -N is the maximal number of client connections
@@ -37,7 +43,7 @@ FORCE_QUIT="NO"
 ##############################################################################
 #
 # The following values should not be arbitrarily changed.
-# emerge --config dev-db/postgresql-server:8.2 uses these values to
+# emerge --config dev-db/postgresql-server:@SLOT@ uses these values to
 # determine where to create the data directory, where to place the
 # configuration files and any additional options you'd like to pass to initdb.
 #
@@ -47,10 +53,10 @@ FORCE_QUIT="NO"
 ##############################################################################
 
 # Location of configuration files
-PGDATA="/etc/postgresql-8.2/"
+PGDATA="/etc/postgresql-@SLOT@/"
 
 # Where the data directory is located/to be created
-DATA_DIR="/var/lib/postgresql/8.2/data"
+DATA_DIR="/var/lib/postgresql/@SLOT@/data"
 
 # Additional options to pass to initdb.
 # See 'man initdb' for available options.

diff --git a/postgresql.init b/postgresql.init
index d0ef87c..e51fa46 100644
--- a/postgresql.init
+++ b/postgresql.init
@@ -8,14 +8,14 @@ opts="${opts} reload"
 depend() {
 	use net
 	provide postgresql
-	provide postgresql-8.2
+	provide postgresql-@SLOT@
 }
 
 checkconfig() {
 	if [ ! -d $DATA_DIR ] ; then
 		eerror "Directory not found: $DATA_DIR"
 		eerror "Please make sure that DATA_DIR points to the right path."
-		eerror "You can run 'emerge --config dev-db/postgresql-server:8.2' to setup a new"
+		eerror "You can run 'emerge --config dev-db/postgresql-server:@SLOT@' to setup a new"
 		eerror "database cluster."
 		return 1
 	elif [ ! -f ${PGDATA%/}/postgresql.conf ] ; then
@@ -36,7 +36,7 @@ checkconfig() {
 	elif [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
 		eerror "Socket conflict."
 		eerror "A server is already listening on:"
-		eerror "/var/run/postgresql/.s.PGSQL.${PGPORT}."
+		eerror "/var/run/postgresql/.s.PGSQL.${PGPORT}"
 		eerror "Change PGPORT to listen on a different socket."
 		return 1
 	fi
@@ -55,9 +55,9 @@ start() {
 
 	su -l postgres \
 		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-		/usr/lib/postgresql-8.2/bin/pg_ctl \
-		start ${WAIT_FOR_START} -s -D ${DATA_DIR} -o \
-		'-D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}'"
+		/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
+		start ${WAIT_FOR_START} -t ${START_TIMEOUT} -s -D ${DATA_DIR} \
+		-o '-D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}'"
 	retval=$?
 
 	if [ $retval -ne 0 ] ; then
@@ -68,26 +68,27 @@ start() {
 	# The following is to catch the case of an already running server
 	# in which pg_ctl doesn't know to which server it connected to and
 	# falsely reports the server as 'up'
-	if [ ! -f ${DATA_DIR}/postmaster.pid ] ; then
+	if [ ! -f ${DATA_DIR%/}/postmaster.pid ] ; then
 		eerror "The PID file doesn't exist but pg_ctl reported a running server."
 		eerror "Please check whether there is another server running on the same port or read the log-file."
 		eend 1
 		return 1
 	fi
 
-	eend $?
+	eend $retval
 }
 
 stop() {
-	ebegin "Stopping PostgreSQL (this can take up to 90 seconds)"
+	ebegin "Stopping PostgreSQL (this can take up to $(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} )) seconds)"
 
 	local retval
 
 	if [ "${NICE_QUIT}" != "NO" ] ; then
 		su -l postgres \
 			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-			/usr/lib/postgresql-8.2/bin/pg_ctl \
-			stop ${WAIT_FOR_STOP} -s -D ${DATA_DIR} -m smart"
+			/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
+			stop ${WAIT_FOR_STOP} -t ${NICE_TIMEOUT} -s -D ${DATA_DIR} \
+			-m smart"
 		retval=$?
 
 		if [ $retval -eq 0 ] ; then
@@ -108,8 +109,9 @@ stop() {
 
 		su -l postgres \
 			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-			/usr/lib/postgresql-8.2/bin/pg_ctl \
-			stop ${WAIT_FOR_STOP} -s -D ${DATA_DIR} -m fast"
+			/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
+			stop ${WAIT_FOR_STOP} -t ${RUDE_TIMEOUT} -s -D ${DATA_DIR} \
+			-m fast"
 		retval=$?
 
 		if [ $retval -eq 0 ] ; then
@@ -129,8 +131,9 @@ stop() {
 
 		su -l postgres \
 			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-			/usr/lib/postgresql-8.2/bin/pg_ctl \
-			stop ${WAIT_FOR_STOP} -s -D ${DATA_DIR} -m immediate"
+			/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
+			stop ${WAIT_FOR_STOP} -t ${FORCE_TIMEOUT} -s -D ${DATA_DIR} \
+			-m immediate"
 
 		retval=$?
 
@@ -158,7 +161,7 @@ reload() {
 	ebegin "Reloading PostgreSQL configuration"
 	su -l postgres \
 		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-		/usr/lib/postgresql-8.2/bin/pg_ctl \
+		/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
 		reload -s -D ${DATA_DIR}"
 	eend $?
 }
@@ -167,7 +170,7 @@ status() {
 	ebegin "Reloading PostgreSQL configuration"
 	su -l postgres \
 		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
-		/usr/lib/postgresql-8.2/bin/pg_ctl \
+		/usr/lib/postgresql-@SLOT@/bin/pg_ctl \
 		status -D ${DATA_DIR}"
 	eend $?
 }



^ permalink raw reply related	[flat|nested] 35+ messages in thread
* [gentoo-commits] proj/pgsql-patches:initscripts commit in: /
@ 2011-03-20  0:39 Aaron Swenson
  0 siblings, 0 replies; 35+ messages in thread
From: Aaron Swenson @ 2011-03-20  0:39 UTC (permalink / raw
  To: gentoo-commits

commit:     858da0576419b108f058d3ed6eef46f3cc40999c
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 20 00:37:42 2011 +0000
Commit:     Aaron Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Sun Mar 20 00:37:42 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pgsql-patches.git;a=commit;h=858da057

Initial commit of initscript and related conf file for 8.2.

---
 postgresql.confd |   57 ++++++++++++++++++
 postgresql.init  |  173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 230 insertions(+), 0 deletions(-)

diff --git a/postgresql.confd b/postgresql.confd
new file mode 100644
index 0000000..e306c96
--- /dev/null
+++ b/postgresql.confd
@@ -0,0 +1,57 @@
+# Which port and socket to bind PostgreSQL
+PGPORT="5432"
+
+# Allow *_TIMEOUT to run its course.
+# Disable timeouts by changing to '-W' (capital W)
+WAIT_FOR_START="-w"
+WAIT_FOR_STOP="-w"
+
+# Ignore new connections and wait for clients to disconnect from server before
+# shutting down.
+# Set NICE_QUIT to "NO" to disable.
+NICE_QUIT="YES"
+
+# Forecfully disconnect clients from server and shut down. This is performed
+# after NICE_QUIT. Terminating a client results in a rollback of open
+# transactions for that client.
+# Set RUDE_QUIT to "NO" to disable.
+RUDE_QUIT="YES"
+
+# If the server still fails to shutdown, you can force it to quit by setting
+# this to yes and a recover-run will execute on the next startup.
+# Set FORCE_QUIT to "YES" to enable.
+FORCE_QUIT="NO"
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of
+# these options can be set directly in the configuration file.
+#PGOPTS="-N 512 -B 1024"
+
+# Pass extra environment variables. If you have to export environment
+# variables for the database process, this can be done here.
+# Don't forget to escape quotes.
+#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
+
+##############################################################################
+#
+# The following values should not be arbitrarily changed.
+# emerge --config dev-db/postgresql-server:8.2 uses these values to
+# determine where to create the data directory, where to place the
+# configuration files and any additional options you'd like to pass to initdb.
+#
+# The init script also uses these variables to inform pg_ctl where to find
+# the same data and configuration files.
+#
+##############################################################################
+
+# Location of configuration files
+PGDATA="/etc/postgresql-8.2/"
+
+# Where the data directory is located/to be created
+DATA_DIR="/var/lib/postgresql/8.2/data"
+
+# Additional options to pass to initdb.
+# See 'man initdb' for available options.
+#PG_INITDB_OPTS="--locale=en_US.UTF-8"

diff --git a/postgresql.init b/postgresql.init
new file mode 100644
index 0000000..d0ef87c
--- /dev/null
+++ b/postgresql.init
@@ -0,0 +1,173 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/files/postgresql.init,v 1.1 2010/06/04 14:18:52 patrick Exp $
+
+opts="${opts} reload"
+
+depend() {
+	use net
+	provide postgresql
+	provide postgresql-8.2
+}
+
+checkconfig() {
+	if [ ! -d $DATA_DIR ] ; then
+		eerror "Directory not found: $DATA_DIR"
+		eerror "Please make sure that DATA_DIR points to the right path."
+		eerror "You can run 'emerge --config dev-db/postgresql-server:8.2' to setup a new"
+		eerror "database cluster."
+		return 1
+	elif [ ! -f ${PGDATA%/}/postgresql.conf ] ; then
+		eerror "File not found: ${PGDATA%/}/postgresql.conf"
+		eerror "You may need to run:"
+		eerror "cp ${DATA_DIR%/}/postgresql.conf ${PGDATA%/}/postgresql.conf"
+		return 1
+	elif [ ! -f ${PGDATA%/}/pg_hba.conf ] ; then
+		eerror "File not found: ${PGDATA%/}/pg_hba.conf"
+		eerror "You may need to run:"
+		eerror "cp ${DATA_DIR%/}/pg_hba.conf ${PGDATA%/}/pg_hba.conf"
+		return 1
+	elif [ ! -f ${PGDATA%/}/pg_ident.conf ] ; then
+		eerror "File not found: ${PGDATA%/}/pg_ident.conf"
+		eerror "You may need to run:"
+		eerror "cp ${DATA_DIR%/}/pg_ident.conf ${PGDATA%/}/pg_ident.conf"
+		return 1
+	elif [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
+		eerror "Socket conflict."
+		eerror "A server is already listening on:"
+		eerror "/var/run/postgresql/.s.PGSQL.${PGPORT}."
+		eerror "Change PGPORT to listen on a different socket."
+		return 1
+	fi
+}
+
+start() {
+	checkconfig || return 1
+
+	ebegin "Starting PostgreSQL"
+
+	if [ -f ${DATA_DIR%/}/postmaster.pid ] ; then
+		rm -f ${DATA_DIR%/}/postmaster.pid
+	fi
+
+	local retval
+
+	su -l postgres \
+		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+		/usr/lib/postgresql-8.2/bin/pg_ctl \
+		start ${WAIT_FOR_START} -s -D ${DATA_DIR} -o \
+		'-D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}'"
+	retval=$?
+
+	if [ $retval -ne 0 ] ; then
+		eend $retval
+		return $retval
+	fi
+
+	# The following is to catch the case of an already running server
+	# in which pg_ctl doesn't know to which server it connected to and
+	# falsely reports the server as 'up'
+	if [ ! -f ${DATA_DIR}/postmaster.pid ] ; then
+		eerror "The PID file doesn't exist but pg_ctl reported a running server."
+		eerror "Please check whether there is another server running on the same port or read the log-file."
+		eend 1
+		return 1
+	fi
+
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping PostgreSQL (this can take up to 90 seconds)"
+
+	local retval
+
+	if [ "${NICE_QUIT}" != "NO" ] ; then
+		su -l postgres \
+			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+			/usr/lib/postgresql-8.2/bin/pg_ctl \
+			stop ${WAIT_FOR_STOP} -s -D ${DATA_DIR} -m smart"
+		retval=$?
+
+		if [ $retval -eq 0 ] ; then
+			eend $retval
+			return $retval
+		fi
+
+		ewarn "Shutting down the server gracefully failed."
+		ewarn "Probably because some clients did not disconnect within ${NICE_TIMEOUT} seconds."
+	else
+		ewarn "NICE_QUIT disabled."
+		ewarn "You really should have it enabled."
+	fi
+
+	if [ "${RUDE_QUIT}" != "NO" ] ; then
+		ewarn "RUDE_QUIT enabled."
+		ewarn "Going to shutdown the server anyway."
+
+		su -l postgres \
+			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+			/usr/lib/postgresql-8.2/bin/pg_ctl \
+			stop ${WAIT_FOR_STOP} -s -D ${DATA_DIR} -m fast"
+		retval=$?
+
+		if [ $retval -eq 0 ] ; then
+			eend $retval
+			return $retval
+		fi
+
+		eerror "Failed to shutdown server."
+	else
+		ewarn "RUDE_QUIT disabled."
+	fi
+
+	if [ "${FORCE_QUIT}" = "YES" ] ; then
+		ewarn "FORCE_QUIT enabled."
+		ewarn "Forcing server to shutdown."
+		ewarn "A recover-run will be executed on the next startup."
+
+		su -l postgres \
+			-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+			/usr/lib/postgresql-8.2/bin/pg_ctl \
+			stop ${WAIT_FOR_STOP} -s -D ${DATA_DIR} -m immediate"
+
+		retval=$?
+
+		if [ $retval -eq 0 ] ; then
+			ewarn "Server forced down."
+			eend $retval
+			return $retval
+		fi
+
+		eerror "Forced shutdown failed!!!"
+		eerror "Something is wrong with your system."
+		eerror "Please take care of it manually."
+		eerror "Unable to stop server."
+		eend $retval
+		return $retval
+	else
+		ewarn "FORCE_QUIT disabled."
+		eerror "Unable to shutdown server."
+		eend 1
+		return 1
+	fi
+}
+
+reload() {
+	ebegin "Reloading PostgreSQL configuration"
+	su -l postgres \
+		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+		/usr/lib/postgresql-8.2/bin/pg_ctl \
+		reload -s -D ${DATA_DIR}"
+	eend $?
+}
+
+status() {
+	ebegin "Reloading PostgreSQL configuration"
+	su -l postgres \
+		-c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+		/usr/lib/postgresql-8.2/bin/pg_ctl \
+		status -D ${DATA_DIR}"
+	eend $?
+}



^ permalink raw reply related	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2014-04-23  1:52 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24 19:58 [gentoo-commits] proj/pgsql-patches:initscripts commit in: / Aaron Swenson
  -- strict thread matches above, loose matches on Subject: below --
2014-04-23  1:52 Mike Gilbert
2013-08-21  0:59 Aaron Swenson
2013-06-09  2:36 Aaron Swenson
2013-06-09  2:36 Aaron Swenson
2013-03-09 15:01 Aaron Swenson
2013-02-08 14:46 Aaron Swenson
2013-02-08 13:01 Aaron Swenson
2013-02-03 15:22 Aaron Swenson
2013-01-19 20:50 Aaron Swenson
2012-11-11 14:49 Aaron Swenson
2012-06-08 15:04 Aaron Swenson
2012-06-08 15:04 Aaron Swenson
2012-06-08 15:04 Aaron Swenson
2012-06-08 15:04 Aaron Swenson
2012-06-08 15:04 Aaron Swenson
2012-05-27 14:00 Aaron Swenson
2012-05-24 19:58 Aaron Swenson
2012-05-24 19:58 Aaron Swenson
2012-05-24 19:58 Aaron Swenson
2012-05-24 19:23 Aaron Swenson
2012-05-24 19:23 Aaron Swenson
2011-12-24 13:47 Aaron Swenson
2011-12-24 13:47 Aaron Swenson
2011-11-30 20:26 Aaron Swenson
2011-11-30 20:26 Aaron Swenson
2011-09-18 19:56 Aaron Swenson
2011-09-18 19:26 Aaron Swenson
2011-03-26 23:25 Aaron Swenson
2011-03-26 22:34 Aaron Swenson
2011-03-26  2:13 Aaron Swenson
2011-03-24 22:41 Aaron Swenson
2011-03-23  3:19 Aaron Swenson
2011-03-20  1:36 Aaron Swenson
2011-03-20  0:39 Aaron Swenson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox