diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-01-02 18:10:55 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-01-02 18:11:47 +0400 |
commit | 656f8dc0f231c373e59d289580d9e2b53f37d652 (patch) | |
tree | 55f51870245d9515db9bddd7207263bc84bd896e | |
parent | 8c01b526ab9939f8a3aa86d635abe7ad5e68ef49 (diff) | |
download | exim4-656f8dc0f231c373e59d289580d9e2b53f37d652.tar.gz |
Added SMF service (template). Build depends on dh-smf [illumos-any]
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/exim4-base.smf/manifest/network/smtp/exim4.xml | 70 | ||||
-rw-r--r-- | debian/exim4-base.smf/method/smtp-exim4 | 37 | ||||
-rwxr-xr-x | debian/rules | 5 |
4 files changed, 114 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 25f301c..fbfda40 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ exim4 (4.82-3+dyson1) UNRELEASED; urgency=low * Package for Dyson * Added dyson-version.patch: fix building from git, but not from Exim git + * Added SMF service + * Build depends on dh-smf [illumos-any] * Build depends on libkstat-dev [illumos-any] -- Igor Pashev <pashev.igor@gmail.com> Wed, 01 Jan 2014 14:32:47 +0400 diff --git a/debian/exim4-base.smf/manifest/network/smtp/exim4.xml b/debian/exim4-base.smf/manifest/network/smtp/exim4.xml new file mode 100644 index 0000000..b3bf93c --- /dev/null +++ b/debian/exim4-base.smf/manifest/network/smtp/exim4.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> +<!DOCTYPE service_bundle SYSTEM "/usr/share/xml/schema/smf/service_bundle.dtd.1"> +<service_bundle type="manifest" name="exim4"> + <service name="network/smtp" type="service" version="1"> + <single_instance/> + <!-- Disabled by default, will enable in postinst, depending on settings --> + <instance name="exim4" enabled="false"> + <dependency name="fs-local" grouping="require_all" restart_on="none" type="service"> + <service_fmri value="svc:/system/filesystem/local"/> + </dependency> + <dependency name="name-services" grouping="require_all" restart_on="refresh" type="service"> + <service_fmri value="svc:/milestone/name-services"/> + </dependency> + <dependency name="executable" grouping="require_all" restart_on="refresh" type="path"> + <service_fmri value="file://localhost/usr/sbin/exim4"/> + </dependency> + <dependency name="nsswitch" grouping="require_all" restart_on="refresh" type="path"> + <service_fmri value="file://localhost/etc/nsswitch.conf"/> + </dependency> + <dependency name="identity" grouping="optional_all" restart_on="refresh" type="service"> + <service_fmri value="svc:/system/identity:domain"/> + </dependency> + <dependency name="syslog" grouping="optional_all" restart_on="none" type="service"> + <service_fmri value="svc:/system/system-log"/> + </dependency> + <dependency name="autofs" grouping="optional_all" restart_on="none" type="service"> + <service_fmri value="svc:/system/filesystem/autofs"/> + </dependency> + <dependency name="mysql" grouping="optional_all" restart_on="none" type="service"> + <service_fmri value="svc:/application/database/mysql"/> + </dependency> + <dependency name="postgres" grouping="optional_all" restart_on="none" type="service"> + <service_fmri value="svc:/application/database/postgres"/> + </dependency> + <dependency name="ntp" grouping="optional_all" restart_on="none" type="service"> + <service_fmri value="svc:/network/ntp"/> + </dependency> + <dependent name="smtp-exim4_multi-user" grouping="optional_all" restart_on="none"> + <service_fmri value="svc:/milestone/multi-user"/> + </dependent> + <exec_method type="method" name="start" exec="/lib/svc/method/smtp-exim4 start" timeout_seconds="120"/> + <exec_method type="method" name="stop" exec="/lib/svc/method/smtp-exim4 stop %{restarter/contract}" timeout_seconds="60"/> + <exec_method type="method" name="refresh" exec="/lib/svc/method/smtp-exim4 refresh" timeout_seconds="60"/> + <property_group name="startd" type="framework"> + <propval name="ignore_error" type="astring" value="core,signal"/> + </property_group> + <!-- exim4-base holds the service, but management is done in other packages --> + <property_group name="package" type="framework"> + <propval name="upgrade" type="astring" value="none"/> + </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="value_authorization" type="astring" value="solaris.smf.value.sendmail"/> + </property_group> + <template> + <common_name> + <loctext xml:lang="C"> + Exim4 mail transport agent + </loctext> + </common_name> + <documentation> + <manpage title="exim4" section="8"/> + </documentation> + </template> + </instance> + <stability value="Unstable"/> + </service> +</service_bundle> diff --git a/debian/exim4-base.smf/method/smtp-exim4 b/debian/exim4-base.smf/method/smtp-exim4 new file mode 100644 index 0000000..02341f3 --- /dev/null +++ b/debian/exim4-base.smf/method/smtp-exim4 @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + + +exim4_start() +{ +} + + +exim4_stop() +{ +} + + +exim4_refresh() +{ +} + +case "$1" in + start) + exim4_start + ;; + stop) + exim4_stop + ;; + refresh) + exim4_refresh + ;; + *) + echo "$0: unknown command: $1" >&2 + exit 1 + ;; +esac + +exit 0 + diff --git a/debian/rules b/debian/rules index fbaf763..274083c 100755 --- a/debian/rules +++ b/debian/rules @@ -4,6 +4,7 @@ # # Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 +include /usr/share/dpkg/architecture.mk buildname := $(shell scripts/os-type)-$(shell scripts/arch-type) DEBIAN := $(shell pwd)/debian @@ -454,9 +455,13 @@ binary-arch: build $(install) # dh_installemacsen $(dhbuildpackages) dh_installpam $(dhbuildpackages) dh_installmime $(dhbuildpackages) +ifeq (illumos,$(DEB_HOST_ARCH_OS)) + dh_smf -p exim4-base +else #dh_installinit $(dhbuildpackages) --noscripts --name=exim4 # work around #347577 (fixed in debhelper 5.0.15) dh_installinit $(dhbuildpackages) -n --name=exim4 +endif dh_installcron $(dhbuildpackages) # dh_installinfo $(dhbuildpackages) # dh_undocumented $(dhbuildpackages) |