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 0000000..196f902 --- /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 |