#!/bin/sh ## live-build(7) - System Build Scripts ## Copyright (C) 2006-2015 Daniel Baumann ## ## 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="$(Echo 'build iso source image')" HELP="" USAGE="${PROGRAM} [--force]" Arguments "${@}" # Reading configuration files Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source Set_defaults if [ "${LB_SOURCE}" != "true" ] then exit 0 fi case "${LB_SOURCE_IMAGES}" in iso*) ;; *) exit 0 ;; esac Echo_message "Begin building source iso image..." # Requiring stage file Require_stagefile .build/config .build/source_debian # Checking stage file Check_stagefile .build/source_iso # Checking lock file Check_lockfile .lock # Creating lock file Create_lockfile .lock # Checking depends Check_package chroot /usr/bin/xorriso xorriso # Installing depends Install_package # Remove old iso image if [ -f ${LIVE_IMAGE_NAME}-source.iso ] then rm -f ${LIVE_IMAGE_NAME}-source.iso fi # Handle xorriso generic options XORRISO_OPTIONS="-as mkisofs -r -J -joliet-long -l -cache-inodes" # Handle xorriso live-build specific options if [ "${_QUIET}" = "true" ] then XORRISO_OPTIONS="${XORRISO_OPTIONS} -quiet" fi if [ "${_VERBOSE}" = "true" ] then XORRISO_OPTIONS="${XORRISO_OPTIONS} -v" fi if [ -n "${LB_ISO_APPLICATION}" ] && [ "${LB_ISO_APPLICATION}" != "none" ] then XORRISO_OPTIONS="${XORRISO_OPTIONS} -A \"${LB_ISO_APPLICATION}\"" fi if [ -n "${LB_ISO_PREPARER}" ] && [ "${LB_ISO_PREPARER}" != "none" ] then XORRISO_OPTIONS="${XORRISO_OPTIONS} -p \"${LB_ISO_PREPARER}\"" fi if [ -n "${LB_ISO_PUBLISHER}" ] && [ "${LB_ISO_PUBLISHER}" != "none" ] then XORRISO_OPTIONS="${XORRISO_OPTIONS} -publisher \"${LB_ISO_PUBLISHER}\"" fi if [ -n "${LB_ISO_VOLUME}" ] && [ "${LB_ISO_VOLUME}" != "none" ] then XORRISO_OPTIONS="${XORRISO_OPTIONS} -V \"${LB_ISO_VOLUME}\"" fi # Set an explicit modification date XORRISO_OPTIONS="${XORRISO_OPTIONS} --modification-date=$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m%d%H%m%S00)" # Moving image mv source chroot cat >> chroot/source.sh << EOF xorriso ${XORRISO_OPTIONS} -o source.iso source EOF Chroot chroot "sh source.sh" # Move image mv chroot/source ./ mv chroot/source.iso ${LIVE_IMAGE_NAME}-source.iso rm -f chroot/source.sh # Removing depends Remove_package # Creating stage file Create_stagefile .build/source_iso