pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/mail/sendmail Update SMF manifest and add methods base...
details: https://anonhg.NetBSD.org/pkgsrc/rev/0e8a2ef8c0c9
branches: trunk
changeset: 355983:0e8a2ef8c0c9
user: hans <hans%pkgsrc.org@localhost>
date: Fri Dec 16 16:07:29 2016 +0000
description:
Update SMF manifest and add methods based on whats in illumos.
This will create two sendmail service instances, :mta and :msp, to start
the two sendmail instances that are usually required. The :mta instance
optionally depends on spamassassin and spamass-milter.
diffstat:
mail/sendmail/Makefile | 5 +-
mail/sendmail/files/smf/manifest.xml | 322 ++++++++++++++++++++++++---
mail/sendmail/files/smf/sendmail.sh | 131 +++++++++++
mail/sendmail/files/smf/sendmail_include.sh | 103 ++++++++
mail/sendmail/files/smf/smmsp.sh | 82 +++++++
5 files changed, 602 insertions(+), 41 deletions(-)
diffs (truncated from 676 to 300 lines):
diff -r 21df13272657 -r 0e8a2ef8c0c9 mail/sendmail/Makefile
--- a/mail/sendmail/Makefile Fri Dec 16 15:52:52 2016 +0000
+++ b/mail/sendmail/Makefile Fri Dec 16 16:07:29 2016 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.128 2016/03/05 11:28:51 jperkin Exp $
+# $NetBSD: Makefile,v 1.129 2016/12/16 16:07:29 hans Exp $
PKGNAME= sendmail-${DIST_VERS}
-PKGREVISION= 1
+PKGREVISION= 2
COMMENT= The well known Mail Transport Agent
CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 postfix-[0-9]*
@@ -18,6 +18,7 @@
SMRSH_CMDDIR?= ${PREFIX}/libexec/sm.bin
PLIST_SUBST+= SMRSH_CMDDIR=${SMRSH_CMDDIR}
RCD_SCRIPTS= sendmail smmsp
+SMF_METHODS= sendmail sendmail_include smmsp
BUILD_DEFS+= VARBASE
diff -r 21df13272657 -r 0e8a2ef8c0c9 mail/sendmail/files/smf/manifest.xml
--- a/mail/sendmail/files/smf/manifest.xml Fri Dec 16 15:52:52 2016 +0000
+++ b/mail/sendmail/files/smf/manifest.xml Fri Dec 16 16:07:29 2016 +0000
@@ -1,40 +1,284 @@
-<?xml version='1.0'?>
-<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
-<service_bundle type='manifest' name='export'>
- <service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='0'>
- <create_default_instance enabled="false" />
- <single_instance />
- <dependency name='fs-local' grouping='require_all' restart_on='none' type='service'>
- <service_fmri value='svc:/system/filesystem/local' />
- </dependency>
- <dependency name='loopback' grouping='require_all' restart_on='error' type='service'>
- <service_fmri value='svc:/network/loopback:default' />
- </dependency>
- <dependency name='physical' grouping='require_all' restart_on='error' type='service'>
- <service_fmri value='svc:/network/physical:default' />
- </dependency>
- <dependency name='name-services' grouping='require_all' restart_on='refresh' type='service'>
- <service_fmri value='svc:/milestone/name-services' />
- </dependency>
- <dependency name='system-log' grouping='optional_all' restart_on='none' type='service'>
- <service_fmri value='svc:/system/system-log' />
- </dependency>
- <dependency name='config-files' grouping='require_all' restart_on='refresh' type='path'>
- <service_fmri value='file:///etc/mail/sendmail.cf' />
- </dependency>
- <exec_method name='start' type='method' exec='@PREFIX@/libexec/sendmail/sendmail -Lsm-mta -bd -q30m' timeout_seconds='60' />
- <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60' />
- <property_group name='startd' type='framework'>
- <propval name='ignore_error' type='astring' value='core,signal' />
- </property_group>
- <template>
- <common_name>
- <loctext xml:lang='C'>Sendmail SMTP Server</loctext>
- </common_name>
- <documentation>
- <manpage title='sendmail' section='8' manpath='@PREFIX@/@PKGMANDIR@'/>
- <doc_link name='sendmail.com' uri='http://www.sendmail.com/sm/open_source/docs/' />
- </documentation>
- </template>
- </service>
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+ CDDL HEADER START
+
+ The contents of this file are subject to the terms of the
+ Common Development and Distribution License (the "License").
+ You may not use this file except in compliance with the License.
+
+ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ or http://www.opensolaris.org/os/licensing.
+ See the License for the specific language governing permissions
+ and limitations under the License.
+
+ When distributing Covered Code, include this CDDL HEADER in each
+ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ If applicable, add the following below this CDDL HEADER, with the
+ fields enclosed by brackets "[]" replaced with your own identifying
+ information: Portions Copyright [yyyy] [name of copyright owner]
+
+ CDDL HEADER END
+
+ Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
+
+ Copyright 2016 Hans Rosenfeld <rosenfeld%grumpf.hope-2000.org@localhost>
+
+ NOTE: This service manifest is not editable; its contents will
+ be overwritten by package or patch operations, including
+ operating system upgrade. Make customizations in a different
+ file.
+-->
+
+<service_bundle type='manifest' name='@SMF_NAME@'>
+
+<service
+ name='@SMF_PREFIX@/@SMF_NAME@'
+ type='service'
+ version='1'>
+
+ <dependency
+ name='fs-local'
+ grouping='require_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/system/filesystem/local' />
+ </dependency>
+
+ <dependency
+ name='network-service'
+ grouping='require_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/network/service' />
+ </dependency>
+
+ <dependency
+ name='name-services'
+ grouping='require_all'
+ restart_on='refresh'
+ type='service'>
+ <service_fmri value='svc:/milestone/name-services' />
+ </dependency>
+
+ <dependency
+ name='identity'
+ grouping='optional_all'
+ restart_on='refresh'
+ type='service'>
+ <service_fmri value='svc:/system/identity:domain' />
+ </dependency>
+
+ <dependency
+ name='system-log'
+ grouping='optional_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/system/system-log' />
+ </dependency>
+
+ <property_group name='firewall_context' type='com.sun,fw_definition'>
+ <propval name='name' type='astring' value='smtp' />
+ </property_group>
+
+
+ <instance name='mta' enabled='false'>
+
+ <dependency
+ name='config-file'
+ grouping='require_all'
+ restart_on='refresh'
+ type='path'>
+ <service_fmri
+ value='file://localhost/etc/mail/sendmail.cf' />
+ </dependency>
+
+ <dependency
+ name='nsswitch'
+ grouping='require_all'
+ restart_on='refresh'
+ type='path'>
+ <service_fmri
+ value='file://localhost/etc/nsswitch.conf' />
+ </dependency>
+
+ <!-- If spamassassin is enabled, wait for it. -->
+ <dependency
+ name='spamassassin'
+ grouping='optional_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/@SMF_PREFIX@/spamassassin' />
+ </dependency>
+
+ <dependency
+ name='spamass-milter'
+ grouping='optional_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/@SMF_PREFIX@/spamass-milter' />
+ </dependency>
+
+ <!--
+ If autofs is enabled, wait for it to get users' home
+ directories.
+ -->
+ <dependency
+ name='autofs'
+ grouping='optional_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/system/filesystem/autofs' />
+ </dependency>
+
+ <dependent
+ name='smtp-sendmail_multi-user'
+ grouping='optional_all'
+ restart_on='none'>
+ <service_fmri
+ value='svc:/milestone/multi-user' />
+ </dependent>
+
+ <!--
+ Sendmail is hard-coded to sleep for 60 seconds if it cannot
+ determine the FQHN, so the timeout for start must be longer
+ than that. For details, see
+ http://www.sendmail.org/vendor/sun/differences.html#3.2
+ -->
+
+ <exec_method
+ type='method'
+ name='start'
+ exec='@PREFIX@/@SMF_METHOD_FILE.sendmail@ start'
+ timeout_seconds='120' />
+
+ <exec_method
+ type='method'
+ name='stop'
+ exec='@PREFIX@/@SMF_METHOD_FILE.sendmail@ stop %{restarter/contract}'
+ timeout_seconds='60' />
+
+ <exec_method
+ type='method'
+ name='refresh'
+ exec='@PREFIX@/@SMF_METHOD_FILE.sendmail@ refresh'
+ timeout_seconds='60' />
+
+ <property_group name='firewall_config' type='com.sun,fw_configuration'>
+ <propval name='policy' type='astring' value='use_global' />
+ <propval name='block_policy' type='astring'
+ value='use_global' />
+ <propval name='apply_to' type='astring' value='' />
+ <propval name='apply_to_6' type='astring' value='' />
+ <propval name='exceptions' type='astring' value='' />
+ <propval name='exceptions_6' type='astring' value='' />
+ <propval name='target' type='astring' value='' />
+ <propval name='target_6' type='astring' value='' />
+ <propval name='value_authorization' type='astring'
+ value='solaris.smf.value.firewall.config' />
+ </property_group>
+
+ <property_group name='startd' type='framework'>
+ <propval name='ignore_error' type='astring'
+ value='core,signal' />
+ </property_group>
+
+ <property_group name='general' type='framework'>
+ <propval name='action_authorization' type='astring'
+ value='solaris.smf.manage.sendmail' />
+ </property_group>
+
+ <property_group name='config' type='application'>
+ <propval name='include_info'
+ type='boolean' value='false' />
+ <propval name='local_only'
+ type='boolean' value='true' />
+ <propval name='path_to_sendmail_mc'
+ type='astring'
+ value='@PREFIX@/share/sendmail/cf/sendmail.mc' />
+ <propval name='value_authorization' type='astring'
+ value='solaris.smf.value.sendmail' />
+ </property_group>
+
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>
+ sendmail SMTP mail transfer agent
+ </loctext>
+ </common_name>
+ <documentation>
+ <manpage title='sendmail' section='8'
+ manpath='@PREFIX@/@PKGMANDIR@' />
+ </documentation>
+ </template>
+
+ </instance>
+
+ <instance name='msp' enabled='false'>
+
+ <dependency
+ name='config-file'
+ grouping='require_all'
+ restart_on='refresh'
+ type='path'>
+ <service_fmri
+ value='file://localhost/etc/mail/submit.cf' />
+ </dependency>
+
+ <!--
+ Sendmail is hard-coded to sleep for 60 seconds if it cannot
+ determine the FQHN, so the timeout for start must be longer
+ than that. For details, see
+ http://www.sendmail.org/vendor/sun/differences.html#3.2
+ -->
+
+ <exec_method
Home |
Main Index |
Thread Index |
Old Index