Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 389667

Summary: net-dns/djbdns: /usr/bin/dnscache-setup: line 229: einfo: command not found
Product: Gentoo Linux Reporter: Mark Zhitomirski <marcuzero>
Component: New packagesAssignee: Dane Smith (RETIRED) <c1pher>
Status: RESOLVED FIXED    
Severity: normal CC: mjo, proxy-maint
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info output
Fix the two `source` lines

Description Mark Zhitomirski 2011-11-05 19:00:35 UTC
Created attachment 291765 [details]
emerge --info output

this is not an upstream bug ;)
Comment 1 Mike Gilbert gentoo-dev 2011-11-08 03:11:38 UTC
dnscache-setup tries to source /sbin/functions.sh, which is not provided by baselayout-2.

Replacing that with /etc/init.d/functions.sh would probably work.
Comment 2 Michael Orlitzky gentoo-dev 2011-11-08 16:56:08 UTC
First, housekeeping:

  ${FILESDIR}/djbdns-setup

is no longer used. We use djbdns-setup-r17 instead. I suggest dropping the old one, and renaming the new to just djbdns-setup. The path would then need updated in both of the ebuilds.

I'll go through the foo-setup files to see if they contain anything especially useful. My first impression is that they simply restate the following documentation:

  http://cr.yp.to/djbdns/dnscache-conf.html
  http://cr.yp.to/djbdns/tinydns-conf.html
  http://cr.yp.to/djbdns/axfrdns-conf.html
  http://cr.yp.to/djbdns/walldns-conf.html
  http://cr.yp.to/djbdns/rbldns-conf.html

Users might be better served if we link to those rather than add an unnecessary layer of abstraction on top.
Comment 3 Michael Orlitzky gentoo-dev 2011-11-08 18:52:26 UTC
tinydns-setup does some redundant user/group checks (they're added in the ebuild), prompts the user for the IP address and install path, and then optionally adds the symlink to /service before calling tinydns-conf.

The last part is confusing, because if you say "no" to "start it now," the symlink won't get added and you'll have to do it manually later before svscan will work.

The IP address prompt uses ifconfig magic.

dnscache-setup does most of the same stuff. It does do something that dnscache-conf doesn't: it sets up forwarding servers and which clients are allowed to connect to it.

But it also modifies the user's /etc/resolv.conf, which is very bad on a DNS server.

In djbdns-setup-r17, the tinydns_setup function is a no-op, dnscache_setup more-or-less does what the dnscache-setup script does, and axfrdns_setup does all sorts of magic badness.

All of them use hard-coded binary paths rather than the portage facilities.

Overall, I'm not impressed and I foresee more problems than if we just used the foo-conf programs. We only need to document a few things that the user would need to know before calling foo-conf:

  * The tinydns user is 'tinydns'
  * The dnscache user is 'dnscache'
  * The log user is 'dnslog'
  * Everything uses group 'nofiles'
  * To start these services automatically, you need to symlink the directories 
    (e.g. /var/dnscache) under /service (e.g. /service/dnscache). Then, make 
    sure 'svscan' (from /etc/init.d/svscan) is added to the default runlevel.
Comment 4 Markos Chandras (RETIRED) gentoo-dev 2012-03-05 22:46:53 UTC
Please don't mix multiple issues in a single bug. This bug is about the missing einfo command. Sourcing functions.sh should do the trick. For the rest of the problems you need to open separate bugs otherwise it gets a bit messy
Comment 5 Michael Orlitzky gentoo-dev 2012-03-05 23:32:21 UTC
(In reply to comment #4)
> Please don't mix multiple issues in a single bug. This bug is about the
> missing einfo command. Sourcing functions.sh should do the trick. For the
> rest of the problems you need to open separate bugs otherwise it gets a bit
> messy

I wouldn't put you through that =)

I'll wait for the root servers fix and then deal with this.
Comment 6 Michael Orlitzky gentoo-dev 2012-03-15 15:49:19 UTC
Created attachment 305515 [details, diff]
Fix the two `source` lines

I guess there's no reason to wait for any of the other fixes; this should apply independently. Would you rather I bump the ChangeLog on these, too?

commit b1c0243c6ed77acca39a08281db8213ae225bfa7
Author: Michael Orlitzky <michael@orlitzky.com>
Date:   Thu Mar 15 11:42:58 2012 -0400

    Update files/dnscache-setup and files/tinydns-setup for baselayout2.
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2012-04-01 11:57:02 UTC
Thanks fixed