summaryrefslogtreecommitdiffstats
path: root/modules.d/slx-network/hooks/s3-copy-network-files.sh
blob: 46f4ab38dc64af9305c5e28802e08fae38b9f280 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/ash

# backup network configuration files found in stage4, copy ours
for file in "hostname" "hosts" "resolv.conf"; do
	file="/etc/$file"
	if ! [ -e "$file" ]; then
		echo "Missing '$file' - can't move it to stage4. "
		continue
	fi
	if [ -e "${NEWROOT}/${file}" ] || [ -h "${NEWROOT}/${file}" ]; then
		mv "${NEWROOT}/${file}" "${NEWROOT}/${file}.renamed-by-stage3"
	fi
	cp -af -- "$file" "${NEWROOT}${file}"
done

# special handling for resolv.conf:
# move it to /opt/openslx to detect we are managing it
mkdir -p "${NEWROOT}/opt/openslx"
mv "${NEWROOT}/etc/resolv.conf" "${NEWROOT}/opt/openslx/resolv.conf"
ln -nfs "/opt/openslx/resolv.conf" "${NEWROOT}/etc/resolv.conf"

# HACK: finally make sure we have rdns helper
# This should be done more elegantly one day...
rdns="$( command -p rdns )"
if [ -n "$rdns" ]; then
	mkdir -p "${NEWROOT}/opt/openslx/bin"
	cp -f "$rdns" "${NEWROOT}/opt/openslx/bin"
fi

exit 0