diff options
Diffstat (limited to 'helpers/binary_includes')
| -rwxr-xr-x | helpers/binary_includes | 166 | 
1 files changed, 166 insertions, 0 deletions
diff --git a/helpers/binary_includes b/helpers/binary_includes new file mode 100755 index 000000000..196f9027b --- /dev/null +++ b/helpers/binary_includes @@ -0,0 +1,166 @@ +#!/bin/sh + +# lh_binary_includes(1) - copy files into binary +# 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 'copy files into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source +Set_defaults + +if [ "${LH_INCLUDES}" = "none" ] +then +	exit 0 +fi + +Echo_message "Begin copying binary includes..." + +# Requiring stage file +Require_stagefile .stage/config .stage/bootstrap + +# Checking stage file +Check_stagefile .stage/binary_includes + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Check user includes +if [ ! -d "${LH_INCLUDES}" ] +then +	if [ -d ../"${LH_INCLUDES}" ] +	then +		LH_INCLUDES="../${LH_INCLUDES}" +	else +		Echo_error "user specified includes not accessible in %s" "${LH_INCLUDES}" +		exit 1 +	fi +fi + +# Checking local includes +if [ -d config/includes/"${LH_DISTRIBUTION}" ] +then +	LH_INCLUDES="config/includes" +fi + +# Assemble architecture +case "${LH_ARCHITECTURE}" in +	amd64) +		ARCH="amd" +		;; + +	i386) +		ARCH="386" +		;; + +	powerpc) +		ARCH="ppc" +		;; + +	sparc) +		ARCH="spa" +		;; +esac + +# Working arround vfat limitations +if [ "${LH_BINARY_IMAGE}" = "usb-hdd" ] +then +	case "${LH_BINARY_FILESYSTEM}" in +		fat*) +			CP_OPTIONS="-L" +			;; +	esac +fi + +# Copying common templates +if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common ] && \ +Find_files "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common/* +then +	cp -r ${CP_OPTIONS} "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common/* binary +fi + +if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common."${ARCH}" ] && \ +Find_files "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common."${ARCH}"/* +then +	cp -r ${CP_OPTIONS} "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common."${ARCH}"/* binary +fi + +# Copying live templates +if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/live ] && \ +Find_files "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/live/* +then +	cp -r ${CP_OPTIONS} "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/live/* binary +fi + +if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/live."${ARCH}" ] && \ +Find_files "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/live."${ARCH}"/* +then +	cp -r ${CP_OPTIONS} "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/live."${ARCH}"/* binary +fi + +if [ "${LH_DEBIAN_INSTALLER}" != "false" ] +then +	# Copying install templates +	if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/install ] && \ +	Find_files "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/install/* +	then +		cp -r ${CP_OPTIONS} "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/install/* binary +	fi + +	if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/install."${ARCH}" ] && \ +	Find_files "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/install."${ARCH}"/* +	then +		cp -r ${CP_OPTIONS} "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/install."${ARCH}"/* binary +	fi + +	# Adjusting install templates +	ARCHITECTURE="$(echo ${LH_ARCHITECTURE} | sed -e 's| |/|g')" +	DISTRIBUTION="$(echo ${LH_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')" +	DISTRIBUTION="${DISTRIBUTION}$(echo ${LH_DISTRIBUTION} | cut -b 2-)" +	eval VERSION="$`echo RELEASE_${LH_DISTRIBUTION}`" + +	if [ -d binary/pool/main/l/live-installer ] +	then +		TYPE="LIVE/INSTALL" +	fi + +	TYPE="LIVE/NETINST" + +	DEBIAN_NAME="Debian GNU/Linux ${VERSION} \"${DISTRIBUTION}\" - Official ${ARCHITECTURE} ${TYPE} Binary $(date +%Y%m%d-%H:%M)" +	DEBIAN_DATE="$(date +%Y%m%d-%H:%M)" + +	if [ "${LH_ARCHITECTURE}" = "i386" ] +	then +		DEBIAN_TOOLS_HTML=" <P>\n <tt> \n <A href="tools/">/tools/</a>\n </tt>\n\n and\n <tt> \n <A href="install/floppy/">/install/floppy/</a>\n </tt>" +		DEBIAN_TOOLS_TXT="/tools/ and   /install/floppy/" +	else +		DEBIAN_TOOLS_HTML=" <P>\n <tt> \n <A href="tools/">/tools/</a>\n </tt>\n\n\n\n\n\n" +		DEBIAN_TOOLS_TXT="/tools/" +	fi + +	if [ -f binary/README.html ] +	then +		sed -i -e "s|DEBIAN_NAME|${DEBIAN_NAME}|g" -e "s|DEBIAN_DATE|${DEBIAN_DATE}|g" -e "s|DEBIAN_TOOLS|${DEBIAN_TOOLS_HTML}|g" binary/README.html +		sed -i -e "s|DEBIAN_NAME|${DEBIAN_NAME}|g" -e "s|DEBIAN_DATE|${DEBIAN_DATE}|g" -e "s|DEBIAN_TOOLS|${DEBIAN_TOOLS_TXT}|g" binary/README.txt +	fi +fi + +# Creating stage file +Create_stagefile .stage/binary_includes  | 
