]> Frank Brehm's Git Trees - config/bruni/etc.git/commitdiff
committing changes in /etc after emerge run
authorfrank <frank@bruni.home.brehm-online.com>
Wed, 1 Feb 2012 09:15:56 +0000 (10:15 +0100)
committerFrank Brehm <root@bruni.home.brehm-online.com>
Wed, 1 Feb 2012 09:15:56 +0000 (10:15 +0100)
Package changes:
+dev-db/postgresql-server-9.1.1

conf.d/postgresql-9.1 [new file with mode: 0644]
eselect/postgresql/slots/9.1/server [new file with mode: 0644]
init.d/postgresql-9.1 [new file with mode: 0755]
pam.d/postgresql [new file with mode: 0644]

diff --git a/conf.d/postgresql-9.1 b/conf.d/postgresql-9.1
new file mode 100644 (file)
index 0000000..5bdd3d5
--- /dev/null
@@ -0,0 +1,63 @@
+# 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
+
+# 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_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. 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. 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
+# -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:9.1 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-9.1/"
+
+# Where the data directory is located/to be created
+DATA_DIR="/var/lib/postgresql/9.1/data"
+
+# Additional options to pass to initdb.
+# See 'man initdb' for available options.
+#PG_INITDB_OPTS="--locale=en_US.UTF-8"
diff --git a/eselect/postgresql/slots/9.1/server b/eselect/postgresql/slots/9.1/server
new file mode 100644 (file)
index 0000000..cc2c76b
--- /dev/null
@@ -0,0 +1 @@
+postgres_ebuilds="${postgres_ebuilds} postgresql-server-9.1.1"
diff --git a/init.d/postgresql-9.1 b/init.d/postgresql-9.1
new file mode 100755 (executable)
index 0000000..a5051a3
--- /dev/null
@@ -0,0 +1,192 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+opts="${opts} reload"
+
+depend() {
+       use net
+       provide postgresql
+       provide postgresql-9.1
+}
+
+checkconfig() {
+       if [ -z ${DATA_DIR} ] ; then
+               eerror "DATA_DIR not set"
+               eerror "HINT: Did you not update /etc/conf.d/postgresql-9.1"
+       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:9.1"
+               return 1
+       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}:"
+               [ ! -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
+       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 "HINT: 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-9.1/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
+               eerror "Check the PostgreSQL 9.1 log for a detailed explanation of the above error."
+               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 $retval
+}
+
+stop() {
+       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-9.1/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
+
+       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-9.1/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."
+       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-9.1/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
+       fi
+}
+
+reload() {
+       ebegin "Reloading PostgreSQL configuration"
+       su -l postgres \
+               -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+               /usr/lib/postgresql-9.1/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-9.1/bin/pg_ctl \
+               status -D ${DATA_DIR}"
+       eend $?
+}
diff --git a/pam.d/postgresql b/pam.d/postgresql
new file mode 100644 (file)
index 0000000..b94d487
--- /dev/null
@@ -0,0 +1,6 @@
+# File autogenerated by pamd_mimic in pam eclass
+
+
+auth   include         system-auth
+account        include         system-auth
+session        include         system-auth