summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorjperkin <jperkin>2014-03-11 14:34:36 +0000
committerjperkin <jperkin>2014-03-11 14:34:36 +0000
commit25883a57642b6f9b0d13deb4b3574a9d4e4eba29 (patch)
tree7ee5b13abb9f96749121a307db970b8b85e953da /databases
parent8a57b7d09b39ddfb89bcd11bfffa4a2881c0821f (diff)
downloadpkgsrc-25883a57642b6f9b0d13deb4b3574a9d4e4eba29.tar.gz
Import initial SMF support for individual packages.
Diffstat (limited to 'databases')
-rw-r--r--databases/apache-cassandra/Makefile3
-rw-r--r--databases/apache-cassandra/files/smf/manifest.xml34
-rw-r--r--databases/couchdb/Makefile6
-rw-r--r--databases/couchdb/files/smf/manifest.xml39
-rw-r--r--databases/mysql51-server/Makefile4
-rw-r--r--databases/mysql51-server/files/smf/manifest.xml32
-rw-r--r--databases/mysql51-server/files/smf/mysqld.sh31
-rw-r--r--databases/mysql55-server/Makefile4
-rw-r--r--databases/mysql55-server/files/smf/manifest.xml32
-rw-r--r--databases/mysql55-server/files/smf/mysqld.sh31
-rw-r--r--databases/mysql56-server/Makefile4
-rw-r--r--databases/mysql56-server/files/smf/manifest.xml32
-rw-r--r--databases/mysql56-server/files/smf/mysqld.sh31
-rw-r--r--databases/postgresql84-server/Makefile4
-rw-r--r--databases/postgresql84-server/files/smf/manifest.xml37
-rw-r--r--databases/postgresql84-server/files/smf/postgresql.sh57
-rw-r--r--databases/postgresql90-server/Makefile4
-rw-r--r--databases/postgresql90-server/files/smf/manifest.xml37
-rw-r--r--databases/postgresql90-server/files/smf/postgresql.sh57
-rw-r--r--databases/postgresql91-server/Makefile4
-rw-r--r--databases/postgresql91-server/files/smf/manifest.xml37
-rw-r--r--databases/postgresql91-server/files/smf/postgresql.sh57
-rw-r--r--databases/postgresql92-server/Makefile4
-rw-r--r--databases/postgresql92-server/files/smf/manifest.xml37
-rw-r--r--databases/postgresql92-server/files/smf/postgresql.sh57
-rw-r--r--databases/postgresql93-server/Makefile4
-rw-r--r--databases/postgresql93-server/files/smf/manifest.xml37
-rw-r--r--databases/postgresql93-server/files/smf/postgresql.sh57
-rw-r--r--databases/redis/Makefile4
-rw-r--r--databases/redis/files/smf/manifest.xml32
30 files changed, 798 insertions, 11 deletions
diff --git a/databases/apache-cassandra/Makefile b/databases/apache-cassandra/Makefile
index deb28adf435..0e2722c4506 100644
--- a/databases/apache-cassandra/Makefile
+++ b/databases/apache-cassandra/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.15 2014/02/14 10:25:23 fhajny Exp $
+# $NetBSD: Makefile,v 1.16 2014/03/11 14:34:36 jperkin Exp $
#
DISTNAME= apache-cassandra-${CASSANDRA_VER}
@@ -29,6 +29,7 @@ EGDIR= ${PREFIX}/share/examples/cassandra
DOCDIR= ${PREFIX}/share/doc/cassandra
RCD_SCRIPTS= cassandra
+SMF_NAME= cassandra
CASSANDRA_USER?= cassandra
CASSANDRA_GROUP?= cassandra
PKG_GROUPS= ${CASSANDRA_GROUP}
diff --git a/databases/apache-cassandra/files/smf/manifest.xml b/databases/apache-cassandra/files/smf/manifest.xml
new file mode 100644
index 00000000000..bde53db7bfb
--- /dev/null
+++ b/databases/apache-cassandra/files/smf/manifest.xml
@@ -0,0 +1,34 @@
+<?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="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <method_context project="@SMF_NAME@" working_directory="@CASSANDRA_HOME@">
+ <method_credential user="@CASSANDRA_USER@" group="@CASSANDRA_GROUP@" />
+ <method_environment>
+ <envvar name="JAVA_HOME" value="@PREFIX@/java/sun6" />
+ <envvar name="JVM_OPTS" value="-d64" />
+ </method_environment>
+ </method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/share/cassandra/bin/cassandra -p @VARBASE@/lib/cassandra/cassandra.pid" timeout_seconds="600" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application"></property_group>
+ <stability value="Evolving" />
+ <template>
+ <common_name>
+ <loctext xml:lang="C">Apache Cassandra</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
diff --git a/databases/couchdb/Makefile b/databases/couchdb/Makefile
index e5effe55843..740af46ad3a 100644
--- a/databases/couchdb/Makefile
+++ b/databases/couchdb/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.23 2014/02/12 23:17:38 tron Exp $
+# $NetBSD: Makefile,v 1.24 2014/03/11 14:34:36 jperkin Exp $
#
DISTNAME= apache-couchdb-1.5.0
@@ -42,6 +42,10 @@ COUCH_RUNDIR?= ${VARBASE}/spool/couchdb
COUCH_RUNDIR?= ${VARBASE}/run/couchdb
.endif
+FILES_SUBST+= COUCH_USER=${COUCH_USER}
+FILES_SUBST+= COUCH_GROUP=${COUCH_GROUP}
+FILES_SUBST+= COUCH_DBDIR=${COUCH_DBDIR}
+
OWN_DIRS= ${COUCH_LOGDIR} ${COUCH_DBDIR} ${COUCH_RUNDIR} ${PKG_SYSCONFDIR}
OWN_DIRS_PERMS+= ${COUCH_DBDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
OWN_DIRS_PERMS+= ${COUCH_LOGDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
diff --git a/databases/couchdb/files/smf/manifest.xml b/databases/couchdb/files/smf/manifest.xml
new file mode 100644
index 00000000000..a65ea028553
--- /dev/null
+++ b/databases/couchdb/files/smf/manifest.xml
@@ -0,0 +1,39 @@
+<?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="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <dependency name='@SMF_NAME@-epmd' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/@SMF_PREFIX@/epmd' />
+ </dependency>
+ <method_context working_directory="@COUCH_DBDIR@">
+ <method_credential user="@COUCH_USER@" group="@COUCH_GROUP@" />
+ <method_environment>
+ <envvar name="PATH" value="@PREFIX@/sbin:@PREFIX@/bin:/sbin:/usr/sbin:/usr/bin" />
+ <envvar name="HOME" value="@COUCH_DBDIR@" />
+ </method_environment>
+ </method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/bin/couchdb -b" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/local.ini" />
+ </property_group>
+ <stability value="Evolving" />
+ <template>
+ <common_name>
+ <loctext xml:lang="C">CouchDB server</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
diff --git a/databases/mysql51-server/Makefile b/databases/mysql51-server/Makefile
index 12f0fd1345f..4a54acadeba 100644
--- a/databases/mysql51-server/Makefile
+++ b/databases/mysql51-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.19 2014/02/12 23:17:39 tron Exp $
+# $NetBSD: Makefile,v 1.20 2014/03/11 14:34:36 jperkin Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
PKGREVISION= 1
@@ -52,6 +52,8 @@ PKG_HOME.${MYSQL_USER}= ${MYSQL_DATADIR}
PKG_SHELL.${MYSQL_USER}= ${SH}
RCD_SCRIPTS= mysqld
+SMF_NAME= mysql
+SMF_METHODS= ${RCD_SCRIPTS}
FILES_SUBST+= HOSTNAME_CMD=${HOSTNAME_CMD:Q} \
MYSQL_DATADIR=${MYSQL_DATADIR} \
diff --git a/databases/mysql51-server/files/smf/manifest.xml b/databases/mysql51-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..c84a56cf2f5
--- /dev/null
+++ b/databases/mysql51-server/files/smf/manifest.xml
@@ -0,0 +1,32 @@
+<?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='fs' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local' />
+ </dependency>
+ <dependency name='net' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/network/loopback' />
+ </dependency>
+ <method_context project='mysql' working_directory='@MYSQL_DATADIR@'>
+ <method_credential user='@MYSQL_USER@' group='@MYSQL_GROUP@' />
+ <method_environment>
+ <envvar name='LD_PRELOAD_32' value='/usr/lib/extendedFILE.so.1' />
+ </method_environment>
+ </method_context>
+ <exec_method name='start' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mysql@ start' timeout_seconds='18446744073709551615' />
+ <exec_method name='stop' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mysql@ stop' timeout_seconds='18446744073709551615' />
+ <stability value='Evolving' />
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>MySQL RDBMS</loctext>
+ </common_name>
+ <documentation>
+ <manpage title='MySQL 5.1' section='1' />
+ <doc_link name='mysql.com' uri='http://dev.mysql.com/docs' />
+ </documentation>
+ </template>
+ </service>
+</service_bundle>
diff --git a/databases/mysql51-server/files/smf/mysqld.sh b/databases/mysql51-server/files/smf/mysqld.sh
new file mode 100644
index 00000000000..ebc19be01e6
--- /dev/null
+++ b/databases/mysql51-server/files/smf/mysqld.sh
@@ -0,0 +1,31 @@
+#!@SMF_METHOD_SHELL@
+#
+# $NetBSD: mysqld.sh,v 1.1 2014/03/11 14:34:36 jperkin Exp $
+#
+# Init script for mysqld.
+#
+
+. /lib/svc/share/smf_include.sh
+
+PIDFILE="@MYSQL_DATADIR@/mysql.pid"
+
+ulimit -n 10240
+
+case "$1" in
+start)
+ @LOCALBASE@/sbin/mysqld --user=mysql \
+ --basedir=@LOCALBASE@ \
+ --datadir=@MYSQL_DATADIR@ \
+ --pid-file=${PIDFILE} \
+ --log-error=@VARBASE@/log/mysql/error.log &
+ ;;
+stop)
+ [ -f ${PIDFILE} ] && kill `@HEAD@ -1 ${PIDFILE}`
+ ;;
+*)
+ echo "Usage: $0 {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit $SMF_EXIT_OK
diff --git a/databases/mysql55-server/Makefile b/databases/mysql55-server/Makefile
index 44756148a0f..9f6d0357a0c 100644
--- a/databases/mysql55-server/Makefile
+++ b/databases/mysql55-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.18 2014/02/12 23:17:39 tron Exp $
+# $NetBSD: Makefile,v 1.19 2014/03/11 14:34:36 jperkin Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
PKGREVISION= 1
@@ -45,6 +45,8 @@ PKG_HOME.${MYSQL_USER}= ${MYSQL_DATADIR}
PKG_SHELL.${MYSQL_USER}= ${SH}
RCD_SCRIPTS= mysqld
+SMF_NAME= mysql
+SMF_METHODS= ${RCD_SCRIPTS}
FILES_SUBST+= HOSTNAME_CMD=${HOSTNAME_CMD:Q}
FILES_SUBST+= MYSQL_DATADIR=${MYSQL_DATADIR}
diff --git a/databases/mysql55-server/files/smf/manifest.xml b/databases/mysql55-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..324044fd143
--- /dev/null
+++ b/databases/mysql55-server/files/smf/manifest.xml
@@ -0,0 +1,32 @@
+<?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='fs' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local' />
+ </dependency>
+ <dependency name='net' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/network/loopback' />
+ </dependency>
+ <method_context project='mysql' working_directory='@MYSQL_DATADIR@'>
+ <method_credential user='@MYSQL_USER@' group='@MYSQL_GROUP@' />
+ <method_environment>
+ <envvar name='LD_PRELOAD_32' value='/usr/lib/extendedFILE.so.1' />
+ </method_environment>
+ </method_context>
+ <exec_method name='start' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mysql@ start' timeout_seconds='18446744073709551615' />
+ <exec_method name='stop' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mysql@ stop' timeout_seconds='18446744073709551615' />
+ <stability value='Evolving' />
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>MySQL RDBMS</loctext>
+ </common_name>
+ <documentation>
+ <manpage title='MySQL 5.5' section='1' />
+ <doc_link name='mysql.com' uri='http://dev.mysql.com/docs' />
+ </documentation>
+ </template>
+ </service>
+</service_bundle>
diff --git a/databases/mysql55-server/files/smf/mysqld.sh b/databases/mysql55-server/files/smf/mysqld.sh
new file mode 100644
index 00000000000..ebc19be01e6
--- /dev/null
+++ b/databases/mysql55-server/files/smf/mysqld.sh
@@ -0,0 +1,31 @@
+#!@SMF_METHOD_SHELL@
+#
+# $NetBSD: mysqld.sh,v 1.1 2014/03/11 14:34:36 jperkin Exp $
+#
+# Init script for mysqld.
+#
+
+. /lib/svc/share/smf_include.sh
+
+PIDFILE="@MYSQL_DATADIR@/mysql.pid"
+
+ulimit -n 10240
+
+case "$1" in
+start)
+ @LOCALBASE@/sbin/mysqld --user=mysql \
+ --basedir=@LOCALBASE@ \
+ --datadir=@MYSQL_DATADIR@ \
+ --pid-file=${PIDFILE} \
+ --log-error=@VARBASE@/log/mysql/error.log &
+ ;;
+stop)
+ [ -f ${PIDFILE} ] && kill `@HEAD@ -1 ${PIDFILE}`
+ ;;
+*)
+ echo "Usage: $0 {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit $SMF_EXIT_OK
diff --git a/databases/mysql56-server/Makefile b/databases/mysql56-server/Makefile
index 11b069d43f5..c734bd677a4 100644
--- a/databases/mysql56-server/Makefile
+++ b/databases/mysql56-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.13 2014/02/13 07:49:56 adam Exp $
+# $NetBSD: Makefile,v 1.14 2014/03/11 14:34:36 jperkin Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
SVR4_PKGNAME= mysqs
@@ -45,6 +45,8 @@ PKG_HOME.${MYSQL_USER}= ${MYSQL_DATADIR}
PKG_SHELL.${MYSQL_USER}= ${SH}
RCD_SCRIPTS= mysqld
+SMF_NAME= mysql
+SMF_METHODS= ${RCD_SCRIPTS}
FILES_SUBST+= HOSTNAME_CMD=${HOSTNAME_CMD:Q}
FILES_SUBST+= MYSQL_DATADIR=${MYSQL_DATADIR}
diff --git a/databases/mysql56-server/files/smf/manifest.xml b/databases/mysql56-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..675e0079a6e
--- /dev/null
+++ b/databases/mysql56-server/files/smf/manifest.xml
@@ -0,0 +1,32 @@
+<?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='fs' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local' />
+ </dependency>
+ <dependency name='net' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/network/loopback' />
+ </dependency>
+ <method_context project='mysql' working_directory='@MYSQL_DATADIR@'>
+ <method_credential user='@MYSQL_USER@' group='@MYSQL_GROUP@' />
+ <method_environment>
+ <envvar name='LD_PRELOAD_32' value='/usr/lib/extendedFILE.so.1' />
+ </method_environment>
+ </method_context>
+ <exec_method name='start' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mysql@ start' timeout_seconds='18446744073709551615' />
+ <exec_method name='stop' type='method' exec='@PREFIX@/@SMF_METHOD_FILE.mysql@ stop' timeout_seconds='18446744073709551615' />
+ <stability value='Evolving' />
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>MySQL RDBMS</loctext>
+ </common_name>
+ <documentation>
+ <manpage title='MySQL 5.6' section='1' />
+ <doc_link name='mysql.com' uri='http://dev.mysql.com/docs' />
+ </documentation>
+ </template>
+ </service>
+</service_bundle>
diff --git a/databases/mysql56-server/files/smf/mysqld.sh b/databases/mysql56-server/files/smf/mysqld.sh
new file mode 100644
index 00000000000..ebc19be01e6
--- /dev/null
+++ b/databases/mysql56-server/files/smf/mysqld.sh
@@ -0,0 +1,31 @@
+#!@SMF_METHOD_SHELL@
+#
+# $NetBSD: mysqld.sh,v 1.1 2014/03/11 14:34:36 jperkin Exp $
+#
+# Init script for mysqld.
+#
+
+. /lib/svc/share/smf_include.sh
+
+PIDFILE="@MYSQL_DATADIR@/mysql.pid"
+
+ulimit -n 10240
+
+case "$1" in
+start)
+ @LOCALBASE@/sbin/mysqld --user=mysql \
+ --basedir=@LOCALBASE@ \
+ --datadir=@MYSQL_DATADIR@ \
+ --pid-file=${PIDFILE} \
+ --log-error=@VARBASE@/log/mysql/error.log &
+ ;;
+stop)
+ [ -f ${PIDFILE} ] && kill `@HEAD@ -1 ${PIDFILE}`
+ ;;
+*)
+ echo "Usage: $0 {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit $SMF_EXIT_OK
diff --git a/databases/postgresql84-server/Makefile b/databases/postgresql84-server/Makefile
index 9a5096a7203..1ad7212cdef 100644
--- a/databases/postgresql84-server/Makefile
+++ b/databases/postgresql84-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.25 2014/02/23 11:25:51 adam Exp $
+# $NetBSD: Makefile,v 1.26 2014/03/11 14:34:37 jperkin Exp $
PKGNAME= ${DISTNAME:C/-/84-server-/}
COMMENT= PostgreSQL database server programs
@@ -60,6 +60,8 @@ PKG_GECOS.${PGUSER}= PostgreSQL database administrator
PKG_HOME.${PGUSER}= ${PGHOME}
RCD_SCRIPTS= pgsql
+SMF_METHODS= postgresql
+SMF_NAME= postgresql
.include "../../databases/postgresql84-client/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
diff --git a/databases/postgresql84-server/files/smf/manifest.xml b/databases/postgresql84-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..2e9972f4bd3
--- /dev/null
+++ b/databases/postgresql84-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'>
+ <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>
+ <instance name='@SMF_INSTANCE@' enabled='false'>
+ <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@/data84' />
+ <propval name='log' type='astring' value='@PGLOGFILE@' />
+ </property_group>
+ </instance>
+ <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/postgresql84-server/files/smf/postgresql.sh b/databases/postgresql84-server/files/smf/postgresql.sh
new file mode 100644
index 00000000000..4b3d4d19cf9
--- /dev/null
+++ b/databases/postgresql84-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
diff --git a/databases/postgresql90-server/Makefile b/databases/postgresql90-server/Makefile
index 14d0b26bf32..f6e49923837 100644
--- a/databases/postgresql90-server/Makefile
+++ b/databases/postgresql90-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.20 2014/02/23 11:25:51 adam Exp $
+# $NetBSD: Makefile,v 1.21 2014/03/11 14:34:37 jperkin Exp $
PKGNAME= ${DISTNAME:C/-/90-server-/}
COMMENT= PostgreSQL database server programs
@@ -63,6 +63,8 @@ PKG_GECOS.${PGUSER}= PostgreSQL database administrator
PKG_HOME.${PGUSER}= ${PGHOME}
RCD_SCRIPTS= pgsql
+SMF_NAME= postgresql
+SMF_METHODS= postgresql
.include "../../databases/postgresql90-client/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
diff --git a/databases/postgresql90-server/files/smf/manifest.xml b/databases/postgresql90-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..089639fb65e
--- /dev/null
+++ b/databases/postgresql90-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='@PGDATA@' />
+ <propval name='log' type='astring' value='@PGLOGFILE@' />
+ </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/postgresql90-server/files/smf/postgresql.sh b/databases/postgresql90-server/files/smf/postgresql.sh
new file mode 100644
index 00000000000..4b3d4d19cf9
--- /dev/null
+++ b/databases/postgresql90-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
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
diff --git a/databases/postgresql92-server/Makefile b/databases/postgresql92-server/Makefile
index 5940ff6f4ae..7943ee44eaa 100644
--- a/databases/postgresql92-server/Makefile
+++ b/databases/postgresql92-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.9 2014/02/23 11:25:53 adam Exp $
+# $NetBSD: Makefile,v 1.10 2014/03/11 14:34:37 jperkin Exp $
PKGNAME= ${DISTNAME:C/-/92-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/postgresql92-client/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
diff --git a/databases/postgresql92-server/files/smf/manifest.xml b/databases/postgresql92-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..73ebcb6d4c6
--- /dev/null
+++ b/databases/postgresql92-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/postgresql92-server/files/smf/postgresql.sh b/databases/postgresql92-server/files/smf/postgresql.sh
new file mode 100644
index 00000000000..4b3d4d19cf9
--- /dev/null
+++ b/databases/postgresql92-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
diff --git a/databases/postgresql93-server/Makefile b/databases/postgresql93-server/Makefile
index f6b578ce62f..0e330f2d6d7 100644
--- a/databases/postgresql93-server/Makefile
+++ b/databases/postgresql93-server/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2014/02/23 11:25:54 adam Exp $
+# $NetBSD: Makefile,v 1.5 2014/03/11 14:34:37 jperkin Exp $
PKGNAME= ${DISTNAME:C/-/93-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/postgresql93-client/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
diff --git a/databases/postgresql93-server/files/smf/manifest.xml b/databases/postgresql93-server/files/smf/manifest.xml
new file mode 100644
index 00000000000..73ebcb6d4c6
--- /dev/null
+++ b/databases/postgresql93-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/postgresql93-server/files/smf/postgresql.sh b/databases/postgresql93-server/files/smf/postgresql.sh
new file mode 100644
index 00000000000..4b3d4d19cf9
--- /dev/null
+++ b/databases/postgresql93-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
diff --git a/databases/redis/Makefile b/databases/redis/Makefile
index 7805c197a1c..b9906e6aba3 100644
--- a/databases/redis/Makefile
+++ b/databases/redis/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2014/03/10 13:24:13 fhajny Exp $
+# $NetBSD: Makefile,v 1.7 2014/03/11 14:34:37 jperkin Exp $
DISTNAME= redis-2.8.7
CATEGORIES= databases
@@ -42,6 +42,8 @@ PKG_GECOS.${REDIS_USER}= Redis daemon user
PKG_HOME.${REDIS_USER}= ${REDIS_DBDIR}
FILES_SUBST+= REDIS_USER=${REDIS_USER}
+FILES_SUBST+= REDIS_GROUP=${REDIS_GROUP}
+FILES_SUBST+= REDIS_DATADIR=${REDIS_DATADIR}
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= post-patch
diff --git a/databases/redis/files/smf/manifest.xml b/databases/redis/files/smf/manifest.xml
new file mode 100644
index 00000000000..d8aea5cbf7a
--- /dev/null
+++ b/databases/redis/files/smf/manifest.xml
@@ -0,0 +1,32 @@
+<?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="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <method_context working_directory="@REDIS_DATADIR@">
+ <method_credential user="@REDIS_USER@" group="@REDIS_GROUP@" />
+ </method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/bin/redis-server %{config_file}" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/redis.conf" />
+ </property_group>
+ <stability value="Evolving" />
+ <template>
+ <common_name>
+ <loctext xml:lang="C">Redis server</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>