2007-09-23 08:04:40 +00:00
#!/bin/sh
2010-09-02 11:12:37 +00:00
## live-build(7) - System Build Scripts
2010-09-26 10:38:38 +00:00
## Copyright (C) 2006-2010 Daniel Baumann <daniel@debian.org>
2010-09-02 11:12:37 +00:00
##
## live-build 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.
2007-09-23 08:04:46 +00:00
set -e
2010-04-18 12:43:23 +00:00
# Including common functions
2010-09-07 13:11:20 +00:00
. "${LB_BASE:-/usr/share/live/build}"/scripts/build.sh
2010-04-18 12:43:23 +00:00
2009-01-30 19:17:00 -01:00
# Read meta config
2010-04-18 12:38:14 +00:00
if [ "${1}" != "noauto" ] && [ -x auto/config ]
2009-01-30 19:17:00 -01:00
then
2010-04-18 12:40:09 +00:00
Echo_message "Executing auto/config script."
2010-11-22 18:30:09 -01:00
./auto/config "${@}"
2010-09-13 19:20:54 +00:00
exit ${?}
2009-01-31 14:33:56 -01:00
fi
2010-04-18 12:38:14 +00:00
if [ "${1}" = "noauto" ]
2009-01-31 14:33:56 -01:00
then
2009-01-30 19:17:00 -01:00
shift
fi
2007-09-23 08:05:11 +00:00
# Setting static variables
2010-12-06 10:16:36 -01:00
PROGREAM="lb config"
2010-09-02 11:22:22 +00:00
DESCRIPTION="$(Echo 'create configuration for live-build(7)')"
2010-12-06 10:16:36 -01:00
USAGE="${PROGRAM} [--apt apt|aptitude]\n\
2007-09-23 08:05:19 +00:00
\t [--apt-ftp-proxy URL]\n\
\t [--apt-http-proxy URL]\n\
2010-11-21 15:17:48 -01:00
\t [--apt-indices true|false|none]\n\
2008-02-21 18:03:57 -01:00
\t [--apt-options OPTION|\"OPTIONS\"]\n\
\t [--aptitude-options OPTION|\"OPTIONS\"]\n\
2010-12-06 10:16:36 -01:00
\t [--apt-pipeline DEPTH]\n\
2009-12-13 19:17:45 -01:00
\t [--apt-recommends true|false]\n\
\t [--apt-secure true|false]\n\
2010-12-05 12:27:08 -01:00
\t [-a|--architectures ARCHITECTURE]\n\
2010-12-06 10:16:36 -01:00
\t [-b|--binary-images iso|iso-hybrid|net|tar|usb-hdd]\n\
\t [--binary-filesystem fat16|fat32|ext2]\n\
2007-09-23 12:05:12 +00:00
\t [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\
2007-09-23 12:05:11 +00:00
\t [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\
2007-09-23 08:05:19 +00:00
\t [--bootloader grub|syslinux|yaboot]\n\
2009-01-22 22:00:48 -01:00
\t [--bootstrap cdebootstrap|cdebootstrap-static|debootstrap|copy]\n\
2007-09-23 08:05:19 +00:00
\t [--bootstrap-config FILE]\n\
\t [-f|--bootstrap-flavour minimal|standard]\n\
\t [--bootstrap-keyring PACKAGE]\n\
2009-12-13 19:17:45 -01:00
\t [--cache true|false]\n\
\t [--cache-indices true|false]\n\
\t [--cache-packages true|false]\n\
2007-09-23 08:05:19 +00:00
\t [--cache-stages STAGE|\"STAGES\"]\n\
2010-05-01 06:24:56 +00:00
\t [--checksums md5|sha1|sha256|none]\n\
2011-01-01 22:36:20 -01:00
\t [--compression bzip2|gzip|lzip|none]\n\
2010-05-21 08:55:55 +00:00
\t [--build-with-chroot true|false]\n\
2008-02-20 23:10:48 -01:00
\t [--chroot-filesystem ext2|ext3|squashfs|plain|jffs2]\n\
2010-09-26 10:38:38 +00:00
\t [--clean\n\
2010-12-06 10:16:36 -01:00
\t [-c|--conffile FILE]\n\
2007-09-23 08:05:19 +00:00
\t [--debconf-frontend dialog|editor|noninteractive|readline]\n\
2009-12-13 19:17:45 -01:00
\t [--debconf-nowarnings true|false]\n\
2007-09-23 08:05:19 +00:00
\t [--debconf-priority low|medium|high|critical]\n\
2009-12-13 19:17:45 -01:00
\t [--debian-installer true|cdrom|netinst|netboot|businesscard|live|false]\n\
2010-12-06 10:16:36 -01:00
\t [--debian-installer-distribution daily|CODENAME]\n\
2008-08-12 20:04:25 +00:00
\t [--debian-installer-preseedfile FILE|URL]\n\
2009-12-13 19:17:45 -01:00
\t [--debian-installer-gui true|false]\n\
2007-09-23 08:05:19 +00:00
\t [--debug]\n\
\t [-d|--distribution CODENAME]\n\
2009-01-23 14:45:27 -01:00
\t [--dump]\n\
2007-11-21 09:19:38 -01:00
\t [--fdisk fdisk|fdisk.dist]\n\
2007-09-23 08:05:19 +00:00
\t [--force]\n\
\t [--grub-splash FILE]\n\
2009-09-11 07:39:13 +00:00
\t [--gzip-options OPTION|\"OPTIONS\"]\n\
2007-09-23 08:05:19 +00:00
\t [--hooks FILE]\n\
\t [--hostname NAME]\n\
2008-07-09 03:55:10 +00:00
\t [--ignore-system-defaults]\n\
2010-12-11 15:34:05 -01:00
\t [--includes PATH|none]\n\
2010-12-06 10:16:36 -01:00
\t [--initramfs auto|none|live-boot|live-initramfs|casper]\n\
2007-09-23 08:05:19 +00:00
\t [--interactive shell]\n\
2010-05-21 05:31:16 +00:00
\t [--isohybrid-options OPTION|\"OPTIONS\"]\n\
2007-09-23 08:05:19 +00:00
\t [--iso-application NAME]\n\
\t [--iso-preparer NAME]\n\
\t [--iso-publisher NAME]\n\
\t [--iso-volume NAME]\n\
2008-03-01 11:19:54 -01:00
\t [--jffs2-eraseblock SIZE]\n\
2007-09-23 08:05:19 +00:00
\t [--keyring-packages PACKAGE|\"PACKAGES\"]\n\
\t [-l|--language LANGUAGE]\n\
\t [-k|--linux-flavours FLAVOUR|\"FLAVOURS\"]\n\
\t [--linux-packages \"PACKAGES\"]\n\
\t [--losetup losetup|losetup.orig]\n\
2010-12-06 10:16:36 -01:00
\t [--memtest memtest86+|memtest86|none]\n\
2008-06-19 17:41:26 +00:00
\t [-m|--mirror-bootstrap URL]\n\
2008-04-08 10:18:42 +00:00
\t [--mirror-chroot URL]\n\
\t [--mirror-chroot-security URL]\n\
2010-03-06 15:23:59 -01:00
\t [--mirror-chroot-volatile URL]\n\
2010-09-16 12:15:30 +00:00
\t [--mirror-chroot-backports URL]\n\
2008-04-08 10:18:42 +00:00
\t [--mirror-binary URL]\n\
2008-06-19 17:41:26 +00:00
\t [--mirror-binary-security URL]\n\
2010-03-06 15:23:59 -01:00
\t [--mirror-binary-volatile URL]\n\
2010-09-16 12:15:30 +00:00
\t [--mirror-binary-backports URL]\n\
2010-03-04 11:22:15 -01:00
\t [--mirror-debian-installer URL]\n\
2010-12-06 10:16:36 -01:00
\t [--mode debian|emdebian|ubuntu]\n\
2007-10-30 17:17:16 -01:00
\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\
2011-01-01 22:36:20 -01:00
\t [--net-tarball true|false]\n\
2010-12-06 10:16:36 -01:00
\t [-p|--package-lists LIST|\"LISTS\"]\n\
2007-09-23 08:05:19 +00:00
\t [--packages PACKAGE|\"PACKAGES\"]\n\
\t [--quiet]\n\
2010-03-21 07:37:24 -01:00
\t [-r|--repositories REPOSITORY|\"REPOSITORIES\"]\n\
2007-09-23 08:05:19 +00:00
\t [--root-command sudo]\n\
2009-12-13 19:17:45 -01:00
\t [--use-fakeroot true|false]\n\
2009-11-22 12:40:20 -01:00
\t [--archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\
2009-12-13 19:17:45 -01:00
\t [--security true|false]\n\
\t [--source true|false]\n\
2007-09-23 08:05:19 +00:00
\t [-s|--source-images iso|net|tar|usb-hdd]\n\
2010-11-02 09:19:42 -01:00
\t [--syslinux-theme THEME_SUFFIX]\n\
2007-09-23 08:05:19 +00:00
\t [--tasksel aptitude|tasksel]\n\
2010-12-06 10:16:36 -01:00
\t [--tasks TASK|\"TASKS\"]\n\
2007-09-23 08:05:19 +00:00
\t [--templates PATH]\n\
2009-02-25 07:51:28 -01:00
\t [--virtual-root-size MB]\n\
2010-03-06 15:23:59 -01:00
\t [--volatile true|false]\n\
2010-09-16 12:15:30 +00:00
\t [--backports true|false]\n\
2009-12-13 19:17:45 -01:00
\t [--exposed-root true|false]\n\
2007-09-23 08:05:19 +00:00
\t [--username NAME]\n\
2008-08-15 22:07:51 +00:00
\t [--verbose]\n\
2009-12-13 19:17:45 -01:00
\t [--win32-loader true|false]"
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:17 +00:00
Local_arguments ()
{
2010-12-27 15:33:49 -01:00
LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,aptitute-options:,
2008-08-26 07:44:30 +00:00
apt-pipeline:,apt-recommends:,apt-secure:,bootstrap:,cache:,cache-indices:,cache-packages:,
2010-02-14 14:06:41 -01:00
cache-stages:,debconf-frontend:,debconf-nowarnings:,debconf-priority:,dump,
2010-03-21 07:37:24 -01:00
initramfs:,fdisk:,losetup:,mode:,repositories:,root-command:,use-fakeroot:,tasksel:,includes:,
2010-12-05 12:27:08 -01:00
templates:,architectures:,bootstrap-config:,bootstrap-flavour:,bootstrap-keyring:,clean,
2010-09-16 12:15:30 +00:00
distribution:,mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-chroot-volatile:,mirror-chroot-backports:,mirror-binary:,
mirror-binary-security:,mirror-binary-volatile:,mirror-binary-backports:,mirror-debian-installer:,archive-areas:,chroot-filesystem:,exposed-root:,virtual-root-size:,
2009-09-11 07:39:13 +00:00
gzip-options:,hooks:,interactive:,keyring-packages:,language:,linux-flavours:,linux-packages:,
2011-01-01 23:15:23 -01:00
packages:,package-lists:,tasks:,security:,volatile:,backports:,binary-filesystem:,binary-images:,
2011-01-01 22:36:20 -01:00
apt-indices:,bootappend-install:,bootappend-live:,bootloader:,checksums:,compression:,build-with-chroot:,
2009-09-02 05:39:13 +00:00
debian-installer:,debian-installer-distribution:,debian-installer-preseedfile:,debian-installer-gui:,
2011-01-01 22:53:52 -01:00
grub-splash:,hostname:,isohybrid-options:,iso-application:,iso-preparer:,iso-publisher:,
2008-08-26 07:44:30 +00:00
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:,
2010-11-02 09:19:42 -01:00
net-cow-server:,net-tarball:,syslinux-theme:,
2008-08-26 07:44:30 +00:00
username:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force,
help,ignore-system-defaults,quiet,usage,verbose,version"
# Remove spaces added by indentation
LONG_OPTIONS="$(echo ${LONG_OPTIONS} | tr -d ' ')"
2010-12-06 10:16:36 -01:00
ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:f:d:m:l:k:p:b:e:r:s:c:huv --shell sh -- "${@}")"
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:17 +00:00
if [ "${?}" != "0" ]
2007-09-23 08:04:50 +00:00
then
2007-09-23 08:05:17 +00:00
Echo_error "terminating" >&2
exit 1
2007-09-23 08:04:50 +00:00
fi
2007-09-23 08:05:17 +00:00
eval set -- "${ARGUMENTS}"
while true
do
case "${1}" in
2008-10-23 11:11:34 +00:00
--dump)
# Dump version
2009-01-01 20:05:58 -01:00
if [ -x "$(which dpkg-query 2>/dev/null)" ]
2008-10-27 04:25:25 -01:00
then
2010-09-02 11:22:22 +00:00
VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)"
2008-10-27 04:25:25 -01:00
fi
2008-10-23 11:11:34 +00:00
2010-09-02 11:22:22 +00:00
Echo "%s: This is live-build version %s" "${0}" "${VERSION_DPKG:-${VERSION}}"
2009-01-01 20:32:38 -01:00
2008-10-23 11:11:34 +00:00
# Dump conffile contents
Print_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
# Dump contents of directories that contain text files
2010-11-23 10:31:15 -01:00
for DIRECTORY in config/binary_local-packagelists config/chroot_local-packagelists config/chroot_apt config/chroot_local-patches config/chroot_local-preseed config/binary_rootfs
2008-10-23 11:11:34 +00:00
do
if Find_files "${DIRECTORY}"
then
Echo_file "${DIRECTORY}"/*
fi
done
# Dump directory listings of all directories under config/
2009-01-01 20:34:35 -01:00
for DIRECTORY in $(find config/ -mindepth 1 -maxdepth 1 -type d)
2008-10-23 11:11:34 +00:00
do
if Find_files "${DIRECTORY}"
then
ls -lR "${DIRECTORY}" | while read LINE
do
echo "${DIRECTORY}: ${LINE}"
done
fi
done
exit 0
;;
2009-05-03 07:53:28 +00:00
--clean)
2010-09-07 14:25:58 +00:00
_CLEAN="true"
shift
2009-02-03 08:41:26 -01:00
;;
2007-09-23 08:05:17 +00:00
# config/common
--apt)
2010-09-07 13:11:20 +00:00
LB_APT="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--apt-ftp-proxy)
2010-09-07 13:11:20 +00:00
LB_APT_FTP_PROXY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--apt-http-proxy)
2010-09-07 13:11:20 +00:00
LB_APT_HTTP_PROXY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-11-21 15:17:48 -01:00
--apt-indices)
LB_APT_INDICES="${2}"
shift 2
;;
2008-02-21 18:03:57 -01:00
--apt-options)
APT_OPTIONS="${2}"
shift 2
;;
--aptitude-options)
2010-09-07 13:11:20 +00:00
LB_APTITUDE_OPTIONS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--apt-pipeline)
2010-09-07 13:11:20 +00:00
LB_APT_PIPELINE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--apt-recommends)
2010-09-07 13:11:20 +00:00
LB_APT_RECOMMENDS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--apt-secure)
2010-09-07 13:11:20 +00:00
LB_APT_SECURE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--bootstrap)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--cache)
2010-09-07 13:11:20 +00:00
LB_CACHE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--cache-indices)
2010-09-07 13:11:20 +00:00
LB_CACHE_INDICES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--cache-packages)
2010-09-07 13:11:20 +00:00
LB_CACHE_PACKAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--cache-stages)
2010-09-07 13:11:20 +00:00
LB_CACHE_STAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--debconf-frontend)
2010-09-07 13:11:20 +00:00
LB_DEBCONF_FRONTEND="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--debconf-nowarnings)
2010-09-07 13:11:20 +00:00
LB_DEBCONF_NOWARNINGS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--debconf-priority)
2010-09-07 13:11:20 +00:00
LB_DEBCONF_PRIORITY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--initramfs)
2010-09-07 13:11:20 +00:00
LB_INITRAMFS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-11-12 20:43:28 -01:00
--fdisk)
2010-09-07 13:11:20 +00:00
LB_FDISK="${2}"
2007-11-12 20:43:28 -01:00
shift 2
;;
2007-09-23 08:05:17 +00:00
--losetup)
2010-09-07 13:11:20 +00:00
LB_LOSETUP="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--mode)
2010-09-07 13:11:20 +00:00
LB_MODE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-03-21 07:37:24 -01:00
-r|--repositories)
2010-09-07 13:11:20 +00:00
LB_REPOSITORIES="${2}"
2010-03-21 07:37:24 -01:00
shift 2
;;
2007-09-23 08:05:17 +00:00
--root-command)
2010-09-07 13:11:20 +00:00
LB_ROOT_COMMAND="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-11-10 16:39:49 -01:00
--use-fakeroot)
2010-09-07 13:11:20 +00:00
LB_USE_FAKEROOT="${2}"
2007-11-10 16:39:49 -01:00
shift 2
;;
2007-09-23 08:05:17 +00:00
--tasksel)
2010-09-07 13:11:20 +00:00
LB_TASKSEL="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--includes)
2010-09-07 13:11:20 +00:00
LB_INCLUDES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--templates)
2010-09-07 13:11:20 +00:00
LB_TEMPLATES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
-v|--version)
2008-06-08 22:17:10 +00:00
Version
2007-09-23 08:05:17 +00:00
shift
;;
# config/bootstrap
2010-12-05 12:27:08 -01:00
-a|--architectures)
LB_ARCHITECTURES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--bootstrap-config)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_CONFIG="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
-f|--bootstrap-flavour)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_FLAVOUR="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--bootstrap-keyring)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_KEYRING="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
-d|--distribution)
2010-09-07 13:11:20 +00:00
LB_DISTRIBUTION="${2}"
2010-01-12 03:36:45 -01:00
BACKPORTS="false"
2007-09-23 08:05:17 +00:00
shift 2
2010-01-12 03:36:45 -01:00
2010-09-07 13:11:20 +00:00
case "${LB_DISTRIBUTION}" in
2010-09-26 10:25:37 +00:00
squeeze-backports)
LB_DISTRIBUTION="squeeze"
BACKPORTS="true"
;;
2010-01-12 03:36:45 -01:00
esac
2007-09-23 08:05:17 +00:00
;;
-m|--mirror-bootstrap)
2010-09-07 13:11:20 +00:00
LB_MIRROR_BOOTSTRAP="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2008-02-21 18:52:37 -01:00
--mirror-chroot)
2010-09-07 13:11:20 +00:00
LB_MIRROR_CHROOT="${2}"
2008-02-21 18:52:37 -01:00
shift 2
;;
--mirror-chroot-security)
2010-09-07 13:11:20 +00:00
LB_MIRROR_CHROOT_SECURITY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-03-06 15:23:59 -01:00
--mirror-chroot-volatile)
2010-09-07 13:11:20 +00:00
LB_MIRROR_CHROOT_VOLATILE="${2}"
2010-03-06 15:23:59 -01:00
shift 2
;;
2010-09-16 12:15:30 +00:00
--mirror-chroot-backports)
LB_MIRROR_CHROOT_BACKPORTS="${2}"
shift 2
;;
2007-09-23 08:05:17 +00:00
--mirror-binary)
2010-09-07 13:11:20 +00:00
LB_MIRROR_BINARY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--mirror-binary-security)
2010-09-07 13:11:20 +00:00
LB_MIRROR_BINARY_SECURITY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-03-06 15:23:59 -01:00
--mirror-binary-volatile)
2010-09-07 13:11:20 +00:00
LB_MIRROR_BINARY_VOLATILE="${2}"
2010-03-06 15:23:59 -01:00
shift 2
;;
2010-09-16 12:15:30 +00:00
--mirror-binary-backports)
LB_MIRROR_BINARY_BACKPORTS="${2}"
shift 2
;;
2010-03-04 11:22:15 -01:00
--mirror-debian-installer)
2010-09-07 13:11:20 +00:00
LB_MIRROR_DEBIAN_INSTALLER="${2}"
2010-03-04 11:22:15 -01:00
shift 2
;;
2009-11-22 12:40:20 -01:00
--archive-areas)
2010-09-07 13:11:20 +00:00
LB_ARCHIVE_AREAS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
# config/chroot
--chroot-filesystem)
2010-09-07 13:11:20 +00:00
LB_CHROOT_FILESYSTEM="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2009-02-25 07:51:28 -01:00
--virtual-root-size)
2010-09-07 13:11:20 +00:00
LB_VIRTUAL_ROOT_SIZE="${2}"
2009-02-25 07:51:28 -01:00
shift 2
;;
2007-10-23 20:56:43 +00:00
--exposed-root)
2010-09-07 13:11:20 +00:00
LB_EXPOSED_ROOT="${2}"
2007-10-23 20:56:43 +00:00
shift 2
;;
2009-09-11 07:39:13 +00:00
--gzip-options)
GZIP_OPTIONS="${2}"
shift 2
;;
2007-09-23 08:05:17 +00:00
--hooks)
2010-09-07 13:11:20 +00:00
LB_HOOKS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--interactive)
2010-09-07 13:11:20 +00:00
LB_INTERACTIVE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--keyring-packages)
2010-09-07 13:11:20 +00:00
LB_KEYRING_PACKAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
-l|--language)
2010-09-07 13:11:20 +00:00
LB_LANGUAGE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
-k|--linux-flavours)
2010-09-07 13:11:20 +00:00
LB_LINUX_FLAVOURS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--linux-packages)
2010-09-07 13:11:20 +00:00
LB_LINUX_PACKAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--packages)
2010-09-07 13:11:20 +00:00
LB_PACKAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-11-23 10:31:15 -01:00
-p|--package-lists)
LB_PACKAGE_LISTS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--tasks)
2010-09-07 13:11:20 +00:00
LB_TASKS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--security)
2010-09-07 13:11:20 +00:00
LB_SECURITY="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-03-06 15:23:59 -01:00
--volatile)
2010-09-07 13:11:20 +00:00
LB_VOLATILE="${2}"
2010-03-06 15:23:59 -01:00
shift 2
;;
2010-09-16 12:15:30 +00:00
--backports)
LB_BACKPORTS="${2}"
shift 2
;;
2007-09-23 08:05:17 +00:00
# config/binary
2007-11-16 21:01:03 -01:00
--binary-filesystem)
2010-09-07 13:11:20 +00:00
LB_BINARY_FILESYSTEM="${2}"
2007-11-16 21:01:03 -01:00
shift 2
;;
2007-09-23 08:05:17 +00:00
-b|--binary-images)
2010-09-07 13:11:20 +00:00
LB_BINARY_IMAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-09-23 12:05:13 +00:00
--bootappend-live)
2010-09-07 13:11:20 +00:00
LB_BOOTAPPEND_LIVE="${2}"
2007-09-23 12:05:12 +00:00
shift 2
;;
2007-09-23 12:05:13 +00:00
--bootappend-install)
2010-09-07 13:11:20 +00:00
LB_BOOTAPPEND_INSTALL="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--bootloader)
2010-09-07 13:11:20 +00:00
LB_BOOTLOADER="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-11-12 21:00:48 -01:00
--checksums)
2010-09-07 13:11:20 +00:00
LB_CHECKSUMS="${2}"
2007-11-12 21:00:48 -01:00
shift 2
;;
2011-01-01 22:36:20 -01:00
--compression)
LB_COMPRESSION="${2}"
shift 2
;;
2010-05-21 08:55:55 +00:00
--build-with-chroot)
2010-09-07 13:11:20 +00:00
LB_BUILD_WITH_CHROOT="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--debian-installer)
2010-09-07 13:11:20 +00:00
LB_DEBIAN_INSTALLER="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2008-08-10 00:38:06 +00:00
--debian-installer-distribution)
2010-09-07 13:11:20 +00:00
LB_DEBIAN_INSTALLER_DISTRIBUTION="${2}"
2008-08-10 00:38:06 +00:00
shift 2
;;
2008-08-12 20:04:25 +00:00
--debian-installer-preseedfile)
2010-09-07 13:11:20 +00:00
LB_DEBIAN_INSTALLER_PRESEEDFILE="${2}"
2008-08-12 20:04:25 +00:00
shift 2
;;
2009-09-02 05:39:13 +00:00
--debian-installer-gui)
2010-09-07 13:11:20 +00:00
LB_DEBIAN_INSTALLER_GUI="${2}"
2009-09-02 05:39:13 +00:00
shift 2
;;
2007-09-23 08:05:17 +00:00
--grub-splash)
2010-09-07 13:11:20 +00:00
LB_GRUB_SPLASH="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--hostname)
2010-09-07 13:11:20 +00:00
LB_HOSTNAME="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2010-05-21 05:31:16 +00:00
--isohybrid-options)
2010-09-07 13:11:20 +00:00
LB_ISOHYBRID_OPTIONS="${2}"
2010-05-21 05:31:16 +00:00
shift 2
;;
2007-09-23 08:05:17 +00:00
--iso-application)
2010-09-07 13:11:20 +00:00
LB_ISO_APPLICATION="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--iso-preparer)
2010-09-07 13:11:20 +00:00
LB_ISO_PREPARER="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--iso-publisher)
2010-09-07 13:11:20 +00:00
LB_ISO_PUBLISHER="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
--iso-volume)
2010-09-07 13:11:20 +00:00
LB_ISO_VOLUME="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2008-03-01 11:19:54 -01:00
--jffs2-eraseblock)
2010-09-07 13:11:20 +00:00
LB_JFFS2_ERASEBLOCK="${2}"
2008-03-01 11:19:54 -01:00
shift 2
;;
2007-10-09 20:50:35 +00:00
--memtest)
2010-09-07 13:11:20 +00:00
LB_MEMTEST="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-10-30 17:17:16 -01:00
--net-root-filesystem)
2010-09-07 13:11:20 +00:00
LB_NET_ROOT_FILESYSTEM="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-10-30 17:17:16 -01:00
--net-root-mountoptions)
2010-09-07 13:11:20 +00:00
LB_NET_ROOT_MOUNTOPTIONS="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-10-30 17:17:16 -01:00
--net-root-path)
2010-09-07 13:11:20 +00:00
LB_NET_ROOT_PATH="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2007-10-30 17:17:16 -01:00
--net-root-server)
2010-09-07 13:11:20 +00:00
LB_NET_ROOT_SERVER="${2}"
2007-10-30 17:17:16 -01:00
shift 2
;;
--net-cow-filesystem)
2010-09-07 13:11:20 +00:00
LB_NET_COW_FILESYSTEM="${2}"
2007-10-30 17:17:16 -01:00
shift 2
;;
--net-cow-mountoptions)
2010-09-07 13:11:20 +00:00
LB_NET_COW_MOUNTOPTIONS="${2}"
2007-10-30 17:17:16 -01:00
shift 2
;;
--net-cow-path)
2010-09-07 13:11:20 +00:00
LB_NET_COW_PATH="${2}"
2007-10-30 17:17:16 -01:00
shift 2
;;
--net-cow-server)
2010-09-07 13:11:20 +00:00
LB_NET_COW_SERVER="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2008-02-26 17:57:41 -01:00
--net-tarball)
2010-09-07 13:11:20 +00:00
LB_NET_TARBALL="${2}"
2008-02-26 17:57:41 -01:00
shift 2
;;
2010-11-02 09:19:42 -01:00
--syslinux-theme)
LB_SYSLINUX_THEME="${2}"
2007-11-02 12:31:27 -01:00
shift 2
;;
2007-09-23 08:05:17 +00:00
--username)
2010-09-07 13:11:20 +00:00
LB_USERNAME="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2008-08-14 19:33:56 +00:00
--win32-loader)
2010-09-07 13:11:20 +00:00
LB_WIN32_LOADER="${2}"
2008-08-14 19:33:56 +00:00
shift 2
;;
2007-09-23 08:05:17 +00:00
# config/source
--source)
2010-09-07 13:11:20 +00:00
LB_SOURCE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
-s|--source-images)
2010-09-07 13:11:20 +00:00
LB_SOURCE_IMAGES="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
# other
--breakpoints)
2009-12-13 19:17:45 -01:00
_BREAKPOINTS="true"
2007-09-23 08:05:17 +00:00
shift
;;
2007-09-27 19:26:29 +00:00
-c|--conffile)
2008-11-02 15:22:56 -01:00
_CONFFILE="${2}"
2007-09-23 08:05:17 +00:00
shift 2
;;
2008-11-01 14:31:26 -01:00
--color)
2009-12-13 19:17:45 -01:00
_COLOR="true"
2008-11-01 14:31:26 -01:00
shift
;;
2007-09-23 08:05:17 +00:00
--debug)
2009-12-13 19:17:45 -01:00
_DEBUG="true"
2007-09-23 08:05:17 +00:00
shift
;;
--force)
2009-12-13 19:17:45 -01:00
_FORCE="true"
2007-09-23 08:05:17 +00:00
shift
;;
-h|--help)
Help
shift
;;
2008-07-08 23:13:09 +00:00
--ignore-system-defaults)
shift
;;
2007-09-23 08:05:17 +00:00
--quiet)
2009-12-13 19:17:45 -01:00
_QUIET="true"
2007-09-23 08:05:17 +00:00
shift
;;
-u|--usage)
Usage
shift
;;
--verbose)
2009-12-13 19:17:45 -01:00
_VERBOSE="true"
2007-09-23 08:05:17 +00:00
shift
;;
-v|--version)
Version
shift
;;
--)
shift
break
;;
*)
2008-08-11 20:28:54 +00:00
Echo_error "internal error %s" "${0}"
2007-09-23 08:05:17 +00:00
exit 1
;;
esac
done
}
2008-06-10 17:04:23 +00:00
# Reading system configuration
2010-09-07 14:22:59 +00:00
if ! In_list "--ignore-system-defaults" "${@}"
2008-06-10 17:04:23 +00:00
then
2010-09-07 14:22:59 +00:00
Echo_message "Considering defaults defined in %s" "/etc/live/build.conf"
2010-09-16 13:27:05 +00:00
Read_conffiles /etc/live/build.conf /etc/live/build.d/*
2008-06-10 17:04:23 +00:00
fi
2007-09-23 08:05:17 +00:00
# Reading existing configuration
2008-10-28 14:26:17 -01:00
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
2007-09-23 08:04:47 +00:00
2009-01-30 19:17:00 -01:00
Local_arguments "${@}"
2008-08-10 19:13:33 +00:00
2008-11-02 15:22:56 -01:00
if [ -n "${_CONFFILE}" ]
2007-09-23 08:05:17 +00:00
then
2008-11-02 15:22:56 -01:00
Read_conffiles "${_CONFFILE}"
2007-09-23 08:05:17 +00:00
fi
2008-06-11 13:30:37 +00:00
# Setting defaults
Set_defaults
2007-11-11 12:14:25 -01:00
# Checking defaults
Check_defaults
2009-11-13 12:52:43 -01:00
if [ ! -e config ]
then
Echo_message "Creating config tree"
else
Echo_message "Updating config tree"
fi
2009-10-20 19:02:14 +00:00
2007-09-23 08:05:10 +00:00
# Creating bootstrap configuration
2007-09-23 08:05:17 +00:00
mkdir -p config
mkdir -p config/includes
mkdir -p config/templates
2007-09-23 08:04:46 +00:00
2010-09-02 11:22:22 +00:00
# Creating live-build configuration
2007-09-23 08:05:17 +00:00
cat > config/common << EOF
2010-09-02 11:22:22 +00:00
# config/common - common options for live-build(7)
2007-09-23 08:04:49 +00:00
2010-09-07 13:11:20 +00:00
# LB_CONFIG_VERSION: internal version of the configuration file format
LB_CONFIG_VERSION="${CONFIG_VERSION}"
2009-05-08 09:35:56 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_APT: set package manager
# (Default: ${LB_APT})
LB_APT="${LB_APT}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_APT_FTP_PROXY: set apt/aptitude ftp proxy
2007-09-23 08:04:46 +00:00
# (Default: autodetected or empty)
2010-09-07 13:11:20 +00:00
LB_APT_FTP_PROXY="${LB_APT_FTP_PROXY}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_APT_HTTP_PROXY: set apt/aptitude http proxy
2007-09-23 08:04:46 +00:00
# (Default: autodetected or empty)
2010-09-07 13:11:20 +00:00
LB_APT_HTTP_PROXY="${LB_APT_HTTP_PROXY}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_APT_PIPELINE: set apt/aptitude pipeline depth
# (Default: ${LB_APT_PIPELINE})
LB_APT_PIPELINE="${LB_APT_PIPELINE}"
2007-09-23 08:05:11 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_APT_RECOMMENDS: set apt/aptitude recommends
# (Default: ${LB_APT_RECOMMENDS})
LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_APT_SECURE: set apt/aptitude security
# (Default: ${LB_APT_SECURE})
LB_APT_SECURE="${LB_APT_SECURE}"
2007-09-23 08:04:48 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTSTRAP: set bootstrap program
# (Default: ${LB_BOOTSTRAP})
LB_BOOTSTRAP="${LB_BOOTSTRAP}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_CACHE: control cache
# (Default: ${LB_CACHE})
LB_CACHE="${LB_CACHE}"
2007-09-23 08:05:17 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_CACHE_INDICES: control if downloaded package indices should be cached
# (Default: ${LB_CACHE_INDICES})
LB_CACHE_INDICES="${LB_CACHE_INDICES}"
2007-09-23 08:04:52 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_CACHE_PACKAGES: control if downloaded packages files should be cached
# (Default: ${LB_CACHE_PACKAGES})
LB_CACHE_PACKAGES="${LB_CACHE_PACKAGES}"
2007-09-23 08:04:52 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_CACHE_STAGES: control if completed stages should be cached
# (Default: ${LB_CACHE_STAGES})
LB_CACHE_STAGES="${LB_CACHE_STAGES}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBCONF_FRONTEND: set debconf(1) frontend to use
# (Default: ${LB_DEBCONF_FRONTEND})
LB_DEBCONF_FRONTEND="${LB_DEBCONF_FRONTEND}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBCONF_NOWARNINGS: set debconf(1) warnings
# (Default: ${LB_DEBCONF_NOWARNINGS})
LB_DEBCONF_NOWARNINGS="${LB_DEBCONF_NOWARNINGS}"
2007-09-23 08:04:50 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBCONF_PRIORITY: set debconf(1) priority to use
# (Default: ${LB_DEBCONF_PRIORITY})
LB_DEBCONF_PRIORITY="${LB_DEBCONF_PRIORITY}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_INITRAMFS: set initramfs hook
# (Default: ${LB_INITRAMFS})
LB_INITRAMFS="${LB_INITRAMFS}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_FDISK: set fdisk program
2007-11-12 20:43:28 -01:00
# (Default: autodetected)
2010-09-07 13:11:20 +00:00
LB_FDISK="${LB_FDISK}"
2007-11-12 20:43:28 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_LOSETUP: set losetup program
2007-09-23 08:04:47 +00:00
# (Default: autodetected)
2010-09-07 13:11:20 +00:00
LB_LOSETUP="${LB_LOSETUP}"
2007-09-23 08:04:47 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_MODE: set distribution mode
# (Default: ${LB_MODE})
LB_MODE="${LB_MODE}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_ROOT_COMMAND: use sudo or equivalent
2007-09-23 08:05:10 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
#LB_ROOT_COMMAND="sudo"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_USE_FAKEROOT: use fakeroot/fakechroot
# (Default: ${LB_USE_FAKEROOT})
LB_USE_FAKEROOT="${LB_USE_FAKEROOT}"
2007-11-10 16:39:49 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_TASKSEL: set tasksel program
# (Default: ${LB_TASKSEL})
LB_TASKSEL="${LB_TASKSEL}"
2007-09-23 08:04:51 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_INCLUDES: set includes
# (Default: ${LB_INCLUDES})
LB_INCLUDES="${LB_INCLUDES}"
2007-09-23 08:04:52 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_TEMPLATES: set templates
# (Default: ${LB_TEMPLATES})
LB_TEMPLATES="${LB_TEMPLATES}"
2007-09-23 08:04:52 +00:00
2010-09-02 12:40:28 +00:00
# live-build options
2007-09-23 08:04:49 +00:00
2008-11-01 13:10:34 -01:00
# \$_BREAKPOINTS: enable breakpoints
# (Default: ${_BREAKPOINTS})
#_BREAKPOINTS="${_BREAKPOINTS}"
2007-09-23 08:04:49 +00:00
2008-11-01 12:57:17 -01:00
# \$_DEBUG: enable debug
# (Default: ${_DEBUG})
#_DEBUG="${_DEBUG}"
2007-09-23 08:04:49 +00:00
2008-11-01 14:31:26 -01:00
# \$_COLOR: enable color
# (Default: ${_COLOR})
#_COLOR="${_COLOR}"
2008-11-01 12:55:27 -01:00
# \$_FORCE: enable force
# (Default: ${_FORCE})
#_FORCE="${_FORCE}"
2007-09-23 08:04:49 +00:00
2008-11-01 12:59:51 -01:00
# \$_QUIET: enable quiet
# (Default: ${_QUIET})
_QUIET="${_QUIET}"
2007-09-23 08:04:49 +00:00
2008-11-01 13:01:33 -01:00
# \$_VERBOSE: enable verbose
# (Default: ${_VERBOSE})
#_VERBOSE="${_VERBOSE}"
2008-02-21 18:03:57 -01:00
# Internal stuff (FIXME)
APT_OPTIONS="${APT_OPTIONS}"
APTITUDE_OPTIONS="${APTITUDE_OPTIONS}"
2009-09-11 07:39:13 +00:00
GZIP_OPTIONS="${GZIP_OPTIONS}"
2010-05-21 05:31:16 +00:00
ISOHYBRID_OPTIONS="${ISOHYBRID_OPTIONS}"
2007-09-23 08:04:46 +00:00
EOF
2010-11-23 08:36:48 -01:00
# Creating lb_bootstrap_* configuration
2007-09-23 08:05:17 +00:00
cat > config/bootstrap << EOF
2010-09-02 11:22:22 +00:00
# config/bootstrap - options for live-build(7), bootstrap stage
2007-09-23 08:05:10 +00:00
2010-12-05 12:27:08 -01:00
# \$LB_ARCHITECTURES: select chroot architectures
2007-09-23 08:05:10 +00:00
# (Default: autodetected)
2010-12-05 12:27:08 -01:00
LB_ARCHITECTURES="${LB_ARCHITECTURES}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTSTRAP_CONFIG: set distribution config directory
2007-09-23 08:05:10 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_CONFIG="${LB_BOOTSTRAP_CONFIG}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTSTRAP_INCLUDE: include packages on base
2007-09-28 00:54:23 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_INCLUDE="${LB_BOOTSTRAP_INCLUDE}"
2007-09-28 00:54:23 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTSTRAP_EXCLUDE: exclude packages on base
2007-09-28 00:54:23 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_EXCLUDE="${LB_BOOTSTRAP_EXCLUDE}"
2007-09-28 00:54:23 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTSTRAP_FLAVOUR: select flavour to use
2009-01-23 19:31:46 -01:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_FLAVOUR="${LB_BOOTSTRAP_FLAVOUR}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTSTRAP_KEYRING: set distribution keyring
2007-09-23 08:05:11 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTSTRAP_KEYRING="${LB_BOOTSTRAP_KEYRING}"
2007-09-23 08:05:11 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DISTRIBUTION: select distribution to use
# (Default: ${LB_DISTRIBUTION})
LB_DISTRIBUTION="${LB_DISTRIBUTION}"
2007-09-23 08:05:11 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_BOOTSTRAP: set mirror to bootstrap from
# (Default: ${LB_MIRROR_BOOTSTRAP})
LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_CHROOT: set mirror to fetch packages from
# (Default: ${LB_MIRROR_CHROOT})
LB_MIRROR_CHROOT="${LB_MIRROR_CHROOT}"
2008-02-21 18:52:37 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_CHROOT_SECURITY: set security mirror to fetch packages from
# (Default: ${LB_MIRROR_CHROOT_SECURITY})
LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_CHROOT_VOLATILE: set volatile mirror to fetch packages from
# (Default: ${LB_MIRROR_CHROOT_VOLATILE})
LB_MIRROR_CHROOT_VOLATILE="${LB_MIRROR_CHROOT_VOLATILE}"
2010-03-06 15:23:59 -01:00
2010-09-16 12:15:30 +00:00
# \$LB_MIRROR_CHROOT_BACKPORTS: set backports mirror to fetch packages from
# (Default: ${LB_MIRROR_CHROOT_BACKPORTS})
LB_MIRROR_CHROOT_BACKPORTS="${LB_MIRROR_CHROOT_BACKPORTS}"
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_BINARY: set mirror which ends up in the image
# (Default: ${LB_MIRROR_BINARY})
LB_MIRROR_BINARY="${LB_MIRROR_BINARY}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$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}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_BINARY_VOLATILE: set volatile mirror which ends up in the image
# (Default: ${LB_MIRROR_BINARY_VOLATILE})
LB_MIRROR_BINARY_VOLATILE="${LB_MIRROR_BINARY_VOLATILE}"
2010-03-06 15:23:59 -01:00
2010-09-16 12:15:30 +00:00
# \$LB_MIRROR_BINARY_BACKPORTS: set backports mirror which ends up in the image
# (Default: ${LB_MIRROR_BINARY_BACKPORTS})
LB_MIRROR_BINARY_BACKPORTS="${LB_MIRROR_BINARY_BACKPORTS}"
2010-09-07 13:11:20 +00:00
# \$LB_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror
# (Default: ${LB_MIRROR_BOOTSTRAP})
LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER}"
2010-03-04 11:22:15 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_ARCHIVE_AREAS: select archive areas to use
# (Default: ${LB_ARCHIVE_AREAS})
LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS}"
2007-09-23 08:05:10 +00:00
EOF
2010-11-23 08:36:48 -01:00
# Creating lb_chroot_* configuration
2007-10-14 19:47:35 +00:00
mkdir -p config/chroot_apt
2007-09-23 08:05:17 +00:00
mkdir -p config/chroot_local-hooks
mkdir -p config/chroot_local-includes
2008-07-31 16:12:06 +00:00
mkdir -p config/chroot_local-patches
2007-09-23 08:05:17 +00:00
mkdir -p config/chroot_local-packages
2010-11-23 10:31:15 -01:00
mkdir -p config/chroot_local-packagelists
2008-05-15 01:59:47 +00:00
mkdir -p config/chroot_local-preseed
2007-09-23 08:05:17 +00:00
mkdir -p config/chroot_sources
2007-09-23 08:05:10 +00:00
2007-09-23 08:05:17 +00:00
cat > config/chroot << EOF
2010-09-02 11:22:22 +00:00
# config/chroot - options for live-build(7), chroot stage
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_CHROOT_FILESYSTEM: set chroot filesystem
# (Default: ${LB_CHROOT_FILESYSTEM})
LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM}"
2007-09-23 08:05:09 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_UNION_FILESYSTEM: set union filesystem
# (Default: ${LB_UNION_FILESYSTEM})
LB_UNION_FILESYSTEM="${LB_UNION_FILESYSTEM}"
2007-09-23 08:05:13 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_VIRTUAL_ROOT_SIZE: set virtual-hdd filesystem size
# (Default: ${LB_VIRTUAL_ROOT_SIZE})
LB_VIRTUAL_ROOT_SIZE="${LB_VIRTUAL_ROOT_SIZE}"
2009-02-25 07:51:28 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_EXPOSED_ROOT: expose root as read only
# (Default: ${LB_EXPOSED_ROOT})
LB_EXPOSED_ROOT="${LB_EXPOSED_ROOT}"
2007-10-23 20:56:43 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_HOOKS: set hook commands
2007-09-23 08:05:10 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_HOOKS="${LB_HOOKS}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_INTERACTIVE: set interactive build
# (Default: ${LB_INTERACTIVE})
LB_INTERACTIVE="${LB_INTERACTIVE}"
2007-09-23 08:05:09 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_KEYRING_PACKAGES: set keyring packages
2007-09-23 08:04:49 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES}"
2007-09-23 08:04:49 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_LANGUAGE: set language to use
2007-09-23 08:04:46 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_LANGUAGE="${LB_LANGUAGE}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_LINUX_FLAVOURS: set kernel flavour to use
2007-09-23 08:05:10 +00:00
# (Default: autodetected)
2010-09-07 13:11:20 +00:00
LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_LINUX_PACKAGES: set kernel packages to use
2007-09-23 08:05:10 +00:00
# (Default: autodetected)
2010-09-07 13:11:20 +00:00
LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_REPOSITORIES: enable available third-party repositories
2010-03-21 07:37:24 -01:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_REPOSITORIES="${LB_REPOSITORIES}"
2010-03-21 07:37:24 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_PACKAGES: set packages to install
2007-09-23 08:04:46 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_PACKAGES="${LB_PACKAGES}"
2007-09-23 08:04:46 +00:00
2010-11-23 10:31:15 -01:00
# \$LB_PACKAGE_LISTS: set package list to install
# (Default: ${LB_PACKAGE_LISTS})
LB_PACKAGE_LISTS="${LB_PACKAGE_LISTS}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_TASKS: set tasks to install
2007-09-23 08:04:46 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_TASKS="${LB_TASKS}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_SECURITY: enable security updates
# (Default: ${LB_SECURITY})
LB_SECURITY="${LB_SECURITY}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_VOLATILE: enable volatile updates
# (Default: ${LB_VOLATILE})
LB_VOLATILE="${LB_VOLATILE}"
2010-03-06 15:23:59 -01:00
2010-09-16 12:15:30 +00:00
# \$LB_BACKPORTS: enable backports updates
# (Default: ${LB_BACKPORTS})
LB_BACKPORTS="${LB_BACKPORTS}"
2007-09-23 08:04:46 +00:00
EOF
2010-11-23 08:36:48 -01:00
# Creating lb_binary_* configuration
2007-09-23 12:05:14 +00:00
mkdir -p config/binary_debian-installer
2008-12-02 14:56:02 -01:00
mkdir -p config/binary_debian-installer-includes
2007-09-23 08:05:17 +00:00
mkdir -p config/binary_grub
mkdir -p config/binary_local-debs
mkdir -p config/binary_local-hooks
mkdir -p config/binary_local-includes
2010-11-23 10:31:15 -01:00
mkdir -p config/binary_local-packagelists
2007-09-23 08:05:17 +00:00
mkdir -p config/binary_local-udebs
mkdir -p config/binary_rootfs
mkdir -p config/binary_syslinux
cat > config/binary << EOF
2010-09-02 11:22:22 +00:00
# config/binary - options for live-build(7), binary stage
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BINARY_FILESYSTEM: set image filesystem
# (Default: ${LB_BINARY_FILESYSTEM})
LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM}"
2007-11-16 21:01:03 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_BINARY_IMAGES: set image type
# (Default: ${LB_BINARY_IMAGES})
LB_BINARY_IMAGES="${LB_BINARY_IMAGES}"
2007-09-23 08:04:46 +00:00
2010-11-21 15:17:48 -01:00
# \$LB_APT_INDICES: set apt/aptitude generic indices
# (Default: ${LB_APT_INDICES})
LB_APT_INDICES="${LB_APT_INDICES}"
2007-09-23 08:05:09 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTAPPEND_LIVE: set boot parameters
2007-09-23 08:04:46 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTAPPEND_INSTALL: set boot parameters
2007-09-23 12:05:13 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL}"
2007-09-23 12:05:13 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_BOOTLOADER: set bootloader
# (Default: ${LB_BOOTLOADER})
LB_BOOTLOADER="${LB_BOOTLOADER}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_CHECKSUMS: set checksums
# (Default: ${LB_CHECKSUMS})
LB_CHECKSUMS="${LB_CHECKSUMS}"
2007-11-12 21:00:48 -01:00
2011-01-01 22:36:20 -01:00
# \$LB_COMPRESSION: set compression
# (Default: ${LB_COMPRESSION})
LB_COMPRESSION="${LB_COMPRESSION}"
2010-09-07 13:11:20 +00:00
# \${LB_BUILD_WITH_CHROOT: control if we build binary images chrooted
# (Default: ${LB_BUILD_WITH_CHROOT})
2009-12-13 19:17:45 -01:00
# DO NEVER, *NEVER*, *N*E*V*E*R* SET THIS OPTION to false.
2010-09-07 13:11:20 +00:00
LB_BUILD_WITH_CHROOT="${LB_BUILD_WITH_CHROOT}"
2007-09-23 08:05:15 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBIAN_INSTALLER: set debian-installer
# (Default: ${LB_DEBIAN_INSTALLER})
LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite
2008-08-10 00:38:06 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_DEBIAN_INSTALLER_DISTRIBUTION="${LB_DEBIAN_INSTALLER_DISTRIBUTION}"
2008-08-10 00:38:06 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBIAN_INSTALLER_PRESEEDFILE: set debian-installer preseed filename/url
# (Default: ${LB_DEBIAN_INSTALLER_PRESEEDFILE})
LB_DEBIAN_INSTALLER_PRESEEDFILE="${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
2008-08-12 20:04:25 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_DEBIAN_INSTALLER_GUI: toggle use of GUI debian-installer
# (Default: ${LB_DEBIAN_INSTALLER_GUI})
LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI}"
2009-09-02 05:39:13 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_GRUB_SPLASH: set custom grub splash
2007-09-23 08:05:10 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_GRUB_SPLASH="${LB_GRUB_SPLASH}"
2007-09-23 08:04:48 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_HOSTNAME: set hostname
# (Default: ${LB_HOSTNAME})
LB_HOSTNAME="${LB_HOSTNAME}"
2007-09-23 08:04:48 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_ISO_APPLICATION: set iso author
# (Default: ${LB_ISO_APPLICATION})
LB_ISO_APPLICATION="${LB_ISO_APPLICATION}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_ISO_PREPARER: set iso preparer
# (Default: ${LB_ISO_PREPARER})
LB_ISO_PREPARER="${LB_ISO_PREPARER}"
2007-09-23 08:05:10 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_ISO_PUBLISHER: set iso publisher
# (Default: ${LB_ISO_PUBLISHER})
LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER}"
2007-09-23 08:04:52 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_ISO_VOLUME: set iso volume (max 32 chars)
# (Default: ${LB_ISO_VOLUME})
LB_ISO_VOLUME="${LB_ISO_VOLUME}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_JFFS2_ERASEBLOCK: set jffs2 eraseblock size
2008-03-01 11:19:54 -01:00
# (Default: unset)
2010-09-07 13:11:20 +00:00
LB_JFFS2_ERASEBLOCK=""
2008-03-01 11:19:54 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_MEMTEST: set memtest
# (Default: ${LB_MEMTEST})
LB_MEMTEST="${LB_MEMTEST}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_WIN32_LOADER: set win32-loader
# (Default: ${LB_WIN32_LOADER})
LB_WIN32_LOADER="${LB_WIN32_LOADER}"
2008-08-14 19:33:56 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_ROOT_FILESYSTEM: set netboot filesystem
# (Default: ${LB_NET_ROOT_FILESYSTEM})
LB_NET_ROOT_FILESYSTEM="${LB_NET_ROOT_FILESYSTEM}"
2007-10-30 17:17:16 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_ROOT_MOUNTOPTIONS: set nfsopts
2007-10-30 17:17:16 -01:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_NET_ROOT_MOUNTOPTIONS="${LB_NET_ROOT_MOUNTOPTIONS}"
2007-10-30 17:17:16 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_ROOT_PATH: set netboot server directory
# (Default: ${LB_NET_ROOT_PATH})
LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH}"
2007-10-30 17:17:16 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_ROOT_SERVER: set netboot server address
# (Default: ${LB_NET_ROOT_SERVER})
LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER}"
2007-10-30 17:17:16 -01:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_COW_FILESYSTEM: set net client cow filesystem
# (Default: ${LB_NET_COW_FILESYSTEM})
LB_NET_COW_FILESYSTEM="${LB_NET_COW_FILESYSTEM}"
2007-09-23 08:05:14 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_COW_MOUNTOPTIONS: set cow mount options
2007-09-23 08:05:14 +00:00
# (Default: empty)
2010-09-07 13:11:20 +00:00
LB_NET_COW_MOUNTOPTIONS="${LB_NET_COW_MOUNTOPTIONS}"
2007-09-23 08:05:14 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_COW_PATH: set cow directory
# (Default: ${LB_NET_COW_PATH})
LB_NET_COW_PATH="${LB_NET_COW_PATH}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_COW_SERVER: set cow server
# (Default: ${LB_NET_COW_SERVER})
LB_NET_COW_SERVER="${LB_NET_COW_SERVER}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_NET_TARBALL: set net tarball
# (Default: ${LB_NET_TARBALL})
LB_NET_TARBALL="${LB_NET_TARBALL}"
2008-02-26 17:57:41 -01:00
2010-11-02 09:19:42 -01:00
# \$LB_SYSLINUX_THEME: set syslinux theme package
# (Default: ${LB_SYSLINUX_THEME})
LB_SYSLINUX_THEME="${LB_SYSLINUX_THEME}"
2007-09-19 00:42:09 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_USERNAME: set username
# (Default: ${LB_USERNAME})
LB_USERNAME="${LB_USERNAME}"
2007-09-23 08:04:52 +00:00
EOF
2010-11-23 08:36:48 -01:00
# Creating lb_source_* configuration
2007-09-23 08:05:17 +00:00
cat > config/source << EOF
2010-09-02 11:22:22 +00:00
# config/source - options for live-build(7), source stage
2007-09-23 08:04:52 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_SOURCE: set source option
# (Default: ${LB_SOURCE})
LB_SOURCE="${LB_SOURCE}"
2007-09-23 08:04:46 +00:00
2010-09-07 13:11:20 +00:00
# \$LB_SOURCE_IMAGES: set image type
# (Default: ${LB_SOURCE_IMAGES})
LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES}"
2007-09-23 08:04:46 +00:00
EOF
2007-09-23 08:05:12 +00:00
2010-01-11 21:58:54 -01:00
mkdir -p auto/functions
2010-09-13 19:49:20 +00:00
mkdir -p auto/scripts
2008-09-17 09:07:44 +00:00
2007-09-23 08:05:17 +00:00
if [ "${CONFIG}" = "clone" ] # FIXME
2007-09-23 08:05:12 +00:00
then
# Read package selection
2010-11-23 10:31:15 -01:00
echo $(dpkg --get-selections | awk '{ print $1 }') > config/chroot_local-packagelists/local-system
LB_PACKAGE_LISTS="${LB_PACKAGE_LISTS} local-system"
2007-09-23 08:05:12 +00:00
# Read debconf questions
if [ ! -f /usr/bin/debconf-get-selections ]
then
Echo_warning "Please install 'debconf-utils' in order to use this feature."
else
debconf-get-selections | grep -v deinstall | cut -f1 > config/chroot_local-preseed/local-system
fi
fi
2008-10-14 19:32:50 +00:00
2010-01-12 03:36:45 -01:00
if [ "${BACKPORTS}" = "true" ]
then
# Adding sources.list entry
2010-09-07 13:11:20 +00:00
cat > config/chroot_sources/${LB_DISTRIBUTION}-backports.chroot << EOF
2010-01-12 03:36:45 -01:00
# Backports Maintainers
2010-10-12 09:04:10 +00:00
deb http://backports.debian.org/debian-backports/ ${LB_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}
deb-src http://backports.debian.org/debian-backports/ ${LB_DISTRIBUTION}-backports ${LB_ARCHIVE_AREAS}
2010-01-12 03:36:45 -01:00
EOF
2010-09-07 13:11:20 +00:00
cp config/chroot_sources/${LB_DISTRIBUTION}-backports.chroot config/chroot_sources/${LB_DISTRIBUTION}-backports.binary
2010-01-12 03:36:45 -01:00
# Adding apt preferences
2010-10-12 09:04:10 +00:00
if ! grep -qs "^Pin: release o=Debian Backports" config/chroot_apt/preferences
2010-01-12 03:36:45 -01:00
then
cat >> config/chroot_apt/preferences << EOF
Package: *
2010-10-12 09:04:10 +00:00
Pin: release o=Debian Backports
2010-01-12 03:36:45 -01:00
Pin-Priority: 999
EOF
fi
fi
2010-04-05 19:57:27 +00:00
# Checking defaults again
Check_defaults
2010-09-07 14:25:58 +00:00
if [ "${_CLEAN}" = "true" ]
then
# Remove empty directories in config tree
2010-09-16 22:47:25 +00:00
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 auto/functions > /dev/null 2>&1 || true
rmdir --ignore-fail-on-non-empty auto/scripts > /dev/null 2>&1 || true
rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true
2010-09-07 14:25:58 +00:00
fi
2008-10-14 19:32:50 +00:00
# Creating stage file
Create_stagefile .stage/config