Merge "Add Gentoo to the dhcp-all-interfaces element"
This commit is contained in:
commit
33d7e8b25e
@ -9,6 +9,11 @@ to know ahead of time which one is which, so we will simply run a
|
|||||||
DHCP client on all interfaces with real MAC addresses (except lo) that
|
DHCP client on all interfaces with real MAC addresses (except lo) that
|
||||||
are visible on the first boot.
|
are visible on the first boot.
|
||||||
|
|
||||||
The script /usr/local/sbin/dhcp-all-interfaces.sh will be called
|
On non-Gentoo based distributions the script
|
||||||
early in each boot and will scan available network interfaces and
|
/usr/local/sbin/dhcp-all-interfaces.sh will be called early in each
|
||||||
ensure they are configured properly before networking services are started.
|
boot and will scan available network interfaces and ensure they are
|
||||||
|
configured properly before networking services are started.
|
||||||
|
|
||||||
|
On Gentoo based distributions we will install the dhcpcd package and
|
||||||
|
ensure the service starts at boot. This service automatically sets
|
||||||
|
up all interfaces found via dhcp and/or dhcpv6 (or SLAAC).
|
||||||
|
2
elements/dhcp-all-interfaces/element-deps
Normal file
2
elements/dhcp-all-interfaces/element-deps
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
package-installs
|
||||||
|
pkg-map
|
@ -8,7 +8,10 @@ set -o pipefail
|
|||||||
|
|
||||||
SCRIPTDIR=$(dirname $0)
|
SCRIPTDIR=$(dirname $0)
|
||||||
|
|
||||||
install -D -g root -o root -m 0755 ${SCRIPTDIR}/dhcp-all-interfaces.sh /usr/local/sbin/dhcp-all-interfaces.sh
|
# this script is not needed on Gentoo.
|
||||||
|
if [ "$DISTRO_NAME" != "gentoo" ]; then
|
||||||
|
install -D -g root -o root -m 0755 ${SCRIPTDIR}/dhcp-all-interfaces.sh /usr/local/sbin/dhcp-all-interfaces.sh
|
||||||
|
fi
|
||||||
|
|
||||||
DIB_INIT_SYSTEM=$(dib-init-system)
|
DIB_INIT_SYSTEM=$(dib-init-system)
|
||||||
if [ "$DIB_INIT_SYSTEM" == "upstart" ]; then
|
if [ "$DIB_INIT_SYSTEM" == "upstart" ]; then
|
||||||
@ -19,4 +22,10 @@ elif [ "$DIB_INIT_SYSTEM" == "systemd" ]; then
|
|||||||
elif [ "$DIB_INIT_SYSTEM" == "sysv" ]; then
|
elif [ "$DIB_INIT_SYSTEM" == "sysv" ]; then
|
||||||
install -D -g root -o root -m 0755 ${SCRIPTDIR}/dhcp-all-interfaces.init /etc/init.d/dhcp-all-interfaces
|
install -D -g root -o root -m 0755 ${SCRIPTDIR}/dhcp-all-interfaces.init /etc/init.d/dhcp-all-interfaces
|
||||||
update-rc.d dhcp-all-interfaces defaults
|
update-rc.d dhcp-all-interfaces defaults
|
||||||
|
elif [ "$DISTRO_NAME" == "gentoo" ]; then
|
||||||
|
# let ipv6 use normal slaac
|
||||||
|
sed -i 's/slaac/#slaac/g' /etc/dhcpcd.conf
|
||||||
|
# don't let dhcpcd set domain name or hostname
|
||||||
|
sed -i 's/domain_name\,\ domain_search\,\ host_name/domain_search/g' /etc/dhcpcd.conf
|
||||||
|
rc-update add dhcpcd default
|
||||||
fi
|
fi
|
||||||
|
@ -18,6 +18,9 @@ rm -f /etc/network/interfaces.d/eth*.cfg
|
|||||||
# Debian
|
# Debian
|
||||||
rm -f /etc/network/interfaces.d/eth*
|
rm -f /etc/network/interfaces.d/eth*
|
||||||
|
|
||||||
|
# Gentoo
|
||||||
|
rm -f /etc/conf.d/net*
|
||||||
|
|
||||||
# /etc/network/interfaces distributions
|
# /etc/network/interfaces distributions
|
||||||
if [ -f "/etc/network/interfaces" ]; then
|
if [ -f "/etc/network/interfaces" ]; then
|
||||||
printf "auto lo\niface lo inet loopback\n\n" > /etc/network/interfaces
|
printf "auto lo\niface lo inet loopback\n\n" > /etc/network/interfaces
|
||||||
|
1
elements/dhcp-all-interfaces/package-installs.yaml
Normal file
1
elements/dhcp-all-interfaces/package-installs.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
dhcpcd:
|
10
elements/dhcp-all-interfaces/pkg-map
Normal file
10
elements/dhcp-all-interfaces/pkg-map
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"family": {
|
||||||
|
"gentoo": {
|
||||||
|
"dhcpcd": "net-misc/dhcpcd"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"dhcpcd": ""
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user