Signed-off-by: Li Xin <[email protected]>
---
 .../bind/bind/bind-chroot.service                  | 26 ++++++++++++++++++++++
 meta/recipes-connectivity/bind/bind_9.10.2.bb      | 13 +++++++----
 2 files changed, 35 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-connectivity/bind/bind/bind-chroot.service

diff --git a/meta/recipes-connectivity/bind/bind/bind-chroot.service 
b/meta/recipes-connectivity/bind/bind/bind-chroot.service
new file mode 100644
index 0000000..f204d11
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-chroot.service
@@ -0,0 +1,26 @@
+[Unit]
+Description=Berkeley Internet Name Domain (DNS)
+Wants=nss-lookup.target
+Before=nss-lookup.target
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/sysconfig/named
+Environment=KRB5_KTNAME=/etc/named.keytab
+PIDFile=/var/named/chroot/var/run/named/named.pid
+
+ExecStartPre=@BASE_BINDIR@/mkdir -p /var/cache/bind
+ExecStartPre=@SBINDIR@/rndc-confgen -a -t /var/named/chroot -k rndckey
+ExecStartPre=@SBINDIR@/named-checkconf -t /var/named/chroot -z 
/etc/bind/named.conf
+ExecStart=@SBINDIR@/named -t /var/named/chroot $OPTIONS
+
+ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || 
@BASE_BINDIR@/kill -HUP $MAINPID'
+
+ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || 
@BASE_BINDIR@/kill -TERM $MAINPID'
+
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta/recipes-connectivity/bind/bind_9.10.2.bb 
b/meta/recipes-connectivity/bind/bind_9.10.2.bb
index 1dc15a9..bb1be24 100644
--- a/meta/recipes-connectivity/bind/bind_9.10.2.bb
+++ b/meta/recipes-connectivity/bind/bind_9.10.2.bb
@@ -18,6 +18,7 @@ SRC_URI = 
"ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
            file://init.d-add-support-for-read-only-rootfs.patch \
            file://bind-confgen-build-unix.o-once.patch \
            file://0001-build-use-pkg-config-to-find-libxml2.patch \
+           file://bind-chroot.service \
            "
 
 SRC_URI[md5sum] = "dca7a9967947bffa98547fca6130fc04"
@@ -45,7 +46,7 @@ USERADD_PARAM_${PN} = "--system --home /var/cache/bind 
--no-create-home \
 INITSCRIPT_NAME = "bind"
 INITSCRIPT_PARAMS = "defaults"
 
-SYSTEMD_SERVICE_${PN} = "named.service"
+SYSTEMD_SERVICE_${PN} = "named.service bind-chroot.service"
 
 PARALLEL_MAKE = ""
 
@@ -81,10 +82,15 @@ do_install_append() {
        install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
        install -d ${D}${systemd_unitdir}/system
        install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/bind-chroot.service 
${D}${systemd_unitdir}/system
        sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
               -e 's,@SBINDIR@,${sbindir},g' \
-              ${D}${systemd_unitdir}/system/named.service
-
+              ${D}${systemd_unitdir}/system/*.service
+       install -d "${D}${localstatedir}/named/chroot/${sysconfdir}/bind"
+       install -d "${D}${localstatedir}/named/chroot/${localstatedir}/named"
+       install -d 
"${D}${localstatedir}/named/chroot/${localstatedir}/cache/bind"
+       install -d 
"${D}${localstatedir}/named/chroot/${localstatedir}/run/named"
+       install -m 644 ${S}/conf/* 
"${D}${localstatedir}/named/chroot/${sysconfdir}/bind/"
        install -d ${D}${sysconfdir}/default
        install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
 }
@@ -99,4 +105,3 @@ CONFFILES_${PN} = " \
        ${sysconfdir}/bind/db.local \
        ${sysconfdir}/bind/db.root \
        "
-
-- 
1.8.4.2

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to