aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-dbs/postgresql/files
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2018-02-24 09:38:11 -0800
committerArmin Kuster <akuster808@gmail.com>2018-03-01 16:10:38 -0800
commit742404cc8ab08316b0c02310c89958972d43d22e (patch)
tree0fbbb80e1716548f3fe2b9d8383f9da8ad707abc /meta-oe/recipes-dbs/postgresql/files
parenteaff8c24ab1b88efc9340d90c268f4aea3795992 (diff)
downloadmeta-openembedded-742404cc8ab08316b0c02310c89958972d43d22e.tar.gz
meta-openembedded-742404cc8ab08316b0c02310c89958972d43d22e.tar.bz2
meta-openembedded-742404cc8ab08316b0c02310c89958972d43d22e.zip
postgres: move to recipes-dbs
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta-oe/recipes-dbs/postgresql/files')
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch43
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch31
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile4
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/postgresql-setup73
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/postgresql.init193
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/postgresql.pam4
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/postgresql.service27
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/remove.autoconf.version.check.patch16
8 files changed, 391 insertions, 0 deletions
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
new file mode 100644
index 000000000..d08ec6af1
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
@@ -0,0 +1,43 @@
+From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@balister.org>
+Date: Tue, 1 Jul 2014 09:40:44 -0400
+Subject: [PATCH] Use pkg-config for libxml2 detection.
+
+Upstream-Status: Inappropriate [configuration]
+
+xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
+
+Signed-off-by: Philip Balister <philip@balister.org>
+---
+ configure.in | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index f8bf466..1f4fabf 100644
+--- a/configure.in
++++ b/configure.in
+@@ -734,19 +734,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support],
+ [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])])
+
+ if test "$with_libxml" = yes ; then
+- AC_CHECK_PROGS(XML2_CONFIG, xml2-config)
+- if test -n "$XML2_CONFIG"; then
+- for pgac_option in `$XML2_CONFIG --cflags`; do
+- case $pgac_option in
+- -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
+- esac
+- done
+- for pgac_option in `$XML2_CONFIG --libs`; do
+- case $pgac_option in
+- -L*) LDFLAGS="$LDFLAGS $pgac_option";;
+- esac
+- done
+- fi
++ CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`"
++ LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS"
+ fi
+
+ AC_SUBST(with_libxml)
+--
+1.8.3.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
new file mode 100644
index 000000000..e199f3914
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
@@ -0,0 +1,31 @@
+[PATCH] not check libperl under cross compiling
+
+Upstream-Status: Inappropriate [configuration]
+
+libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native,
+can not be used to check target library.
+
+postpresql has the dependency on perl, so not need to check libperl
+again, like in postgresql-9.2.4
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index ae1a5a0..9a0970d 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1877,7 +1877,7 @@ if test "$with_tcl" = yes; then
+ fi
+
+ # check for <perl.h>
+-if test "$with_perl" = yes; then
++if test "$with_perl" = yes && test "$cross_compiling" = no; then
+ ac_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$perl_archlibexp/CORE"
+ AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
+--
+1.9.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile b/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile
new file mode 100644
index 000000000..1c931f37f
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile
@@ -0,0 +1,4 @@
+[ -f /etc/profile ] && source /etc/profile
+
+PGDATA=/var/lib/postgresql/data
+export PGDATA
diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql-setup b/meta-oe/recipes-dbs/postgresql/files/postgresql-setup
new file mode 100644
index 000000000..75bb01e05
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/postgresql-setup
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# postgresql-setup Initialization operation for PostgreSQL
+
+# For SELinux we need to use 'runuser' not 'su'
+if [ -x /sbin/runuser ]
+then
+ SU=runuser
+else
+ SU=su
+fi
+
+PGENGINE=/usr/bin
+PGDATA=/var/lib/postgresql/data
+PGLOG=/var/lib/postgresql/pgstartup.log
+script_result=0
+
+initdb(){
+ if [ -f "$PGDATA/PG_VERSION" ]
+ then
+ echo -n "Data directory is not empty!"
+ echo -n " [FAILED] "
+ echo
+ script_result=1
+ else
+ echo -n "Initializing database: "
+ if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]
+ then
+ mkdir -p "$PGDATA" || exit 1
+ chown postgres:postgres "$PGDATA"
+ chmod go-rwx "$PGDATA"
+ fi
+ # Clean up SELinux tagging for PGDATA
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
+
+ # Make sure the startup-time log file is OK, too
+ if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
+ then
+ touch "$PGLOG" || exit 1
+ chown postgres:postgres "$PGLOG"
+ chmod go-rwx "$PGLOG"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
+ fi
+
+ # Initialize the database
+ $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
+
+ # Create directory for postmaster log
+ mkdir "$PGDATA/pg_log"
+ chown postgres:postgres "$PGDATA/pg_log"
+ chmod go-rwx "$PGDATA/pg_log"
+
+ if [ -f "$PGDATA/PG_VERSION" ]
+ then
+ echo -n " [ OK ] "
+ else
+ echo -n " [FAILED] "
+ script_result=1
+ fi
+ echo
+ fi
+}
+
+case "$1" in
+ initdb)
+ initdb
+ ;;
+ *)
+ echo "Usage: $0 initdb"
+ exit 2
+esac
+
+exit $script_result
diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql.init b/meta-oe/recipes-dbs/postgresql/files/postgresql.init
new file mode 100644
index 000000000..4a4f0cd16
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/postgresql.init
@@ -0,0 +1,193 @@
+#!/bin/sh
+#
+# postgresql This is the init script for starting up the PostgreSQL
+# server.
+#
+# chkconfig: - 64 36
+# description: PostgreSQL database server.
+# processname: postmaster
+# pidfile: /var/run/postmaster.PORT.pid
+
+# This script is slightly unusual in that the name of the daemon (postmaster)
+# is not the same as the name of the subsystem (postgresql)
+
+# PGVERSION is the full package version, e.g., 8.4.0
+# Note: the specfile inserts the correct value during package build
+PGVERSION=9.2.4
+# PGMAJORVERSION is major version, e.g., 8.4 (this should match PG_VERSION)
+PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\.[0-9]*\).*$/\1/'`
+
+# Source function library.
+. /etc/init.d/functions
+
+# Find the name of the script
+NAME=`basename $0`
+if [ ${NAME:0:1} = "S" -o ${NAME:0:1} = "K" ]
+then
+ NAME=${NAME:3}
+fi
+
+# For SELinux we need to use 'runuser' not 'su'
+if [ -x /sbin/runuser ]
+then
+ SU=runuser
+else
+ SU=su
+fi
+
+
+# Set defaults for configuration variables
+PGENGINE=/usr/bin
+PGPORT=5432
+PGDATA=/var/lib/postgresql/data
+PGLOG=/var/lib/postgresql/pgstartup.log
+# Value to set as postmaster process's oom_adj
+PG_OOM_ADJ=-17
+
+# Override defaults from /etc/sysconfig/postgresql if file is present
+[ -f /etc/default/postgresql/${NAME} ] && . /etc/default/postgresql/${NAME}
+
+export PGDATA
+export PGPORT
+
+lockfile="/var/lock/subsys/${NAME}"
+pidfile="/var/run/postmaster.${PGPORT}.pid"
+
+script_result=0
+
+start(){
+ [ -x "$PGENGINE/postmaster" ] || exit 5
+
+ PSQL_START=$"Starting ${NAME} service: "
+
+ # Make sure startup-time log file is valid
+ if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
+ then
+ touch "$PGLOG" || exit 4
+ chown postgres:postgres "$PGLOG"
+ chmod go-rwx "$PGLOG"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
+ fi
+
+ # Check for the PGDATA structure
+ if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ]
+ then
+ # Check version of existing PGDATA
+ if [ x`cat "$PGDATA/PG_VERSION"` != x"$PGMAJORVERSION" ]
+ then
+ SYSDOCDIR="(Your System's documentation directory)"
+ if [ -d "/usr/doc/postgresql-$PGVERSION" ]
+ then
+ SYSDOCDIR=/usr/doc
+ fi
+ if [ -d "/usr/share/doc/postgresql-$PGVERSION" ]
+ then
+ SYSDOCDIR=/usr/share/doc
+ fi
+ if [ -d "/usr/doc/packages/postgresql-$PGVERSION" ]
+ then
+ SYSDOCDIR=/usr/doc/packages
+ fi
+ if [ -d "/usr/share/doc/packages/postgresql-$PGVERSION" ]
+ then
+ SYSDOCDIR=/usr/share/doc/packages
+ fi
+ echo
+ echo $"An old version of the database format was found."
+ echo $"You need to upgrade the data format before using PostgreSQL."
+ echo $"See $SYSDOCDIR/postgresql-$PGVERSION/README.rpm-dist for more information."
+ exit 1
+ fi
+ else
+ # No existing PGDATA! Warn the user to initdb it.
+ echo
+ echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first."
+ echo -n " [FAILED] "
+ echo
+ exit 1
+ fi
+
+ echo -n "$PSQL_START"
+ test x"$PG_OOM_ADJ" != x && echo "$PG_OOM_ADJ" > /proc/self/oom_score_adj
+ $SU -l postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null
+ sleep 2
+ pid=`head -n 1 "$PGDATA/postmaster.pid" 2>/dev/null`
+ if [ "x$pid" != x ]
+ then
+ echo -n " [ OK ]"
+ touch "$lockfile"
+ echo $pid > "$pidfile"
+ echo
+ else
+ echo -n " [FAILED]"
+ echo
+ script_result=1
+ fi
+}
+
+stop(){
+ echo -n $"Stopping ${NAME} service: "
+ if [ -e "$lockfile" ]
+ then
+ $SU -l postgres -c "$PGENGINE/pg_ctl stop -D '$PGDATA' -s -m fast" > /dev/null 2>&1 < /dev/null
+ ret=$?
+ if [ $ret -eq 0 ]
+ then
+ echo -n " [ OK ] "
+ rm -f "$pidfile"
+ rm -f "$lockfile"
+ else
+ echo -n " [FAILED] "
+ script_result=1
+ fi
+ else
+ # not running; per LSB standards this is "ok"
+ echo -n " [ OK ] "
+ fi
+ echo
+}
+
+restart(){
+ stop
+ start
+}
+
+condrestart(){
+ [ -e "$lockfile" ] && restart || :
+}
+
+reload(){
+ $SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null
+}
+
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status postmaster
+ script_result=$?
+ ;;
+ restart)
+ restart
+ ;;
+ condrestart|try-restart)
+ condrestart
+ ;;
+ reload)
+ reload
+ ;;
+ force-reload)
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit $script_result
diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql.pam b/meta-oe/recipes-dbs/postgresql/files/postgresql.pam
new file mode 100644
index 000000000..0b6fdc5f2
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/postgresql.pam
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth include common-auth
+account include common-account
+password include common-password
diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql.service b/meta-oe/recipes-dbs/postgresql/files/postgresql.service
new file mode 100644
index 000000000..4ec959e84
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/postgresql.service
@@ -0,0 +1,27 @@
+[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 database directory
+Environment=PGDATA=/var/lib/postgresql/data
+
+# Disable OOM kill on the postmaster
+OOMScoreAdjust=-17
+
+ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
+ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast
+ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s
+
+# Give a reasonable amount of time for the server to start up/shut down
+TimeoutSec=300
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-dbs/postgresql/files/remove.autoconf.version.check.patch b/meta-oe/recipes-dbs/postgresql/files/remove.autoconf.version.check.patch
new file mode 100644
index 000000000..be23fd419
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/remove.autoconf.version.check.patch
@@ -0,0 +1,16 @@
+Index: postgresql-9.2.4/configure.in
+===================================================================
+--- postgresql-9.2.4.orig/configure.in
++++ postgresql-9.2.4/configure.in
+@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch un
+
+ AC_INIT([PostgreSQL], [9.4.2], [pgsql-bugs@postgresql.org])
+
+-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
+-Untested combinations of 'autoconf' and PostgreSQL versions are not
+-recommended. You can remove the check from 'configure.in' but it is then
+-your responsibility whether the result works or not.])])
+ AC_COPYRIGHT([Copyright (c) 1996-2014, PostgreSQL Global Development Group])
+ AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
+ AC_CONFIG_AUX_DIR(config)
+