diff options
| author | Daniel Baumann <daniel@debian.org> | 2010-02-05 17:10:44 +0100 | 
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:17:04 +0100 | 
| commit | 3b80c5c5d9c9d2eec91910b70a120da5943c7fac (patch) | |
| tree | 31b5fef2977e7fabe669077041c569169c788a95 /helpers/chroot_hosts | |
| parent | 59e9a93ad08c171fb0d22e965c56f91c5bd17615 (diff) | |
| download | live-build-3b80c5c5d9c9d2eec91910b70a120da5943c7fac.zip live-build-3b80c5c5d9c9d2eec91910b70a120da5943c7fac.tar.gz | |
Dropping lh_ prefix from internal helpers, this is not user visible.
Diffstat (limited to 'helpers/chroot_hosts')
| -rwxr-xr-x | helpers/chroot_hosts | 97 | 
1 files changed, 97 insertions, 0 deletions
| diff --git a/helpers/chroot_hosts b/helpers/chroot_hosts new file mode 100755 index 0000000..2b7fc25 --- /dev/null +++ b/helpers/chroot_hosts @@ -0,0 +1,97 @@ +#!/bin/sh + +# lh_chroot_hosts(1) - manage /etc/hosts +# Copyright (C) 2006-2009 Daniel Baumann <daniel@debian.org> +# +# live-helper 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 +. "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh + +# Setting static variables +DESCRIPTION="$(Echo 'manage /etc/hosts')" +HELP="" +USAGE="${PROGRAM} {install|remove} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source +Set_defaults + +# Requiring stage file +Require_stagefile .stage/config .stage/bootstrap + +case "${1}" in +	install) +		Echo_message "Configuring file /etc/hosts" + +		# Checking stage file +		Check_stagefile .stage/chroot_hosts + +		# Checking lock file +		Check_lockfile .lock + +		# Creating lock file +		Create_lockfile .lock + +		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 .stage/chroot_hosts +		;; + +	remove) +		Echo_message "Deconfiguring file /etc/hosts" + +		# Checking lock file +		Check_lockfile .lock + +		# Creating lock file +		Create_lockfile .lock + +		if [ -e config/chroot_local-includes/etc/hosts ] +		then +			# Copying local hosts +			cp -a config/chroot_local-includes/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, as in the case of exposedroot mode +			Truncate chroot/etc/hosts +		fi + +		# Removing stage file +		rm -f .stage/chroot_hosts +		;; + +	*) +		Usage +		;; +esac | 
