diff --git a/type/__opendkim/manifest b/type/__opendkim/manifest index dbd9fc0..28dd808 100755 --- a/type/__opendkim/manifest +++ b/type/__opendkim/manifest @@ -29,6 +29,7 @@ case "$os" in 'freebsd') CFG_DIR="/usr/local/etc/mail" service="milter-opendkim" + start_service="milteropendkim" ;; *) printf "__opendkim does not yet support %s.\n" "$os" >&2 @@ -90,7 +91,11 @@ fi require="__package/opendkim" __file "$target_file" \ --source "$source_file" --mode 0644 -require="__package/opendkim" __start_on_boot "${service}" +# Due to the way rc.conf works on *BSD, we find ourselves in the awkward +# situation, where a service's name can contain a '-' symbol, but the +# rc.conf setting to enable a service at boot cannot. +# Unless start_service has been defined before, these two match. +require="__package/opendkim" __start_on_boot "${start_service:-${service}}" # Ensure Key and Signing tables exist and have proper permissions key_table="${CFG_DIR}/KeyTable" @@ -105,7 +110,7 @@ require="__package/opendkim" \ --mode 444 require="__file${target_file} __file${key_table} - __file${signing_table} __start_on_boot/${service}" \ + __file${signing_table} __start_on_boot/${start_service:-${service}}" \ __check_messages opendkim \ --pattern "^__file${target_file}" \ --execute "service ${service} restart"