[oe-commits] Qian Lei : dnrd: Add new recipe

git at git.openembedded.org git at git.openembedded.org
Wed Dec 31 15:47:05 UTC 2014


Module: meta-openembedded.git
Branch: master-next
Commit: e805464634fafc30490e07ba1cfbf2491bacf731
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=e805464634fafc30490e07ba1cfbf2491bacf731

Author: Qian Lei <qianl.fnst at cn.fujitsu.com>
Date:   Thu Dec 18 16:09:21 2014 +0800

dnrd: Add new recipe

dnrd is a proxying nameserver. It forwards DNS queries to the appropriate
nameserver, but can also act as the primary nameserver for a subnet behind
a firewall. It also has features such as caching DNS requests, support for
DNS servers, cache poisoning prevention, TCP support, etc.

Signed-off-by: Qian Lei <qianl.fnst at cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald at mentor.com>

---

 .../recipes-daemons/dnrd/dnrd/dnrd.conf.sample     | 21 +++++
 .../recipes-daemons/dnrd/dnrd/dnrd.init            | 94 ++++++++++++++++++++++
 .../recipes-daemons/dnrd/dnrd/dnrd.service         | 12 +++
 .../recipes-daemons/dnrd/dnrd_2.20.3.bb            | 39 +++++++++
 4 files changed, 166 insertions(+)

diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
new file mode 100644
index 0000000..ec05841
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
@@ -0,0 +1,21 @@
+# options to dnrd
+
+# example: two default dns servers and dns servers for exampledomain.com. The
+# latter are load balanced (-b)
+#
+#
+
+# DNRD_OPTS="
+# -s XXX.XXX.XX.XXX
+# -s XXX.XXX.XX.XXX
+# -b
+# -s XXX.XXX.XX.XXX:exampledomain.com
+# -s XXX.XXX.XX.XXX:exampledomain.com"
+
+# example: dnrd user
+#
+
+# DNRD_USER="user"
+#
+
+
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
new file mode 100644
index 0000000..2fe583f
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Startup script for dnrd
+#
+#       Copyright 2008, Rakesh Pandit <rakesh.pandit at gmail.com>
+#
+#       This source is free software; you can redistribute it and/or modify
+#       it under the terms of the GNU General Public License as published by
+#       the Free Software Foundation; either version 2, or (at your option)
+#       any later version.
+
+#       This source is distributed in the hope that it will be useful,
+#       but WITHOUT ANY WARRANTY; without even the implied warranty of
+#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#       GNU General Public License for more details.
+
+#       You should have received a copy of the GNU General Public License
+#       along with this program; if not, write to the Free Software
+#       Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# chkconfig: - 85 15
+# description: dnrd is a proxying nameserver. It forwards DNS queries to the
+# appropriate nameserver, but can also act as the primary nameserver for
+# a subnet behind a firewall. It also has features such as caching DNS
+# requests, support for DNS servers, cache poisoning prevention, TCP
+# support, etc..
+
+# processname: dnrd
+# pidfile: /var/run/dnrd.pid
+# config: /etc/dnrd/dnrd.conf
+
+# Provides:          dnrd
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Default-Stop:      0 1 2 6
+# Short-Description: Start dnrd daemon
+# Description:       Domain Name Relay Daemon
+# END INIT INFO
+
+exe=/usr/sbin/dnrd
+pfile=/etc/passwd
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source conf file
+. /etc/dnrd/dnrd.conf
+
+[ -x $exe ] || exit 1
+[ -r "/etc/dnrd/dnrd.conf" ] || exit 1
+if [ $DNRD_USER ]
+then
+         grep "^${LOGIN}:" $pfile >/dev/null 2>&1
+         if [ $? -eq 0 ];then
+                 echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!"
+         fi
+else
+        echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!"
+        exit 1
+fi
+
+case "$1" in
+  start)
+        echo -n "Starting  dnrd: "
+        daemon  dnrd $DNRD_OPTS -u $DNRD_USER
+        echo
+        touch /var/lock/subsys/dnrd
+        ;;
+  stop)
+        echo -n "Shutting down dnrd: "
+        killproc dnrd
+        echo
+        rm -f /var/lock/subsys/dnrd
+        rm -f /var/run/dnrd.pid
+        ;;
+  status)
+        status dnrd
+        ;;
+  restart)
+        $0 stop
+        $0 start
+        ;;
+  reload)
+        echo -n "Reloading dnrd: "
+        killproc dnrd -HUP
+        echo
+        ;;
+  *)
+        echo "Usage: $0 {start|stop|restart|reload|status}"
+        exit 1
+esac
+
+exit 0
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
new file mode 100644
index 0000000..9c9fa66
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Domain Name Relay Daemon
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/dnrd.pid
+EnvironmentFile=/etc/dnrd/dnrd.conf
+ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
new file mode 100644
index 0000000..85a58cc
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A caching, forwarding DNS proxy server"
+DESCRIPTION = "\
+dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \
+nameserver, but can also act as the primary nameserver for a subnet behind \
+a firewall. It also has features such as caching DNS requests, support for \
+DNS servers, cache poisoning prevention, TCP support, etc.."
+HOMEPAGE = "http://dnrd.sourceforge.net/"
+SECTION = "System Environment/Daemons"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1"
+
+SRC_URI = "http://ncu.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz \
+           file://dnrd.service \
+           file://dnrd.conf.sample \
+           file://dnrd.init"
+SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c"
+SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015"
+
+SYSTEMD_SERVICE_${PN} = "dnrd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+inherit autotools
+inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+
+do_install() {
+    oe_runmake install DESTDIR=${D} INSTALL="install -p"
+
+    sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \
+        ${WORKDIR}/dnrd.init
+    install -d -m 0755 ${D}${sysconfdir}/init.d
+    install -d -m 0755 ${D}${sysconfdir}/dnrd
+    install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf
+    install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd
+
+    if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d -m 0755 ${D}${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system
+    fi
+}



More information about the Openembedded-commits mailing list