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