From 32322960234c8ec91e0d42835a3ec5ee63305070 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 2 Feb 2019 11:00:00 +0100 Subject: Adding upstream version 20190202. Signed-off-by: Daniel Baumann --- system-build/scripts/build/config | 1379 +++++++++++++++++++++++++++++++++++++ 1 file changed, 1379 insertions(+) create mode 100755 system-build/scripts/build/config (limited to 'system-build/scripts/build/config') diff --git a/system-build/scripts/build/config b/system-build/scripts/build/config new file mode 100755 index 0000000..fc710a3 --- /dev/null +++ b/system-build/scripts/build/config @@ -0,0 +1,1379 @@ +#!/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 +PROGRAM="lb config" +DESCRIPTION="$(Echo 'create configuration for live-build(7)')" +USAGE="${PROGRAM} [--apt-ftp-proxy URL]\n\ +\t [--apt-http-proxy URL]\n\ +\t [--apt-indices true|false]\n\ +\t [--apt-options OPTION|\"OPTIONS\"]\n\ +\t [--apt-pipeline DEPTH]\n\ +\t [--apt-recommends true|false]\n\ +\t [--apt-secure true|false]\n\ +\t [--apt-source-archives true|false]\n\ +\t [-a|--architectures ARCHITECTURE]\n\ +\t [-b|--binary-images iso|iso-hybrid|netboot|tar|hdd]\n\ +\t [--binary-filesystem fat16|fat32|ext2|ext3|ext4|ntfs]\n\ +\t [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\ +\t [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\ +\t [--bootappend-live-failsafe PARAMETER|\"PARAMETERS\"]\n\ +\t [--bootloaders grub-legacy|grub-pc|syslinux]\n\ +\t [--cache true|false]\n\ +\t [--cache-indices true|false]\n\ +\t [--cache-packages true|false]\n\ +\t [--cache-stages STAGE|\"STAGES\"]\n\ +\t [--checksums md5|sha1|sha256|sha512|none]\n\ +\t [--compression bzip2|gzip|lzip|xz|none]\n\ +\t [--config GIT_URL::GIT_BRANCH]\n\ +\t [--zsync true|false]\n\ +\t [--build-with-chroot true|false]\n\ +\t [--chroot-filesystem ext2|ext3|ext4|squashfs|jffs2|none]\n\ +\t [--clean\n\ +\t [-c|--conffile FILE]\n\ +\t [--debconf-frontend dialog|editor|noninteractive|readline]\n\ +\t [--debconf-priority low|medium|high|critical]\n\ +\t [--debian-installer true|cdrom|netinst|netboot|businesscard|live|false]\n\ +\t [--debian-installer-distribution daily|CODENAME]\n\ +\t [--debian-installer-preseedfile FILE|URL]\n\ +\t [--debian-installer-gui true|false]\n\ +\t [--debug]\n\ +\t [-d|--distribution CODENAME]\n\ +\t [--parent-distribution CODENAME]\n\ +\t [--parent-debian-installer-distribution CODENAME]\n\ +\t [--dump]\n\ +\t [--fdisk fdisk|fdisk.dist]\n\ +\t [--force]\n\ +\t [--grub-splash FILE]\n\ +\t [--gzip-options OPTION|\"OPTIONS\"]\n\ +\t [--ignore-system-defaults]\n\ +\t [--initramfs auto|none|system-boot]\n\ +\t [--initramfs-compression bzip2|gzip|lzma]\n\ +\t [--initsystem sysvinit|systemd|none]\n\ +\t [--image-name [NAME]\n\ +\t [--interactive shell]\n\ +\t [--isohybrid-options OPTION|\"OPTIONS\"]\n\ +\t [--hdd-label LABEL]\n\ +\t [--hdd-size MB]\n\ +\t [--hdd-partition-start [parted unit, e.g. 63s]\n\ +\t [--iso-application NAME]\n\ +\t [--iso-preparer NAME]\n\ +\t [--iso-publisher NAME]\n\ +\t [--iso-volume NAME]\n\ +\t [--jffs2-eraseblock SIZE]\n\ +\t [--keyring-packages PACKAGE|\"PACKAGES\"]\n\ +\t [-k|--linux-flavours FLAVOUR|\"FLAVOURS\"]\n\ +\t [--linux-packages \"PACKAGES\"]\n\ +\t [--losetup losetup|losetup.orig]\n\ +\t [--memtest memtest86+|memtest86|none]\n\ +\t [-m|--parent-mirror-bootstrap URL]\n\ +\t [--parent-mirror-chroot URL]\n\ +\t [--parent-mirror-chroot-security URL]\n\ +\t [--parent-mirror-binary URL]\n\ +\t [--parent-mirror-binary-security URL]\n\ +\t [--parent-mirror-debian-installer URL]\n\ +\t [--mirror-bootstrap URL]\n\ +\t [--mirror-chroot URL]\n\ +\t [--mirror-chroot-security URL]\n\ +\t [--mirror-binary URL]\n\ +\t [--mirror-binary-security URL]\n\ +\t [--mirror-debian-installer URL]\n\ +\t [--mode debian]\n\ +\t [--system live|normal]\n\ +\t [--net-root-filesystem nfs|cfs]\n\ +\t [--net-root-mountoptions OPTIONS]\n\ +\t [--net-root-path PATH]\n\ +\t [--net-root-server IP|HOSTNAME]\n\ +\t [--net-cow-filesystem nfs|cfs]\n\ +\t [--net-cow-mountoptions OPTIONS]\n\ +\t [--net-cow-path PATH]\n\ +\t [--net-cow-server IP|HOSTNAME]\n\ +\t [--net-tarball true|false]\n\ +\t [--quiet]\n\ +\t [--archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\ +\t [--parent-archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\ +\t [--security true|false]\n\ +\t [--source true|false]\n\ +\t [-s|--source-images iso|netboot|tar|hdd]\n\ +\t [--firmware-binary true|false]\n\ +\t [--firmware-chroot true|false]\n\ +\t [--swap-file-path PATH]\n\ +\t [--swap-file-size MB]\n\ +\t [--tasksel apt|tasksel]\n\ +\t [--updates true|false]\n\ +\t [--backports true|false]\n\ +\t [--verbose]\n\ +\t [--loadlin true|false]\n\ +\t [--win32-loader true|false]\n\ +\t [--bootstrap-qemu-exclude PACKAGES]\n\ +\t [--bootstrap-qemu-static PATH]\n\ +\t [--bootstrap-qemu-arch ARCH]" + + +Local_arguments () +{ + LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,debootstrap-options:, + apt-pipeline:,apt-recommends:,apt-secure:,apt-source-archives:,bootstrap:,cache:,cache-indices:,cache-packages:, + cache-stages:,debconf-frontend:,debconf-priority:,dump, + initramfs:,initramfs-compression:,initsystem:,fdisk:,losetup:,mode:,system:,tasksel:, + architectures:,clean, + distribution:,parent-distribution:,parent-debian-installer-distribution:,parent-mirror-bootstrap:,parent-mirror-chroot:,parent-mirror-chroot-security:,parent-mirror-binary:, + parent-mirror-binary-security:,parent-mirror-debian-installer:, + mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-binary:, + mirror-binary-security:,mirror-debian-installer:, + archive-areas:,parent-archive-areas:,chroot-filesystem:, + gzip-options:,image-name:,interactive:,keyring-packages:,linux-flavours:,linux-packages:, + security:,updates:,backports:,binary-filesystem:,binary-images:, + apt-indices:,bootappend-install:,bootappend-live:,bootappend-live-failsafe:,bootloaders:,checksums:,compression:,config:,zsync:,build-with-chroot:, + debian-installer:,debian-installer-distribution:,debian-installer-preseedfile:,debian-installer-gui:, + grub-splash:,isohybrid-options:,hdd-label:,hdd-size:,hdd-partition-start:,iso-application:,iso-preparer:,iso-publisher:, + iso-volume:,jffs2-eraseblock:,memtest:,net-root-filesystem:,net-root-mountoptions:, + net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:, + net-cow-server:,net-tarball:,firmware-binary:,firmware-chroot:,swap-file-path:,swap-file-size:, + loadlin:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, + help,ignore-system-defaults,quiet,usage,verbose,version,bootstrap-qemu-static:,bootstrap-qemu-arch:, + bootstrap-qemu-exclude:" + # Remove spaces added by indentation + LONG_OPTIONS="$(echo ${LONG_OPTIONS} | tr -d ' ')" + ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")" + + if [ "${?}" != "0" ] + then + Echo_error "terminating" >&2 + exit 1 + fi + + eval set -- "${ARGUMENTS}" + + while true + do + case "${1}" in + --dump) + # Dump version + if [ -x "$(which dpkg-query 2>/dev/null)" ] + then + VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)" + fi + + Echo "%s: This is live-build version %s" "${0}" "${VERSION_DPKG:-${VERSION}}" + + # Dump conffile contents + Print_conffiles config/all config/common config/bootstrap config/system config/binary config/source + + # Dump contents of directories that contain text files + for DIRECTORY in config/package-lists config/apt config/preseed config/rootfs + do + if Find_files "${DIRECTORY}" + then + Echo_file "${DIRECTORY}"/* + fi + done + + # Dump directory listings of all directories under config/ + for DIRECTORY in $(find config/ -mindepth 1 -maxdepth 1 -type d) + do + if Find_files "${DIRECTORY}" + then + ls -lR "${DIRECTORY}" | while read LINE + do + echo "${DIRECTORY}: ${LINE}" + done + fi + done + + exit 0 + ;; + + --clean) + _CLEAN="true" + shift + ;; + + # config/common + --apt) + LB_APT="${2}" + shift 2 + ;; + + --apt-ftp-proxy) + LB_APT_FTP_PROXY="${2}" + shift 2 + ;; + + --apt-http-proxy) + LB_APT_HTTP_PROXY="${2}" + shift 2 + ;; + + --apt-indices) + LB_APT_INDICES="${2}" + shift 2 + ;; + + --apt-options) + APT_OPTIONS="${2}" + shift 2 + ;; + + --apt-pipeline) + LB_APT_PIPELINE="${2}" + shift 2 + ;; + + --apt-recommends) + LB_APT_RECOMMENDS="${2}" + shift 2 + ;; + + --apt-secure) + LB_APT_SECURE="${2}" + shift 2 + ;; + + --apt-source-archives) + LB_APT_SOURCE_ARCHIVES="${2}" + shift 2 + ;; + + --debootstrap-options) + DEBOOTSTRAP_OPTIONS="${2}" + shift 2 + ;; + + --cache) + LB_CACHE="${2}" + shift 2 + ;; + + --cache-indices) + LB_CACHE_INDICES="${2}" + shift 2 + ;; + + --cache-packages) + LB_CACHE_PACKAGES="${2}" + shift 2 + ;; + + --cache-stages) + LB_CACHE_STAGES="${2}" + shift 2 + ;; + + --debconf-frontend) + LB_DEBCONF_FRONTEND="${2}" + shift 2 + ;; + + --debconf-priority) + LB_DEBCONF_PRIORITY="${2}" + shift 2 + ;; + + --initramfs) + LB_INITRAMFS="${2}" + shift 2 + ;; + + --initramfs-compression) + LB_INITRAMFS_COMPRESSION="${2}" + shift 2 + ;; + + --initsystem) + LB_INITSYSTEM="${2}" + shift 2 + ;; + + --fdisk) + LB_FDISK="${2}" + shift 2 + ;; + + --losetup) + LB_LOSETUP="${2}" + shift 2 + ;; + + --mode) + LB_MODE="${2}" + shift 2 + ;; + + --system) + LB_SYSTEM="${2}" + shift 2 + ;; + + --tasksel) + LB_TASKSEL="${2}" + shift 2 + ;; + + # config/bootstrap + -a|--architectures) + LB_ARCHITECTURES="${2}" + shift 2 + ;; + + -d|--distribution) + LB_DISTRIBUTION="${2}" + shift 2 + ;; + + --parent-distribution) + LB_PARENT_DISTRIBUTION="${2}" + shift 2 + ;; + + -m|--parent-mirror-bootstrap) + LB_PARENT_MIRROR_BOOTSTRAP="${2}" + shift 2 + ;; + + --parent-mirror-chroot) + LB_PARENT_MIRROR_CHROOT="${2}" + shift 2 + ;; + + --parent-mirror-chroot-security) + LB_PARENT_MIRROR_CHROOT_SECURITY="${2}" + shift 2 + ;; + + --parent-mirror-binary) + LB_PARENT_MIRROR_BINARY="${2}" + shift 2 + ;; + + --parent-mirror-binary-security) + LB_PARENT_MIRROR_BINARY_SECURITY="${2}" + shift 2 + ;; + + --parent-mirror-debian-installer) + LB_PARENT_MIRROR_DEBIAN_INSTALLER="${2}" + shift 2 + ;; + + --mirror-bootstrap) + LB_MIRROR_BOOTSTRAP="${2}" + shift 2 + ;; + + --mirror-chroot) + LB_MIRROR_CHROOT="${2}" + shift 2 + ;; + + --mirror-chroot-security) + LB_MIRROR_CHROOT_SECURITY="${2}" + shift 2 + ;; + + --mirror-binary) + LB_MIRROR_BINARY="${2}" + shift 2 + ;; + + --mirror-binary-security) + LB_MIRROR_BINARY_SECURITY="${2}" + shift 2 + ;; + + --mirror-debian-installer) + LB_MIRROR_DEBIAN_INSTALLER="${2}" + shift 2 + ;; + + --archive-areas) + LB_ARCHIVE_AREAS="${2}" + shift 2 + ;; + + --parent-archive-areas) + LB_PARENT_ARCHIVE_AREAS="${2}" + shift 2 + ;; + + # config/system + --chroot-filesystem) + LB_CHROOT_FILESYSTEM="${2}" + shift 2 + ;; + + --gzip-options) + GZIP_OPTIONS="${2}" + shift 2 + ;; + + --image-name) + LIVE_IMAGE_NAME="${2}" + shift 2 + ;; + + --interactive) + LB_INTERACTIVE="${2}" + shift 2 + ;; + + --keyring-packages) + LB_KEYRING_PACKAGES="${2}" + shift 2 + ;; + + -k|--linux-flavours) + LB_LINUX_FLAVOURS="${2}" + shift 2 + ;; + + --linux-packages) + LB_LINUX_PACKAGES="${2}" + shift 2 + ;; + + --security) + LB_SECURITY="${2}" + shift 2 + ;; + + --updates) + LB_UPDATES="${2}" + shift 2 + ;; + + --backports) + LB_BACKPORTS="${2}" + shift 2 + ;; + + # config/binary + --binary-filesystem) + LB_BINARY_FILESYSTEM="${2}" + shift 2 + ;; + + -b|--binary-images) + LIVE_IMAGE_TYPE="${2}" + shift 2 + ;; + + --bootappend-live) + LB_BOOTAPPEND_LIVE="${2}" + shift 2 + ;; + + --bootappend-live-failsafe) + LB_BOOTAPPEND_LIVE_FAILSAFE="${2}" + shift 2 + ;; + + --bootappend-install) + LB_BOOTAPPEND_INSTALL="${2}" + shift 2 + ;; + + --bootloaders) + LB_BOOTLOADERS="${2}" + shift 2 + ;; + + --checksums) + LB_CHECKSUMS="${2}" + shift 2 + ;; + + --compression) + LB_COMPRESSION="${2}" + shift 2 + ;; + + --config) + _CONFIG="${2}" + shift 2 + ;; + + --zsync) + LB_ZSYNC="${2}" + shift 2 + ;; + + --build-with-chroot) + LB_BUILD_WITH_CHROOT="${2}" + shift 2 + ;; + + --debian-installer) + LB_DEBIAN_INSTALLER="${2}" + shift 2 + ;; + + --debian-installer-distribution) + LB_DEBIAN_INSTALLER_DISTRIBUTION="${2}" + shift 2 + ;; + + --parent-debian-installer-distribution) + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${2}" + shift 2 + ;; + + --debian-installer-preseedfile) + LB_DEBIAN_INSTALLER_PRESEEDFILE="${2}" + shift 2 + ;; + + --debian-installer-gui) + LB_DEBIAN_INSTALLER_GUI="${2}" + shift 2 + ;; + + --grub-splash) + LB_GRUB_SPLASH="${2}" + shift 2 + ;; + + --isohybrid-options) + LB_ISOHYBRID_OPTIONS="${2}" + shift 2 + ;; + + --hdd-label) + LB_HDD_LABEL="${2}" + shift 2 + ;; + + --hdd-size) + LB_HDD_SIZE="${2}" + shift 2 + ;; + + --hdd-partition-start) + LB_HDD_PARTITION_START="${2}" + shift 2 + ;; + + --iso-application) + LB_ISO_APPLICATION="${2}" + shift 2 + ;; + + --iso-preparer) + LB_ISO_PREPARER="${2}" + shift 2 + ;; + + --iso-publisher) + LB_ISO_PUBLISHER="${2}" + shift 2 + ;; + + --iso-volume) + LB_ISO_VOLUME="${2}" + shift 2 + ;; + + --jffs2-eraseblock) + LB_JFFS2_ERASEBLOCK="${2}" + shift 2 + ;; + + --memtest) + LB_MEMTEST="${2}" + shift 2 + ;; + + --net-root-filesystem) + LB_NET_ROOT_FILESYSTEM="${2}" + shift 2 + ;; + + --net-root-mountoptions) + LB_NET_ROOT_MOUNTOPTIONS="${2}" + shift 2 + ;; + + --net-root-path) + LB_NET_ROOT_PATH="${2}" + shift 2 + ;; + + --net-root-server) + LB_NET_ROOT_SERVER="${2}" + shift 2 + ;; + + --net-cow-filesystem) + LB_NET_COW_FILESYSTEM="${2}" + shift 2 + ;; + + --net-cow-mountoptions) + LB_NET_COW_MOUNTOPTIONS="${2}" + shift 2 + ;; + + --net-cow-path) + LB_NET_COW_PATH="${2}" + shift 2 + ;; + + --net-cow-server) + LB_NET_COW_SERVER="${2}" + shift 2 + ;; + + --net-tarball) + LB_NET_TARBALL="${2}" + shift 2 + ;; + + --firmware-binary) + LB_FIRMWARE_BINARY="${2}" + shift 2 + ;; + + --firmware-chroot) + LB_FIRMWARE_CHROOT="${2}" + shift 2 + ;; + + --swap-file-path) + LB_SWAP_FILE_PATH="${2}" + shift 2 + ;; + + --swap-file-size) + LB_SWAP_FILE_SIZE="${2}" + shift 2 + ;; + + --loadlin) + LB_LOADLIN="${2}" + shift 2 + ;; + + --win32-loader) + LB_WIN32_LOADER="${2}" + shift 2 + ;; + + --bootstrap-qemu-arch) + LB_BOOTSTRAP_QEMU_ARCHITECTURES="${2}" + shift 2 + ;; + + --bootstrap-qemu-exclude) + LB_BOOTSTRAP_QEMU_EXCLUDE="${2}" + shift 2 + ;; + + --bootstrap-qemu-static) + LB_BOOTSTRAP_QEMU_STATIC="${2}" + shift 2 + ;; + + # config/source + --source) + LB_SOURCE="${2}" + shift 2 + ;; + + -s|--source-images) + LB_SOURCE_IMAGES="${2}" + shift 2 + ;; + + # other + --breakpoints) + _BREAKPOINTS="true" + shift + ;; + + -c|--conffile) + _CONFFILE="${2}" + shift 2 + ;; + + --color) + _COLOR="true" + shift + ;; + + --debug) + _DEBUG="true" + shift + ;; + + --force) + _FORCE="true" + shift + ;; + + -h|--help) + Help + shift + ;; + + --ignore-system-defaults) + shift + ;; + + --quiet) + _QUIET="true" + shift + ;; + + -u|--usage) + Usage + shift + ;; + + --verbose) + _VERBOSE="true" + shift + ;; + + -v|--version) + echo "${VERSION}" + exit 0 + ;; + + --) + shift + break + ;; + + *) + Echo_error "internal error %s" "${0}" + exit 1 + ;; + esac + done +} + +Local_arguments "${@}" + +if [ -e .git ] && [ -n "${_CONFIG}" ] +then + if [ "${1}" != "noauto" ] + then + Echo_message "Ignoring --config ${_CONFIG}: ${PWD} is already a git repository" + fi + + _CONFIG="" +fi + +if [ -e .build/config ] && [ -n "${_CONFIG}" ] +then + if [ "${1}" != "noauto" ] + then + Echo_message "Ignoring --config ${_CONFIG}: ${PWD} is already a live-build configuration tree" + fi + + _CONFIG="" +fi + +if [ -n "${_CONFIG}" ] +then + if [ -e "${_CONFIG}" ] || [ -e "/usr/share/live/images/${_CONFIG}" ] + then + if [ ! -e "${_CONFIG}" ] && [ -e "/usr/share/live/images/${_CONFIG}" ] + then + _CONFIG="/usr/share/live/images/${_CONFIG}" + fi + + Echo_message "Copying ${_CONFIG}" + tar -C "${_CONFIG}" -c . | tar -C ./ -x + else + _GIT_REPOSITORY="$(echo ${_CONFIG} | sed -e 's|::.*$||')" + + Echo_message "Cloning ${_GIT_REPOSITORY}" + git clone ${_GIT_REPOSITORY} ./ + + if [ "${_GIT_REPOSITORY}" != "${_CONFIG}" ] + then + _GIT_BRANCH="$(echo ${_CONFIG} | awk -F\:\: '{ print $NF }')" + + Echo_message "Checking out ${_GIT_BRANCH}" + git checkout ${_GIT_BRANCH} + fi + fi + + if [ -e auto/config ] + then + _EXTRA_OPTIONS="$(echo ${@} | sed -e "s|--config ${_GIT_REPOSITORY}::${_GIT_BRANCH}||g" -e "s|--config ${_GIT_REPOSITORY}||g")" + + Echo_message "The following extra options specified to lb config are going to be added to auto/config: ${_EXTRA_OPTIONS}" + sed -i -e "s|\"\${@}\"|${_EXTRA_OPTIONS} \"\${@}\"|" auto/config + fi +fi + +# Read meta config +if [ "${1}" != "noauto" ] && [ -x auto/config ] +then + Echo_message "Executing auto/config script." + ./auto/config "${@}" + exit ${?} +fi + +if [ "${1}" = "noauto" ] +then + shift +fi + +# Reading system configuration +if ls /etc/live/build.conf > /dev/null 2>&1 || ls /etc/live/build/* > /dev/null 2>&1 +then + if In_list "--ignore-system-defaults" "${@}" + then + Echo_message "Ignoring defaults in %s" "/etc/live/build.conf" + else + Echo_message "Using defaults in %s" "/etc/live/build.conf" + + Read_conffiles /etc/live/build.conf /etc/live/build/* + fi +fi + +# Reading existing configuration +Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source + +Local_arguments "${@}" + +if [ -n "${_CONFFILE}" ] +then + Read_conffiles "${_CONFFILE}" +fi + +# Setting defaults +Set_defaults + +# Checking defaults +Check_defaults + +if [ ! -e config ] +then + Echo_message "Creating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" + mkdir config +else + Echo_message "Updating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" +fi + +# Creating live-build configuration +cat > config/common << EOF +# config/common - common options for live-build(7) + +# \$LB_APT_FTP_PROXY: set apt ftp proxy +# (Default: autodetected or empty) +LB_APT_FTP_PROXY="${LB_APT_FTP_PROXY}" + +# \$LB_APT_HTTP_PROXY: set apt http proxy +# (Default: autodetected or empty) +LB_APT_HTTP_PROXY="${LB_APT_HTTP_PROXY}" + +# \$LB_APT_PIPELINE: set apt pipeline depth +# (Default: ${LB_APT_PIPELINE}) +LB_APT_PIPELINE="${LB_APT_PIPELINE}" + +# \$LB_APT_RECOMMENDS: set apt recommends +# (Default: ${LB_APT_RECOMMENDS}) +LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS}" + +# \$LB_APT_SECURE: set apt security +# (Default: ${LB_APT_SECURE}) +LB_APT_SECURE="${LB_APT_SECURE}" + +# \$LB_APT_SOURCE_ARCHIVES: set apt source entries in sources.list +# (Default: ${LB_APT_SOURCE_ARCHIVES}) +LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES}" + +# \$LB_CACHE: control cache +# (Default: ${LB_CACHE}) +LB_CACHE="${LB_CACHE}" + +# \$LB_CACHE_INDICES: control if downloaded package indices should be cached +# (Default: ${LB_CACHE_INDICES}) +LB_CACHE_INDICES="${LB_CACHE_INDICES}" + +# \$LB_CACHE_PACKAGES: control if downloaded packages files should be cached +# (Default: ${LB_CACHE_PACKAGES}) +LB_CACHE_PACKAGES="${LB_CACHE_PACKAGES}" + +# \$LB_CACHE_STAGES: control if completed stages should be cached +# (Default: ${LB_CACHE_STAGES}) +LB_CACHE_STAGES="${LB_CACHE_STAGES}" + +# \$LB_DEBCONF_FRONTEND: set debconf(1) frontend to use +# (Default: ${LB_DEBCONF_FRONTEND}) +LB_DEBCONF_FRONTEND="${LB_DEBCONF_FRONTEND}" + +# \$LB_DEBCONF_PRIORITY: set debconf(1) priority to use +# (Default: ${LB_DEBCONF_PRIORITY}) +LB_DEBCONF_PRIORITY="${LB_DEBCONF_PRIORITY}" + +# \$LB_INITRAMFS: set initramfs hook +# (Default: ${LB_INITRAMFS}) +LB_INITRAMFS="${LB_INITRAMFS}" + +# \$LB_INITRAMFS_COMPRESSION: set initramfs compression +# (Default: ${LB_INITRAMFS_COMPRESSION}) +LB_INITRAMFS_COMPRESSION="${LB_INITRAMFS_COMPRESSION}" + +# \$LB_INITSYSTEM: set init system +# (Default: ${LB_INITSYSTEM}) +LB_INITSYSTEM="${LB_INITSYSTEM}" + +# \$LB_FDISK: set fdisk program +# (Default: autodetected) +LB_FDISK="${LB_FDISK}" + +# \$LB_LOSETUP: set losetup program +# (Default: autodetected) +LB_LOSETUP="${LB_LOSETUP}" + +# \$LB_MODE: set distribution mode +# (Default: ${LB_MODE}) +LB_MODE="${LB_MODE}" + +# \$LB_SYSTEM: set system type +# (Default: ${LB_SYSTEM}) +LB_SYSTEM="${LB_SYSTEM}" + +# \$LB_TASKSEL: set tasksel program +# (Default: ${LB_TASKSEL}) +LB_TASKSEL="${LB_TASKSEL}" + +# live-build options + +# \$_BREAKPOINTS: enable breakpoints +# (Default: ${_BREAKPOINTS}) +#_BREAKPOINTS="${_BREAKPOINTS}" + +# \$_DEBUG: enable debug +# (Default: ${_DEBUG}) +#_DEBUG="${_DEBUG}" + +# \$_COLOR: enable color +# (Default: ${_COLOR}) +#_COLOR="${_COLOR}" + +# \$_FORCE: enable force +# (Default: ${_FORCE}) +#_FORCE="${_FORCE}" + +# \$_QUIET: enable quiet +# (Default: ${_QUIET}) +_QUIET="${_QUIET}" + +# \$_VERBOSE: enable verbose +# (Default: ${_VERBOSE}) +#_VERBOSE="${_VERBOSE}" + +# Internal stuff (FIXME) +APT_OPTIONS="${APT_OPTIONS}" +DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS}" +GZIP_OPTIONS="${GZIP_OPTIONS}" +ISOHYBRID_OPTIONS="${ISOHYBRID_OPTIONS}" +EOF + +# Creating lb_bootstrap_* configuration +cat > config/bootstrap << EOF +# config/bootstrap - options for live-build(7), bootstrap stage + +# \$LB_DISTRIBUTION: select distribution to use +# (Default: ${LB_DISTRIBUTION}) +LB_DISTRIBUTION="${LB_DISTRIBUTION}" + +# \$LB_PARENT_DISTRIBUTION: select parent distribution to use +# (Default: ${LB_PARENT_DISTRIBUTION}) +LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION}" + +# \$LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION: select parent distribution for debian-installer to use +# (Default: ${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}) +LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" + +# \$LB_PARENT_MIRROR_BOOTSTRAP: set parent mirror to bootstrap from +# (Default: ${LB_PARENT_MIRROR_BOOTSTRAP}) +LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP}" + +# \$LB_PARENT_MIRROR_CHROOT: set parent mirror to fetch packages from +# (Default: ${LB_PARENT_MIRROR_CHROOT}) +LB_PARENT_MIRROR_CHROOT="${LB_PARENT_MIRROR_CHROOT}" + +# \$LB_PARENT_MIRROR_CHROOT_SECURITY: set security parent mirror to fetch packages from +# (Default: ${LB_PARENT_MIRROR_CHROOT_SECURITY}) +LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY}" + +# \$LB_PARENT_MIRROR_BINARY: set parent mirror which ends up in the image +# (Default: ${LB_PARENT_MIRROR_BINARY}) +LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY}" + +# \$LB_PARENT_MIRROR_BINARY_SECURITY: set security parent mirror which ends up in the image +# (Default: ${LB_PARENT_MIRROR_BINARY_SECURITY}) +LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY}" + +# \$LB_PARENT_MIRROR_DEBIAN_INSTALLER: set debian-installer parent mirror +# (Default: ${LB_PARENT_MIRROR_BOOTSTRAP}) +LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER}" + +# \$LB_MIRROR_BOOTSTRAP: set mirror to bootstrap from +# (Default: ${LB_MIRROR_BOOTSTRAP}) +LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP}" + +# \$LB_MIRROR_CHROOT: set mirror to fetch packages from +# (Default: ${LB_MIRROR_CHROOT}) +LB_MIRROR_CHROOT="${LB_MIRROR_CHROOT}" + +# \$LB_MIRROR_CHROOT_SECURITY: set security mirror to fetch packages from +# (Default: ${LB_MIRROR_CHROOT_SECURITY}) +LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY}" + +# \$LB_MIRROR_BINARY: set mirror which ends up in the image +# (Default: ${LB_MIRROR_BINARY}) +LB_MIRROR_BINARY="${LB_MIRROR_BINARY}" + +# \$LB_MIRROR_BINARY_SECURITY: set security mirror which ends up in the image +# (Default: ${LB_MIRROR_BINARY_SECURITY}) +LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY}" + +# \$LB_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror +# (Default: ${LB_MIRROR_BOOTSTRAP}) +LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER}" + +# \$LB_BOOTSTRAP_QEMU_ARCHITECTURES: architectures to use foreign bootstrap +# (Default: ${LB_BOOTSTRAP_QEMU_ARCHITECTURES}) +LB_BOOTSTRAP_QEMU_ARCHITECTURES="${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" + +# \$LB_BOOTSTRAP_QEMU_EXCLUDE: packages to exclude during foreign bootstrap +# (Default: ${LB_BOOTSTRAP_QEMU_EXCLUDE}) +LB_BOOTSTRAP_QEMU_EXCLUDE="${LB_BOOTSTRAP_QEMU_EXCLUDE}" + +# \$LB_BOOTSTRAP_QEMU_STATIC: static qemu binary for foreign bootstrap +# (Default: ${LB_BOOTSTRAP_QEMU_STATIC}) +LB_BOOTSTRAP_QEMU_STATIC="${LB_BOOTSTRAP_QEMU_STATIC}" +EOF + +# Creating lb_chroot_* configuration +mkdir -p config/archives +mkdir -p config/apt +mkdir -p config/packages +mkdir -p config/packages.chroot +mkdir -p config/package-lists +mkdir -p config/preseed + +cat > config/system << EOF +# config/system - options for live-build(7), chroot stage + +# \$LB_CHROOT_FILESYSTEM: set chroot filesystem +# (Default: ${LB_CHROOT_FILESYSTEM}) +LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM}" + +# \$LB_UNION_FILESYSTEM: set union filesystem +# (Default: ${LB_UNION_FILESYSTEM}) +LB_UNION_FILESYSTEM="${LB_UNION_FILESYSTEM}" + +# \$LB_INTERACTIVE: set interactive build +# (Default: ${LB_INTERACTIVE}) +LB_INTERACTIVE="${LB_INTERACTIVE}" + +# \$LB_KEYRING_PACKAGES: set keyring packages +# (Default: empty) +LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES}" + +# \$LB_LINUX_FLAVOURS: set kernel flavour to use +# (Default: autodetected) +LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS}" + +# \$LB_LINUX_PACKAGES: set kernel packages to use +# (Default: autodetected) +LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES}" + +# \$LB_SECURITY: enable security updates +# (Default: ${LB_SECURITY}) +LB_SECURITY="${LB_SECURITY}" + +# \$LB_UPDATES: enable updates updates +# (Default: ${LB_UPDATES}) +LB_UPDATES="${LB_UPDATES}" + +# \$LB_BACKPORTS: enable backports updates +# (Default: ${LB_BACKPORTS}) +LB_BACKPORTS="${LB_BACKPORTS}" +EOF + +# Creating lb_binary_* configuration +mkdir -p config/debian-installer +mkdir -p config/includes.installer +mkdir -p config/packages.binary +mkdir -p config/package-lists +mkdir -p config/rootfs + +cat > config/binary << EOF +# config/binary - options for live-build(7), binary stage + +# \$LB_BINARY_FILESYSTEM: set image filesystem +# (Default: ${LB_BINARY_FILESYSTEM}) +LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM}" + +# \$LB_APT_INDICES: set apt generic indices +# (Default: ${LB_APT_INDICES}) +LB_APT_INDICES="${LB_APT_INDICES}" + +# \$LB_BOOTAPPEND_LIVE: set boot parameters +# (Default: empty) +LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE}" + +# \$LB_BOOTAPPEND_INSTALL: set boot parameters +# (Default: empty) +LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL}" + +# \$LB_BOOTAPPEND_LIVE_FAILSAFE: set boot parameters +# (Default: empty) +LB_BOOTAPPEND_LIVE_FAILSAFE="${LB_BOOTAPPEND_LIVE_FAILSAFE}" + +# \$LB_BOOTLOADERS: set bootloaders +# (Default: ${LB_BOOTLOADERS}) +LB_BOOTLOADERS="${LB_BOOTLOADERS}" + +# \$LB_CHECKSUMS: set checksums +# (Default: ${LB_CHECKSUMS}) +LB_CHECKSUMS="${LB_CHECKSUMS}" + +# \$LB_COMPRESSION: set compression +# (Default: ${LB_COMPRESSION}) +LB_COMPRESSION="${LB_COMPRESSION}" + +# \$LB_ZSYNC: set zsync +# (Default: ${LB_ZSYNC}) +LB_ZSYNC="${LB_ZSYNC}" + +# \${LB_BUILD_WITH_CHROOT: control if we build binary images chrooted +# (Default: ${LB_BUILD_WITH_CHROOT}) +# DO NEVER, *NEVER*, *N*E*V*E*R* SET THIS OPTION to false. +LB_BUILD_WITH_CHROOT="${LB_BUILD_WITH_CHROOT}" + +# \$LB_DEBIAN_INSTALLER: set debian-installer +# (Default: ${LB_DEBIAN_INSTALLER}) +LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER}" + +# \$LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite +# (Default: empty) +LB_DEBIAN_INSTALLER_DISTRIBUTION="${LB_DEBIAN_INSTALLER_DISTRIBUTION}" + +# \$LB_DEBIAN_INSTALLER_PRESEEDFILE: set debian-installer preseed filename/url +# (Default: ${LB_DEBIAN_INSTALLER_PRESEEDFILE}) +LB_DEBIAN_INSTALLER_PRESEEDFILE="${LB_DEBIAN_INSTALLER_PRESEEDFILE}" + +# \$LB_DEBIAN_INSTALLER_GUI: toggle use of GUI debian-installer +# (Default: ${LB_DEBIAN_INSTALLER_GUI}) +LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI}" + +# \$LB_GRUB_SPLASH: set custom grub splash +# (Default: empty) +LB_GRUB_SPLASH="${LB_GRUB_SPLASH}" + +# \$LB_HDD_LABEL: set hdd label +# (Default: ${LB_HDD_LABEL}) +LB_HDD_LABEL="${LB_HDD_LABEL}" + +# \$LB_HDD_SIZE: set hdd filesystem size +# (Default: ${LB_HDD_SIZE}) +LB_HDD_SIZE="${LB_HDD_SIZE}" + +# \$LB_HDD_PARTITION_START: set start of partition for the hdd target for BIOSes that expect a specific boot partition start (e.g. "63s"). If empty, use optimal layout. +# (Default: ${LB_HDD_PARTITION_START}) +LB_HDD_PARTITION_START="${LB_HDD_PARTITION_START}" + +# \$LB_ISO_APPLICATION: set iso author +# (Default: ${LB_ISO_APPLICATION}) +LB_ISO_APPLICATION="${LB_ISO_APPLICATION}" + +# \$LB_ISO_PREPARER: set iso preparer +# (Default: ${LB_ISO_PREPARER}) +LB_ISO_PREPARER="${LB_ISO_PREPARER}" + +# \$LB_ISO_PUBLISHER: set iso publisher +# (Default: ${LB_ISO_PUBLISHER}) +LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER}" + +# \$LB_ISO_VOLUME: set iso volume (max 32 chars) +# (Default: ${LB_ISO_VOLUME}) +LB_ISO_VOLUME="${LB_ISO_VOLUME}" + +# \$LB_JFFS2_ERASEBLOCK: set jffs2 eraseblock size +# (Default: unset) +LB_JFFS2_ERASEBLOCK="" + +# \$LB_MEMTEST: set memtest +# (Default: ${LB_MEMTEST}) +LB_MEMTEST="${LB_MEMTEST}" + +# \$LB_LOADLIN: set loadlin +# (Default: ${LB_LOADLIN}) +LB_LOADLIN="${LB_LOADLIN}" + +# \$LB_WIN32_LOADER: set win32-loader +# (Default: ${LB_WIN32_LOADER}) +LB_WIN32_LOADER="${LB_WIN32_LOADER}" + +# \$LB_NET_ROOT_FILESYSTEM: set netboot filesystem +# (Default: ${LB_NET_ROOT_FILESYSTEM}) +LB_NET_ROOT_FILESYSTEM="${LB_NET_ROOT_FILESYSTEM}" + +# \$LB_NET_ROOT_MOUNTOPTIONS: set nfsopts +# (Default: empty) +LB_NET_ROOT_MOUNTOPTIONS="${LB_NET_ROOT_MOUNTOPTIONS}" + +# \$LB_NET_ROOT_PATH: set netboot server directory +# (Default: ${LB_NET_ROOT_PATH}) +LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH}" + +# \$LB_NET_ROOT_SERVER: set netboot server address +# (Default: ${LB_NET_ROOT_SERVER}) +LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER}" + +# \$LB_NET_COW_FILESYSTEM: set net client cow filesystem +# (Default: ${LB_NET_COW_FILESYSTEM}) +LB_NET_COW_FILESYSTEM="${LB_NET_COW_FILESYSTEM}" + +# \$LB_NET_COW_MOUNTOPTIONS: set cow mount options +# (Default: empty) +LB_NET_COW_MOUNTOPTIONS="${LB_NET_COW_MOUNTOPTIONS}" + +# \$LB_NET_COW_PATH: set cow directory +# (Default: ${LB_NET_COW_PATH}) +LB_NET_COW_PATH="${LB_NET_COW_PATH}" + +# \$LB_NET_COW_SERVER: set cow server +# (Default: ${LB_NET_COW_SERVER}) +LB_NET_COW_SERVER="${LB_NET_COW_SERVER}" + +# \$LB_NET_TARBALL: set net tarball +# (Default: ${LB_NET_TARBALL}) +LB_NET_TARBALL="${LB_NET_TARBALL}" + +# \$LB_FIRMWARE_BINARY: include firmware packages in debian-installer +# (Default: ${LB_FIRMWARE_BINARY}) +LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY}" + +# \$LB_FIRMWARE_CHROOT: include firmware packages in debian-installer +# (Default: ${LB_FIRMWARE_CHROOT}) +LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT}" + +# \$LB_SWAP_FILE_PATH: set swap file path +# (Default: ${LB_SWAP_FILE_PATH}) +LB_SWAP_FILE_PATH="${LB_SWAP_FILE_PATH}" + +# \$LB_SWAP_FILE_SIZE: set swap file size +# (Default: ${LB_SWAP_FILE_SIZE}) +LB_SWAP_FILE_SIZE="${LB_SWAP_FILE_SIZE}" +EOF + +# Creating lb_source_* configuration +cat > config/source << EOF +# config/source - options for live-build(7), source stage + +# \$LB_SOURCE: set source option +# (Default: ${LB_SOURCE}) +LB_SOURCE="${LB_SOURCE}" + +# \$LB_SOURCE_IMAGES: set image type +# (Default: ${LB_SOURCE_IMAGES}) +LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES}" +EOF + +mkdir -p auto +mkdir -p local/bin + +# Checking defaults again +Check_defaults + +if [ "${_CLEAN}" = "true" ] +then + # Remove empty directories in config tree + rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty config/*/ > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty config > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local/*/ > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local > /dev/null 2>&1 || true +fi + +mkdir -p config/hooks/normal config/hooks/live +mkdir -p config/includes config/includes.bootstrap config/includes.chroot config/includes.binary config/includes.source + +Echo_message "Symlinking hooks..." + +for _HOOK in "${LIVE_BUILD}"/share/hooks/normal/*.hook* /usr/share/live/build/hooks/normal/*.hook* +do + if [ -e "${_HOOK}" ] && [ ! -e "config/hooks/normal/$(basename ${_HOOK})" ] + then + ln -s "${_HOOK}" "config/hooks/normal/$(basename ${_HOOK})" + fi +done + +for _HOOK in "${LIVE_BUILD}"/share/hooks/live/*.hook* /usr/share/live/build/hooks/live/*.hook* +do + if [ -e "${_HOOK}" ] && [ ! -e "config/hooks/live/$(basename ${_HOOK})" ] + then + ln -s "${_HOOK}" "config/hooks/live/$(basename ${_HOOK})" + fi +done + +if [ ! -e config/package-lists/live.list.chroot ] +then + mkdir -p config/package-lists + + case "${LB_INITRAMFS}" in + system-boot) + echo "system-boot" > config/package-lists/live.list.chroot + echo "system-config" >> config/package-lists/live.list.chroot + ;; + + *) + ;; +esac + +fi + +cat > config/build << EOF +[Image] +Architecture: ${LB_ARCHITECTURES} +Archive-Areas: ${LB_ARCHIVE_AREAS} +Distribution: ${LB_DISTRIBUTION} +Mirror-Bootstrap: ${LB_MIRROR_BOOTSTRAP} +EOF + +if [ "${LB_DERIVATIVE}" = "true" ] +then + +cat >> config/build << EOF + +Parent-Archive-Areas: ${LB_ARCHIVE_AREAS} +Parent-Distribution: ${LB_PARENT_DISTRIBUTION} +Parent-Mirror-Bootstrap: ${LB_PARENT_MIRROR_BOOTSTRAP} +EOF + +fi + +cat >> config/build << EOF + +[FIXME] +Configuration-Version: ${LIVE_CONFIGURATION_VERSION} +Name: ${LIVE_IMAGE_NAME} +Type: ${LIVE_IMAGE_TYPE} +EOF + +# Creating stage file +Create_stagefile .build/config -- cgit v1.2.3