pacho       14/04/05 08:23:37

  Modified:             ChangeLog
  Added:                pdnsd-1.2.9a-r1.ebuild
  Log:
  Add unit file and rely on tmpfiles.d to create needed cache dirs at runtime 
(#501876 by Martin Vath)
  
  (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 
A188FBD4)

Revision  Changes    Path
1.123                net-dns/pdnsd/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/pdnsd/ChangeLog?rev=1.123&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/pdnsd/ChangeLog?rev=1.123&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/pdnsd/ChangeLog?r1=1.122&r2=1.123

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/net-dns/pdnsd/ChangeLog,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -r1.122 -r1.123
--- ChangeLog   3 Mar 2014 13:57:09 -0000       1.122
+++ ChangeLog   5 Apr 2014 08:23:37 -0000       1.123
@@ -1,6 +1,13 @@
 # ChangeLog for net-dns/pdnsd
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/pdnsd/ChangeLog,v 1.122 2014/03/03 
13:57:09 polynomial-c Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/pdnsd/ChangeLog,v 1.123 2014/04/05 
08:23:37 pacho Exp $
+
+*pdnsd-1.2.9a-r1 (05 Apr 2014)
+
+  05 Apr 2014; Pacho Ramos <[email protected]> +files/pdnsd.rc8,
+  +files/pdnsd.service, +files/pdnsd.tmpfiles, +pdnsd-1.2.9a-r1.ebuild:
+  Add unit file and rely on tmpfiles.d to create needed cache dirs at runtime
+  (#501876 by Martin Vath)
 
   03 Mar 2014; Lars Wendler <[email protected]> files/pdnsd.rc7:
   Fixed pidfile location for non-linux systems.



1.1                  net-dns/pdnsd/pdnsd-1.2.9a-r1.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/pdnsd/pdnsd-1.2.9a-r1.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-dns/pdnsd/pdnsd-1.2.9a-r1.ebuild?rev=1.1&content-type=text/plain

Index: pdnsd-1.2.9a-r1.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdnsd/pdnsd-1.2.9a-r1.ebuild,v 1.1 
2014/04/05 08:23:37 pacho Exp $

EAPI=5

inherit systemd user

DESCRIPTION="Proxy DNS server with permanent caching"
HOMEPAGE="http://members.home.nl/p.a.rombouts/pdnsd/";
SRC_URI="http://members.home.nl/p.a.rombouts/pdnsd/releases/${P}-par.tar.gz";

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~s390 ~sparc ~x86"
IUSE="debug ipv6 isdn +urandom test"

RDEPEND="sys-apps/openrc"
DEPEND="test? ( net-dns/bind-tools )"

pkg_setup() {
        enewgroup pdnsd
        enewuser pdnsd -1 -1 /var/lib/pdnsd pdnsd
}

src_configure() {
        local myconf=""
        use debug && myconf="${myconf} --with-debug=3"
        use urandom && myconf="${myconf} --with-random-device=/dev/urandom"

        econf \
                --disable-dependency-tracking \
                --sysconfdir=/etc/pdnsd \
                --with-cachedir=/var/cache/pdnsd \
                --with-default-id=pdnsd \
                $(use_enable ipv6) $(use_enable ipv6 ipv6-startup) \
                $(use_enable isdn) \
                ${myconf}
}

src_install() {
        emake DESTDIR="${D}" install

        dodoc AUTHORS ChangeLog* NEWS README THANKS TODO README.par
        docinto contrib ; dodoc contrib/{README,dhcp2pdnsd,pdnsd_dhcp.pl}
        docinto html ; dohtml doc/html/*
        docinto txt ; dodoc doc/txt/*
        newdoc doc/pdnsd.conf pdnsd.conf.sample

        newinitd "${FILESDIR}/pdnsd.rc8" pdnsd
        newinitd "${FILESDIR}/pdnsd.online.2" pdnsd-online
        systemd_newtmpfilesd "${FILESDIR}/pdnsd.tmpfiles" pdnsd.conf
        systemd_dounit "${FILESDIR}/pdnsd.service"

        mkdir "${T}"/confd || die

        cat - > "${T}"/confd/pdnsd-online <<EOF
# Make sure to change the rc_need variable to the service for the
# interface that connects you to the dns servers.
#
# For instance if you use a PPP connection on ppp0 to connect, set
#   rc_need="net.ppp0"

rc_need="net.lo"
EOF

        # Don't try to do the smart thing and add the --help output here:
        # it will cause the file to be etc-updated if the help text
        # changes and fails when cross-compiling.
        cat - > "${T}"/confd/pdnsd <<EOF
# Command line options, check pdnsd --help for a list of valid
# parameters. Note that most of the options that can be given at
# command-line are also available as configuration parameters in
# /etc/pdnsd/pdnsd.conf
PDNSDCONFIG=""
EOF

        doconfd "${T}"/confd/*

        # gentoo resolvconf support
        exeinto /etc/resolvconf/update.d
        newexe "${FILESDIR}/pdnsd.resolvconf-r1" pdnsd
}

src_test() {
        fail_kill() {
                kill -9 $(<"${T}"/pid)
                die "$1"
        }

        mkdir "${T}/pdnsd" || die
        echo -n -e "pd12\0\0\0\0" > "${T}/pdnsd/pdnsd.cache"
        IPS=$(grep ^nameserver /etc/resolv.conf | sed -e 's/nameserver 
\(.*\)/\tip=\1;/g' | xargs)
        sed -e "s/\tip=/${IPS}/" -e "s:cache_dir=:cache_dir=${T}/pdnsd:" 
"${FILESDIR}/pdnsd.conf.test" \
                > "${T}/pdnsd.conf.test"
        src/pdnsd -c "${T}/pdnsd.conf.test" -g -s -d -p "${T}/pid" || die 
"couldn't start daemon"
        sleep 3

        find "${T}" -ls
        [ -s "${T}/pid" ] || die "empty or no pid file created"
        [ -S "${T}/pdnsd/pdnsd.status" ] || fail_kill "no socket created"
        src/pdnsd-ctl/pdnsd-ctl -c "${T}/pdnsd" server all up || fail_kill 
"failed to start the daemon"
        src/pdnsd-ctl/pdnsd-ctl -c "${T}/pdnsd" status || fail_kill "failed to 
communicate with the daemon"
        sleep 3

        dig @127.0.0.1 -p 33455 localhost > "${T}"/dig.output 2>&1
        cat "${T}"/dig.output || die
        fgrep -q "status: NOERROR" "${T}"/dig.output || fail_kill 
"www.gentoo.org lookup failed"

        kill $(<"${T}/pid") || fail_kill "failed to terminate daemon"
}

pkg_postinst() {
        elog
        elog "Add pdnsd to your default runlevel - rc-update add pdnsd default"
        elog ""
        elog "Add pdnsd-online to your online runlevel."
        elog "The online interface will be listed in /etc/conf.d/pdnsd-online"
        elog ""
        elog "Sample config file in /etc/pdnsd/pdnsd.conf.sample"
}




Reply via email to