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

Bug 383961

Summary: net-misc/dhcp-4.2.2-r2 init script is not suitable for chroot usage
Product: Gentoo Linux Reporter: Andreas Schürch <nativemad>
Component: New packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: proc mount failure

Description Andreas Schürch gentoo-dev 2011-09-21 14:52:42 UTC
Chroot usage seems still a bit broken with dhcp-4.2.2-r2 (from Bug 378799). (Almost like bug 362535)

Sep 21 15:03:37 localhost dhcpd: Error opening '/proc/net/dev' to list
interfaces
Sep 21 15:03:37 localhost dhcpd: Can't get list of interfaces.

If i mount proc manually into the chroot before the start, i get 

Sep 21 15:11:58 localhost dhcpd: Not configured to listen on any interfaces!

Yes, it is configured in /etc/conf.d/dhcpd... But it seems to get lost on the
way to the chroot!? It starts flawless without chroot.



Portage 2.1.10.11 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.12.2-r0, 2.6.39-gentoo-r3 i686)
=================================================================
System uname: Linux-2.6.39-gentoo-r3-i686-Intel-R-_Core-TM-_i7_CPU_950_@_3.07GHz-with-gentoo-2.0.3
Timestamp of tree: Wed, 21 Sep 2011 13:00:02 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.4.5
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo MadOverlay
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/mad/MadOverlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl apache2 berkdb bzip2 cairo cgi cli consolekit cracklib crypt cups cvs cxx dbus declarative desktopglobe device-mapper dri examples exif extra extras fontconfig fortran gd gdbm geos gnutls gpm gtk iconv icu imap ipv6 jpeg kde kpathsea latex mng modules mplayer msn mudflap mysql ncurses nls nptl nptlonly objc ogg opengl openmp pam pcre perl png policykit pppd python qt3support qt4 rdp readline session skype sndfile sql sqlite ssl subversion svg sysfs tcpd threads thumbnails truetype unicode vnc vorbis webkit x86 xcb xml xorg xvfb zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa cirrus" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 SpanKY gentoo-dev 2011-09-22 17:34:33 UTC
post the output (as an attachment) of running `/etc/init.d/dhcpd --debug start`

if you read the init script you'll see that it explicitly tries to mount /proc.  and it works fine for me.

# /etc/init.d/dhcpd start
# mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/proc on /var/lib/dhcp/chroot/proc type none (rw,bind)
Comment 2 Andreas Schürch gentoo-dev 2011-09-23 06:37:30 UTC
Created attachment 287469 [details]
proc mount failure

I got rid of the "Not configured to listen on any interfaces!" message by re-declaring the subnet of the nic in dhcpd.conf. Somehow i must have lost it with etc-update... :-)


The Problem is that dhcpd.init4 does not get installed:

archer dhcp # cat /etc/init.d/dhcpd | grep "proc"
archer dhcp # cat /usr/portage/net-misc/dhcp/files/dhcpd.init4 | grep proc
                checkpath -d -o root:root -m 755 "${chroot}"/dev "${chroot}"/etc "${chroot}"/proc
                if ! mountinfo -q "${chroot}/proc" ; then
                        mount --bind /proc "${chroot}/proc"
                if mountinfo -q "${chroot}/proc" ; then
                        umount "${chroot}/proc"
archer dhcp # cat /usr/portage/net-misc/dhcp/dhcp-4.2.2-r2.ebuild | grep init
                newinitd "${FILESDIR}"/dhcpd.init3 dhcpd || die
                newinitd "${FILESDIR}"/dhcrelay.init2 dhcrelay || die
        if [[ -e "${ROOT}"/etc/init.d/dhcp ]] ; then
                ewarn "WARNING: The dhcp init script has been renamed to dhcpd"
                ewarn "/etc/init.d/dhcp and /etc/conf.d/dhcp need to be removed and"
Comment 3 SpanKY gentoo-dev 2011-09-23 14:13:25 UTC
stupid portage etc-update kept me from noticing that the older init.d was getting installed

Commit message: Install newer init.d script
http://sources.gentoo.org/net-misc/dhcp/dhcp-4.2.2-r2.ebuild?r1=1.5&r2=1.6