ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/bind/files/named.init b/external/subpack/net/bind/files/named.init
new file mode 100644
index 0000000..1a76837
--- /dev/null
+++ b/external/subpack/net/bind/files/named.init
@@ -0,0 +1,73 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2014 Noah Meyerhans <frodo@morgul.net>
+# Licensed under the terms of the GNU General Public License version 2
+# or (at your discretion) any later later version
+
+USE_PROCD=1
+
+START=22
+
+config_file=/etc/bind/named.conf
+config_dir=$(dirname $config_file)
+named_options_file=/etc/bind/named-rndc.conf
+rndc_conf_file=/etc/bind/rndc.conf
+pid_file=/var/run/named/named.pid
+rndc_temp=$(mktemp /tmp/rndc-confgen.XXXXXX)
+
+logdir=/var/log/named/
+cachedir=/var/cache/bind
+libdir=/var/lib/bind
+dyndir=/tmp/bind
+
+conf_local_file=$dyndir/named.conf.local
+
+
+fix_perms() {
+    for dir in $libdir $logdir $cachedir $dyndir; do
+	test -e "$dir" || {
+            mkdir -p "$dir"
+            chgrp bind "$dir"
+            chmod g+w "$dir"
+	}
+    done
+}
+
+reload_service() {
+    rndc -q reload
+}
+
+start_service() {
+    user_exists bind 57 || user_add bind 57
+    group_exists bind 57 || group_add bind 57
+    fix_perms
+
+    rndc-confgen > $rndc_temp
+
+    sed -r -n \
+	-e '/^# options \{$/,/^\};$/{ s/^/# / }' \
+	-e p \
+	-e '/^# End of rndc\.conf$/q' \
+	< $rndc_temp > $rndc_conf_file
+
+    sed -r -n \
+	-e '1,/^# End of rndc\.conf$/ { b done }' \
+	-e '/^# Use with the following in named.conf/ { p ; b done }' \
+	-e '/^# End of named\.conf$/ { p ; b done }' \
+	-e '/^# key /,$ { s/^# // ; p }' \
+	-e ': done' \
+	< $rndc_temp > $named_options_file
+
+    rm -f $rndc_temp
+
+    touch $conf_local_file
+
+    procd_open_instance
+    procd_set_param command /usr/sbin/named -u bind -f -c $config_file
+    procd_set_param file $config_file \
+			 $config_dir/bind.keys \
+			 $named_options_file \
+			 $conf_local_file \
+			 $config_dir/db.*
+    procd_set_param respawn
+    procd_close_instance
+}