summaryrefslogblamecommitdiffstats
path: root/modules.d/dnbd3-rootfs/hooks/s3-copy-openslx-config.sh
blob: bedceb852b5d2a895779946a525b1c60b9caab60 (plain) (tree)
1
2
3
4
5
6

                       
                                                                 
 
                     
 





















                                                                                   
                                        





                                                      


                                           
                                                                           
  
                                                                            
                                                                           
  
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh

source "/etc/openslx"

# Merge search domain from server and from dhcp
(
	search="$SLX_NET_SEARCH"
	source /run/openslx/network.conf
	search="$SLX_NET_SEARCH $search" # DHCP > config vars
	declare -a uniq
	declare -A dups # Don't use keys for output later as order is undefined
	for i in $search; do
		[ -n "${dups["$i"]}" ] && continue
		dups["$i"]=1
		uniq+=( "$i" )
	done
	sed -i 's/^SLX_NET_SEARCH=/# &/' "/etc/openslx" "/run/openslx/network.conf"
	echo "SLX_NET_SEARCH='${uniq[*]}'" >> "/run/openslx/network.conf"
	if grep -q '^search' "/etc/resolv.conf"; then
		sed -i "s/^search.*$/search ${uniq[*]}/" "/etc/resolv.conf"
	else
		echo "search ${uniq[*]}" "/etc/resolv.conf"
	fi
)


mkdir --parents "${NEWROOT}/opt/openslx"
{
	cat "/etc/openslx"
	echo "## Generated by '$0' in stage3"
	cat "/run/openslx/network.conf"
} > "${NEWROOT}/opt/openslx/config"
ln -nfs "${NEWROOT}/opt/openslx/config" "/etc/openslx"

# Set root/demo password for stage4, if set
if [ -n "${SLX_ROOT_PASS}" ]; then
	sed -i "s#^root:[^:]*:#root:$SLX_ROOT_PASS:#" "$NEWROOT/etc/shadow"
fi
if [ -n "${SLX_DEMO_PASS}" ] && grep -q '^demo:' "$NEWROOT/etc/shadow"; then
	sed -i "s#^demo:[^:]*:#demo:$SLX_DEMO_PASS:#" "$NEWROOT/etc/shadow"
fi