From: S.Çağlar Onur Date: Sat, 9 Aug 2014 03:13:27 +0000 (-0400) Subject: introduce --with-distro=raspbian X-Git-Tag: lxc-1.1.0.alpha2~80 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c1bb85ad2b6dd2f67244da1f2367c70e83aa343;p=thirdparty%2Flxc.git introduce --with-distro=raspbian Raspberry Pi kernel finally supports all the bits required by LXC [1] This patch makes "./configure --with-distro=raspbian" to install lxcbr0 based config file and upstart jobs. Also src/lxc/lxc.net now checks the existence of the lxc-dnsmasq user (and fallbacks to dnsmasq) RPI users still need to pass "MIRROR=http://archive.raspbian.org/raspbian/" parameter to lxc-create to pick the correct packages MIRROR=http://archive.raspbian.org/raspbian/ lxc-create -t debian -n rpi [Could be applied to stable-1.0 if you cherry-pick 7157a508ba3015b830877a5e4d6ca9debb3fd064] [1] https://github.com/raspberrypi/linux/issues/176 Signed-off-by: S.Çağlar Onur Acked-by: Serge E. Hallyn --- diff --git a/configure.ac b/configure.ac index 720fac4f0..462217e06 100644 --- a/configure.ac +++ b/configure.ac @@ -59,7 +59,7 @@ if test "z$with_distro" = "z"; then with_distro="unknown" fi case $with_distro in - ubuntu) + ubuntu|raspbian) distroconf=default.conf.ubuntu ;; redhat|centos|fedora|oracle|oracleserver) @@ -70,7 +70,7 @@ case $with_distro in ;; esac AC_MSG_RESULT([$with_distro]) -AM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu"]) +AM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu" -o x"$with_distro" = "xraspbian"]) AM_CONDITIONAL([DISTRO_UBUNTU], [test "x$with_distro" = "xubuntu"]) # Check for init system type @@ -88,7 +88,7 @@ case "$with_init_script" in redhat|centos|oracle|oracleserver) init_script=sysvinit ;; - debian) + debian|raspbian) init_script=upstart,systemd ;; ubuntu) diff --git a/src/lxc/lxc.net b/src/lxc/lxc.net index 5ea4f1d43..9ec96953d 100755 --- a/src/lxc/lxc.net +++ b/src/lxc/lxc.net @@ -59,7 +59,11 @@ start() { if [ -n "$LXC_DOMAIN" ]; then LXC_DOMAIN_ARG="-s $LXC_DOMAIN -S /$LXC_DOMAIN/" fi - dnsmasq $LXC_DOMAIN_ARG -u lxc-dnsmasq --strict-order --bind-interfaces --pid-file=${varrun}/dnsmasq.pid --conf-file=${LXC_DHCP_CONFILE} --listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} --dhcp-lease-max=${LXC_DHCP_MAX} --dhcp-no-override --except-interface=lo --interface=${LXC_BRIDGE} --dhcp-leasefile=/var/lib/misc/dnsmasq.${LXC_BRIDGE}.leases --dhcp-authoritative || cleanup + DNSMASQ_USER="lxc-dnsmasq" + if ! getent passwd ${DNSMASQ_USER} >/dev/null; then + DNSMASQ_USER="dnsmasq" + fi + dnsmasq $LXC_DOMAIN_ARG -u ${DNSMASQ_USER} --strict-order --bind-interfaces --pid-file=${varrun}/dnsmasq.pid --conf-file=${LXC_DHCP_CONFILE} --listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} --dhcp-lease-max=${LXC_DHCP_MAX} --dhcp-no-override --except-interface=lo --interface=${LXC_BRIDGE} --dhcp-leasefile=/var/lib/misc/dnsmasq.${LXC_BRIDGE}.leases --dhcp-authoritative || cleanup touch ${varrun}/network_up }