Skip to content

Commit 6cf461a

Browse files
committed
Various: Add SMF support.
1 parent bef6f8f commit 6cf461a

File tree

8 files changed

+131
-1
lines changed

8 files changed

+131
-1
lines changed

riak/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ PKG_SYSCONFSUBDIR= riak
6060
CONF_FILES+= share/examples/riak/riak.conf ${PKG_SYSCONFDIR}/riak.conf
6161
CONF_FILES+= share/examples/riak/solr-log4j.properties ${PKG_SYSCONFDIR}/solr-log4j.properties
6262

63+
SMF_USER= ${RIAK_USER}
64+
SMF_GROUP= ${RIAK_GROUP}
65+
SMF_HOME= ${RIAK_DATA}
66+
6367
BUILD_TARGET= rel
6468

6569
SUBST_CLASSES+= pkgsrc

riak/files/smf/manifest.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@
1313
<dependency name="epmd" grouping="require_any" restart_on="restart" type="service">
1414
<service_fmri value="svc:/@SMF_PREFIX@/riak-epmd:default" />
1515
</dependency>
16-
<method_context working_directory="@RIAK_DATA@">
16+
<method_context working_directory="@RIAK_DATA@" project="riak">
1717
<method_credential user="@RIAK_USER@" group="@RIAK_GROUP@" />
1818
<method_environment>
1919
<envvar name="HOME" value="@RIAK_DATA@" />
2020
<envvar name="LOGNAME" value="@RIAK_USER@" />
2121
<envvar name="PATH" value="/usr/bin:/bin:@PREFIX@/bin:@PREFIX@/sbin" />
22+
<envvar name="LD_PRELOAD_32" value="/lib/libumem.so.1" />
23+
<envvar name="LD_PRELOAD_64" value="/lib/64/libumem.so.1" />
24+
<envvar name="UMEM_OPTIONS" value="allocator=best" />
2225
</method_environment>
2326
</method_context>
2427
<exec_method type="method" name="start" exec="@PREFIX@/sbin/riak start" timeout_seconds="60" />

riak14/files/smf/manifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
<envvar name="HOME" value="@RIAK_DATA@" />
2121
<envvar name="LOGNAME" value="@RIAK_USER@" />
2222
<envvar name="PATH" value="/usr/bin:/bin:@PREFIX@/bin:@PREFIX@/sbin" />
23+
<envvar name="LD_PRELOAD_32" value="/lib/libumem.so.1" />
24+
<envvar name="LD_PRELOAD_64" value="/lib/64/libumem.so.1" />
25+
<envvar name="UMEM_OPTIONS" value="allocator=best" />
2326
</method_environment>
2427
</method_context>
2528
<exec_method type="method" name="start" exec="@PREFIX@/sbin/riak start" timeout_seconds="60" />

rsyslog6/MESSAGE.NetBSD

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
===========================================================================
2+
$NetBSD$
3+
4+
For simple replacement for syslogd(8), you may put the following lines
5+
into your /etc/rc.conf:
6+
7+
syslogd=NO
8+
rsyslogd=YES
9+
rsyslogd_flags="-c 3 -f /etc/syslog.conf"
10+
11+
===========================================================================

rsyslog6/MESSAGE.SunOS

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
===========================================================================
2+
$NetBSD$
3+
4+
To use rsyslogd on Solaris, you'll need to stop the default syslogd first
5+
via SMF:
6+
7+
svcadm disable system/system-log
8+
9+
===========================================================================

rsyslog6/files/smf/manifest.xml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3+
<service_bundle type="manifest" name="rsyslog">
4+
<service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
5+
<create_default_instance enabled="false" />
6+
<single_instance />
7+
<dependency name="network" grouping="require_all" restart_on="error" type="service">
8+
<service_fmri value="svc:/milestone/network:default" />
9+
</dependency>
10+
<dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
11+
<service_fmri value="svc:/system/filesystem/local" />
12+
</dependency>
13+
<dependency name="system_log" grouping="exclude_all" restart_on="refresh" type="service">
14+
<service_fmri value="svc:/system/system-log:default" />
15+
</dependency>
16+
<exec_method type="method" name="start" exec="@PREFIX@/sbin/rsyslogd -c5" timeout_seconds="60" />
17+
<exec_method type="method" name="refresh" exec=":kill -HUP" timeout_seconds="60" />
18+
<exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
19+
<property_group name="startd" type="framework">
20+
<propval name="duration" type="astring" value="contract" />
21+
<propval name="ignore_error" type="astring" value="core,signal" />
22+
</property_group>
23+
<property_group name="application" type="application">
24+
<propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/rsyslog.conf" />
25+
</property_group>
26+
<stability value="Evolving" />
27+
<template>
28+
<common_name>
29+
<loctext xml:lang="C">rsyslog daemon</loctext>
30+
</common_name>
31+
</template>
32+
</service>
33+
</service_bundle>

runit/files/smf/manifest.xml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3+
<service_bundle type='manifest' name='runit'>
4+
<service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='1'>
5+
<create_default_instance enabled='false' />
6+
<single_instance />
7+
<dependency name='network' grouping='require_all' restart_on='none' type='service'>
8+
<service_fmri value='svc:/milestone/network:default' />
9+
</dependency>
10+
<dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'>
11+
<service_fmri value='svc:/system/filesystem/local:default' />
12+
</dependency>
13+
<method_context>
14+
<method_environment>
15+
<envvar name="PATH" value="@PREFIX@/bin:@PREFIX@/sbin:/usr/xpg4/bin:/usr/bin:/usr/sbin" />
16+
</method_environment>
17+
</method_context>
18+
<exec_method type='method' name='start' exec='@PREFIX@/sbin/runsvdir -P @PREFIX@/etc/service' timeout_seconds='60'>
19+
<method_context>
20+
<method_credential user='root' group='root' />
21+
</method_context>
22+
</exec_method>
23+
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='60'>
24+
<method_context>
25+
<method_credential user='root' group='root' />
26+
</method_context>
27+
</exec_method>
28+
<property_group name='startd' type='framework'>
29+
<!-- use 'wait' instead of 'contract' to avoid daemonization this will
30+
act almost like /etc/inittab, which is what we want -->
31+
<propval name='duration' type='astring' value='child' />
32+
<!-- sub-process core dumps shouldn't restart session -->
33+
<propval name='ignore_error' type='astring' value='core,signal' />
34+
</property_group>
35+
<stability value='Evolving' />
36+
</service>
37+
</service_bundle>

wackamole/files/smf/manifest.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version='1.0'?>
2+
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
3+
<service_bundle type='manifest' name='export'>
4+
<service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='0'>
5+
<create_default_instance enabled='false' />
6+
<single_instance />
7+
<dependency name='filesystem_minimal' grouping='require_all' restart_on='none' type='service'>
8+
<service_fmri value='svc:/system/filesystem/minimal' />
9+
</dependency>
10+
<dependency name='loopback' grouping='require_any' restart_on='error' type='service'>
11+
<service_fmri value='svc:/network/loopback' />
12+
</dependency>
13+
<dependency name='network' grouping='optional_all' restart_on='error' type='service'>
14+
<service_fmri value='svc:/milestone/network' />
15+
</dependency>
16+
<dependency name='spread' grouping='require_all' restart_on='error' type='service'>
17+
<service_fmri value='svc:/@SMF_PREFIX@/spread' />
18+
</dependency>
19+
<dependency name='config' grouping='require_all' restart_on='none' type='path'>
20+
<service_fmri value='file://localhost/@PKG_SYSCONFDIR@/wackamole.conf' />
21+
</dependency>
22+
<exec_method name='start' type='method' exec='@PREFIX@/sbin/wackamole -c @PKG_SYSCONFDIR@/wackamole.conf' timeout_seconds='300' />
23+
<exec_method name='stop' type='method' exec=':kill' timeout_seconds='60' />
24+
<property_group name='general' type='framework'>
25+
<property name='action_authorization' type='astring' />
26+
<property name='value_authorization' type='astring' />
27+
</property_group>
28+
<stability value='Unstable' />
29+
</service>
30+
</service_bundle>

0 commit comments

Comments
 (0)