Codebase list live-build / b0442a4 scripts / build / chroot_hosts
b0442a4

Tree @b0442a4 (Download .tar.gz)

chroot_hosts @b0442a4

0c03cbe
 
 
3efe0ac
683949f
0c03cbe
 
 
 
 
 
 
 
 
 
 
 
3efe0ac
0c03cbe
 
3efe0ac
 
0c03cbe
3efe0ac
 
0c03cbe
 
3efe0ac
0c03cbe
3efe0ac
0c03cbe
 
 
 
3efe0ac
0c03cbe
3efe0ac
 
0c03cbe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3efe0ac
0c03cbe
 
 
 
 
3efe0ac
 
0c03cbe
3efe0ac
 
0c03cbe
b0442a4
 
 
 
0c03cbe
b0442a4
 
 
 
 
0c03cbe
 
 
 
 
 
b6004d1
0c03cbe
 
 
 
3efe0ac
0c03cbe
 
 
3efe0ac
 
0c03cbe
 
#!/bin/sh

## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <[email protected]>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.


set -e

# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh

# Setting static variables
DESCRIPTION="Manage /etc/hosts"
USAGE="${PROGRAM} {install|remove} [--force]"

# Processing arguments and configuration files
Init_config_data "${@}"

_ACTION="${1}"
shift

# Requiring stage file
Require_stagefiles config bootstrap

case "${_ACTION}" in
	install)
		Echo_message "Configuring file /etc/hosts"

		# Checking stage file
		Check_stagefile

		# Acquire lock file
		Acquire_lockfile

		if [ -f chroot/etc/hosts ]
		then
			# Save hosts file
			mv chroot/etc/hosts chroot/etc/hosts.orig
		fi

		# Creating hosts file

cat > chroot/etc/hosts << EOF
127.0.0.1	localhost localhost.localdomain
127.0.1.1	debian
EOF

		if [ -f /etc/hosts ]
		then
			# Append hosts file
			#grep -e "127.0.0.1" -e "127.0.1.1" /etc/hosts >> chroot/etc/hosts
			cat /etc/hosts >> chroot/etc/hosts
		fi

		# Creating stage file
		Create_stagefile
		;;

	remove)
		Echo_message "Deconfiguring file /etc/hosts"

		# Checking stage file
		Ensure_stagefile_exists

		# Acquire lock file
		Acquire_lockfile

		# Copying hosts from includes, if existing
		INCLUDE_DIR=$(select_includes_chroot)
		# includes.chroot_before_packages takes the highest precedence
		if [ -e config/includes.chroot_before_packages/etc/hosts ]
		then
			INCLUDE_DIR="includes.chroot_before_packages"
		fi
		if [ -n "${INCLUDE_DIR}" ] && [ -e config/"${INCLUDE_DIR}"/etc/hosts ]
		then
			cp -a config/"${INCLUDE_DIR}"/etc/hosts chroot/etc/hosts
			rm -f chroot/etc/hosts.orig
		elif [ -f chroot/etc/hosts.orig ]
		then
			# Restore hosts file
			mv chroot/etc/hosts.orig chroot/etc/hosts
		else
			# Blank out hosts file, don't remove in case its a symlink
			Truncate chroot/etc/hosts
		fi

		# Removing stage file
		Remove_stagefile
		;;

	*)
		Echo_error "Invalid action parameter: '${_ACTION}'"
		Usage --fail
		;;
esac