diff options
author | jperkin <jperkin> | 2014-03-11 14:34:36 +0000 |
---|---|---|
committer | jperkin <jperkin> | 2014-03-11 14:34:36 +0000 |
commit | 25883a57642b6f9b0d13deb4b3574a9d4e4eba29 (patch) | |
tree | 7ee5b13abb9f96749121a307db970b8b85e953da /databases/postgresql91-server | |
parent | 8a57b7d09b39ddfb89bcd11bfffa4a2881c0821f (diff) | |
download | pkgsrc-25883a57642b6f9b0d13deb4b3574a9d4e4eba29.tar.gz |
Import initial SMF support for individual packages.
Diffstat (limited to 'databases/postgresql91-server')
-rw-r--r-- | databases/postgresql91-server/Makefile | 4 | ||||
-rw-r--r-- | databases/postgresql91-server/files/smf/manifest.xml | 37 | ||||
-rw-r--r-- | databases/postgresql91-server/files/smf/postgresql.sh | 57 |
3 files changed, 97 insertions, 1 deletions
diff --git a/databases/postgresql91-server/Makefile b/databases/postgresql91-server/Makefile index 998e727edce..e4d18fbfb2e 100644 --- a/databases/postgresql91-server/Makefile +++ b/databases/postgresql91-server/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.11 2014/02/23 11:25:52 adam Exp $ +# $NetBSD: Makefile,v 1.12 2014/03/11 14:34:37 jperkin Exp $ PKGNAME= ${DISTNAME:C/-/91-server-/} COMMENT= PostgreSQL database server programs @@ -63,6 +63,8 @@ PKG_GECOS.${PGUSER}= PostgreSQL database administrator PKG_HOME.${PGUSER}= ${PGHOME} RCD_SCRIPTS= pgsql +SMF_METHODS= postgresql +SMF_NAME= postgresql .include "../../databases/postgresql91-client/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" diff --git a/databases/postgresql91-server/files/smf/manifest.xml b/databases/postgresql91-server/files/smf/manifest.xml new file mode 100644 index 00000000000..73ebcb6d4c6 --- /dev/null +++ b/databases/postgresql91-server/files/smf/manifest.xml @@ -0,0 +1,37 @@ +<?xml version="1.0"?> +<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> +<service_bundle type='manifest' name='@SMF_NAME@'> + <service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='1'> + <create_default_instance enabled='false' /> + <single_instance /> + <dependency name='network' grouping='require_all' restart_on='none' type='service'> + <service_fmri value='svc:/milestone/network:default' /> + </dependency> + <dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'> + <service_fmri value='svc:/system/filesystem/local:default' /> + </dependency> + <method_context project='postgres'> + <method_credential user='@PGUSER@' group='@PGGROUP@' /> + <method_environment> + <envvar name="LD_PRELOAD_32" value="/usr/lib/extendedFILE.so.1" /> + </method_environment> + </method_context> + <exec_method type='method' name='start' exec='@PREFIX@/@SMF_METHOD_FILE.postgresql@ start' timeout_seconds='300' /> + <exec_method type='method' name='stop' exec='@PREFIX@/@SMF_METHOD_FILE.postgresql@ stop' timeout_seconds='300' /> + <exec_method type='method' name='refresh' exec='@PREFIX@/@SMF_METHOD_FILE.postgresql@ refresh' timeout_seconds='60' /> + <property_group name='config' type='application'> + <propval name='data' type='astring' value='@PGHOME@/data' /> + <propval name='log' type='astring' value='@VARBASE@/log/postgresql.log' /> + </property_group> + <stability value='Evolving' /> + <template> + <common_name> + <loctext xml:lang='C'>PostgreSQL RDBMS</loctext> + </common_name> + <documentation> + <manpage title='postgres' section='1M' /> + <doc_link name='postgresql.org' uri='http://postgresql.org' /> + </documentation> + </template> + </service> +</service_bundle> diff --git a/databases/postgresql91-server/files/smf/postgresql.sh b/databases/postgresql91-server/files/smf/postgresql.sh new file mode 100644 index 00000000000..4b3d4d19cf9 --- /dev/null +++ b/databases/postgresql91-server/files/smf/postgresql.sh @@ -0,0 +1,57 @@ +#!/sbin/sh +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# +# ident "%Z%%M% %I% %E SMI" +. /lib/svc/share/smf_include.sh + +# SMF_FMRI is the name of the target service. This allows multiple instances +# to use the same script. + +getproparg() +{ val=`svcprop -p $1 $SMF_FMRI` + [ -n "$val" ] && echo $val +} + +PGBIN=@PREFIX@/bin +PGDATA=`getproparg config/data` +PGLOG=`getproparg config/log` + +if [ -z $SMF_FMRI ]; then + echo "SMF framework variables are not initialized." + exit $SMF_EXIT_ERR +fi + +if [ -z $PGDATA ]; then + + echo "postgresql/data property not set" + exit $SMF_EXIT_ERR_CONFIG +fi + +if [ -z $PGLOG ]; then + + echo "postgresql/log property not set" + exit $SMF_EXIT_ERR_CONFIG +fi + +case "$1" in +'start') + ulimit -n 10240 + $PGBIN/pg_ctl -D $PGDATA -l $PGLOG start + ;; + +'stop') + $PGBIN/pg_ctl -D $PGDATA stop + ;; + +'refresh') + $PGBIN/pg_ctl -D $PGDATA reload + ;; +*) + + echo $"Usage: $0 {start|refresh}" + exit 1 + ;; + +esac +exit $SMF_EXIT_OK |