While some people really love daemontools, most people prefer to use the native logging and init systems provided by the distro. The current djbdns package relies on daemontools, which adds /etc/init.d/svscan, which then starts up an entire secondary service monitoring situation. Wouldn't it be nice if djbdns just played by the Linux rules, without sacrificing security? Some people at Fedora, evidently, got fed up over this and decided to maintain ndjbdns -- a djbdns that's been tamed to work with the usual Linux setup. They provide systemd scripts and classic sysv init scripts, and it should be trivial to add openrc scripts. Most of all, the whole system integrates nicely into the FHS, and it's really the type of djbdns we should be shipping here. How would you feel about supporting this?
URL: http://pjp.dgplug.org/ndjbdns/about.html By the way, the build system is just ordinary autotools. The fedora spec is wonderfully simple: http://pkgs.fedoraproject.org/gitweb/?p=ndjbdns.git;a=blob;f=ndjbdns.spec;h=b9c3a036df3e89052cc44a756e9590f6b28fafad;hb=HEAD I suspect our ebuild will be even simpler.
It's a fork so let's not say djbdns needs to transition - this would simply be another package in the tree and the old can stay exactly as it is.
Created attachment 314495 [details] ndjbdns-1.05.4.ebuild Basic ebuild, includes one Gentoo specific fix (via sed) and one patch for upstream.
Created attachment 314497 [details] files/ndjbdns-1.05.4-includes.patch Fixes a couple of missing includes: * QA Notice: Package triggers severe warnings which indicate that it * may exhibit random runtime failures. * dnscache-conf.c:111:5: warning: implicit declaration of function ‘strlen’ * dnscache-conf.c:115:5: warning: implicit declaration of function ‘sprintf’ * dnscache-conf.c:116:5: warning: implicit declaration of function ‘printf’
Now all this needs is a couple of init.d scripts, which is where this package actually deviates from djbdns.
Looks great. Possible TODOs: - OpenRC scripts - Not installing the included SysV scripts - Possibly integrating with the somewhat partially unofficially supported systemd support in gentoo to plop those .service files into the right place - IPv6 support As for the last item, net-dns/djbdns provides this via a series of patches, that I'm not sure whether or not they apply over ndjbdns. There was an old comment about upstream potentially supporting this at some point, so I've emailed the upstream authors to inquire about the status and current support. I'll report back what I hear.