diff --git a/debian/changelog b/debian/changelog index c17edeb..ce12263 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,105 @@ +live-build (1:20191220) unstable; urgency=medium + + * Fix "--debian-installer cdrom" and its interaction with binary_package-lists + apt-ftparchive is not able to differentiate between .deb and .udeb so + we have to install them in different pool directories so that we can + regenerate the Packages files without having the .udeb show up + unexpectedly. + Since binary_package-lists can overwrite the Packages files generated + in installer_debian-installer we have to ensure that it also updates + the Release file created formerly. + Ideally we should find a way to avoid the duplication of this logic. + * Bump Standards-Version to 4.4.1 + * Switch to debhelper compat level 12 + + -- Raphaël Hertzog Thu, 19 Dec 2019 19:16:08 +0100 + +live-build (1:20191219) unstable; urgency=medium + + [ Adrian Gibanel Lopez ] + * Fixed foreign architecture package support to linux kernel flavours + (Closes: #884553) + + [ Matthijs Kooijman ] + * Remove --templates from lb_config manpage + * Remove ldlinux.c32 for extlinux and syslinux + + [ Roland Clobus ] + * Updated URL in many places. + * Reenabled the command line option for colored messages for all scripts. + The functionality was added 2008-11-01, but was not really active. + * Removed obsolete short command line options. -f was --filesystem -l was + --language -p was --package-list -e was --encryption + * Do not store _QUIET in the configuration file, otherwise the overrides in + the command line get ignored. Adds a documentation line for the other + command line options as well. + * Removed option none for --apt-indices, which was removed in 3.0.2-1. + * Removed option --bootstrap, which is not implemented. + * Mention --breakpoints in 'lb config --help' + * Fixed a typo for --clean in 'lb config --help' + * Manpage: --binary-filesystem also accepts ntfs + * Matched the documentation of --checksums to the implementation in live-boot + * Manpage: Added documentation for --breakpoints + * Manpage: --compression also accepts xz. The default is none + * Manpage: --config synchronised to 'lb config --help' + * Manpage: Added documentation for --zsync + * Manpage: Removed references to command line options that are no longer in + the code: --firmware-binary --firmware-chroot --hooks + --parent-mirror-chroot-updates --parent-mirror-chroot-backports + --parent-mirror-binary-updates --parent-mirror-binary-backports + --mirror-chroot-updates --mirror-chroot-backports --mirror-binary-updates + --mirror-binary-backports --templates + * --initramfs support none and live-boot + * Manpage: Added documentation for --initsystem + * Manpage: Added documentation for --image-name + * Manpage: Added documentation for --hdd-label, --hdd-size and + --hdd-partition-start + * Manpage: --mode explicitly supports debian and progress-linux. Special + handling for ubuntu was dropped 2015-05-03 + * Manpage: --parent-archive-areas uses the same argument name as 'lb config + --help' + * Manpage: Added documentation for --firmware-binary and --firmware-chroot + * Manpage: Added documentation for --swap-file-path and --swap-file-size + * Manpage: Added documentation for --loadlin + * Manpage: Added documentation for --bootstrap-qemu-[arch|exclude|static] + * Reordered the command line options to make them in alphabetical order + * Manpage: added missing \fR tags + * Manpage: consistent use of whitespace in the command line option list + * Manpage: typo + * Manpage: Use alphabetical order for the description of the command line + options + * --mirror-binary* was not properly sorted + * Manpage: removed incorrect mentioning of the -d command line option + * Manpage: removed FIXME for the SYNOPSIS section, all options are now + listed + * Manpage: the configuration directory (config) cannot be modified + * Manpage: simplify the description + * Manpage: use 3rd person form when describing an option + * Manpage: Update the default values of --mirror-* and --parent-mirror-* + + [ adrian15 ] + * Readd findiso parametre to loopback.cfg generation. + + [ Raphaël Hertzog ] + * binary_package-lists: avoid messing with dpkg's status file + * chroot_live-packages: use dpkg-query to see if a package is installed + (Closes: #944983) + * Set default distribution to buster. + Thanks to Алексей Шилин (Closes: #934495) + * installer_debian-installer: don't mess with /var/lib/dpkg/status + * Tweak lintian overrides + * Support --distribution-binary and --distribution-chroot (Closes: #888507) + * Update my email in the Maintainer field. + + [ Ronny Standtke ] + * Run binary_hooks after binary_grub-efi (Closes: #940846) + + [ John Estabrook ] + * Add local archive keys before configuring local package repository + (Closes: #941691) + + -- Raphaël Hertzog Thu, 19 Dec 2019 18:56:00 +0100 + live-build (1:20190311) unstable; urgency=medium [ Hideki Yamane ] diff --git a/debian/compat b/debian/compat deleted file mode 100644 index f599e28..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/debian/control b/debian/control index e06630e..dc849ca 100644 --- a/debian/control +++ b/debian/control @@ -2,15 +2,15 @@ Section: misc Priority: optional Maintainer: Debian Live -Uploaders: Raphaël Hertzog , +Uploaders: Raphaël Hertzog , Luca Boccassi , Build-Depends: - debhelper (>= 10~), + debhelper-compat (= 12), po4a, gettext, -Standards-Version: 4.3.0 +Standards-Version: 4.4.1 Rules-Requires-Root: no -Homepage: https://debian-live.alioth.debian.org/live-build/ +Homepage: https://wiki.debian.org/DebianLive Vcs-Browser: https://salsa.debian.org/live-team/live-build Vcs-Git: https://salsa.debian.org/live-team/live-build.git diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml new file mode 100644 index 0000000..5f4bbdc --- /dev/null +++ b/debian/gitlab-ci.yml @@ -0,0 +1,12 @@ +image: registry.salsa.debian.org/salsa-ci-team/ci-image-git-buildpackage:latest + +pages: + stage: deploy + artifacts: + paths: + - public + only: + - master + script: + - gitlab-ci-git-buildpackage-all + - gitlab-ci-aptly diff --git a/debian/live-build.bug-presubj b/debian/live-build.bug-presubj index cb3dff7..af115d6 100644 --- a/debian/live-build.bug-presubj +++ b/debian/live-build.bug-presubj @@ -1,7 +1,7 @@ Before submitting a bug report against live-build, please make sure that you have read your guidelines for live systems bug reports: - https://debian-live.alioth.debian.org/live-manual/unstable/manual/html/live-manual.en.html + https://live-team.pages.debian.net/live-manual/ By providing the required information as outlined in the guidelines makes sure that we can optimally reproduce and fix bugs, not doing so wastes a diff --git a/debian/live-build.lintian-overrides b/debian/live-build.lintian-overrides index 898c0bc..b38180c 100644 --- a/debian/live-build.lintian-overrides +++ b/debian/live-build.lintian-overrides @@ -1,2 +1,6 @@ live-build: symlink-should-be-relative -live-build: depends-on-essential-package-without-using-version suggests: e2fsprogs +# Those cases are legitimate uses of direct access to the database +live-build: uses-dpkg-database-directly usr/lib/live/build/chroot_tmpfs +live-build: uses-dpkg-database-directly usr/lib/live/build/clean +live-build: uses-dpkg-database-directly usr/share/live/build/functions/chroot.sh +live-build: uses-dpkg-database-directly usr/share/live/build/hooks/normal/0110-remove-backup-files.hook.chroot diff --git a/functions/arguments.sh b/functions/arguments.sh index eede5c5..28e727a 100755 --- a/functions/arguments.sh +++ b/functions/arguments.sh @@ -10,7 +10,7 @@ Arguments () { - ARGUMENTS="$(getopt --longoptions breakpoints,conffile:,debug,force,help,quiet,usage,verbose,version --name=${PROGRAM} --options c:huv --shell sh -- "${@}")" + ARGUMENTS="$(getopt --longoptions breakpoints,color,conffile:,debug,force,help,quiet,usage,verbose,version --name=${PROGRAM} --options c:huv --shell sh -- "${@}")" if [ "${?}" != "0" ] then @@ -25,6 +25,11 @@ case "${1}" in --breakpoints) _BREAKPOINTS="true" + shift + ;; + + --color) + _COLOR="true" shift ;; diff --git a/functions/chroot.sh b/functions/chroot.sh index 88c5466..5d41087 100755 --- a/functions/chroot.sh +++ b/functions/chroot.sh @@ -36,3 +36,20 @@ return "${?}" } + +Chroot_has_package() { + PACKAGE="${1}"; shift + CHROOT="${2:-chroot}"; shift + + if dpkg-query --admindir=${CHROOT}/var/lib/dpkg -s ${PACKAGE} >/dev/null 2>&1 | grep -q "^Status: install" + then + return 0 + fi + return 1 +} + +Chroot_package_list() { + CHROOT="${1:-chroot}"; shift + + dpkg-query --admindir=${CHROOT}/var/lib/dpkg -W -f'${Package}\n' +} diff --git a/functions/defaults.sh b/functions/defaults.sh index c489551..a23424f 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -124,22 +124,23 @@ ;; *) - LB_DISTRIBUTION="${LB_DISTRIBUTION:-stretch}" + LB_DISTRIBUTION="${LB_DISTRIBUTION:-buster}" LB_DERIVATIVE="false" ;; esac + LB_DISTRIBUTION_CHROOT="${LB_DISTRIBUTION_CHROOT:-${LB_DISTRIBUTION}}" + LB_DISTRIBUTION_BINARY="${LB_DISTRIBUTION_BINARY:-${LB_DISTRIBUTION_CHROOT}}" + case "${LB_MODE}" in progress-linux) case "${LB_DISTRIBUTION}" in baureo|baureo-backports) LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-wheezy}" - LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}" ;; cairon|cairon-backports) LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-sid}" - LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}" ;; esac @@ -147,12 +148,17 @@ ;; *) - LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-${LB_DISTRIBUTION}}" - LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}" - LB_BACKPORTS="${LB_BACKPORTS:-false}" ;; esac + if [ -n "$LB_PARENT_DISTRIBUTION" ]; then + LB_PARENT_DISTRIBUTION_CHROOT="${LB_PARENT_DISTRIBUTION_CHROOT:-${LB_PARENT_DISTRIBUTION}}" + LB_PARENT_DISTRIBUTION_BINARY="${LB_PARENT_DISTRIBUTION_BINARY:-${LB_PARENT_DISTRIBUTION}}" + else + LB_PARENT_DISTRIBUTION_CHROOT="${LB_PARENT_DISTRIBUTION_CHROOT:-${LB_DISTRIBUTION_CHROOT}}" + LB_PARENT_DISTRIBUTION_BINARY="${LB_PARENT_DISTRIBUTION_BINARY:-${LB_DISTRIBUTION_BINARY}}" + fi + LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION_CHROOT}}" # Setting package manager LB_APT="${LB_APT:-apt}" @@ -407,27 +413,27 @@ # Setting linux flavour string case "${LB_ARCHITECTURES}" in arm64) - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-arm64}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-arm64}" ;; armel) # armel will have special images: one rootfs image and many additional kernel images. # therefore we default to all available armel flavours - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-marvell}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-marvell}" ;; armhf) # armhf will have special images: one rootfs image and many additional kernel images. # therefore we default to all available armhf flavours - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-armmp armmp-lpae}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-armmp armmp-lpae}" ;; amd64) - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-amd64}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-amd64}" ;; i386) - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-686-pae}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-686-pae}" ;; ia64) @@ -438,7 +444,7 @@ ;; *) - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-itanium}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-itanium}" ;; esac ;; @@ -451,7 +457,7 @@ ;; *) - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc64 powerpc}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-powerpc64 powerpc}" ;; esac ;; @@ -464,7 +470,7 @@ ;; *) - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-s390x}" + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH:-s390x}" ;; esac ;; @@ -475,11 +481,19 @@ ;; esac + LB_LINUX_FLAVOURS="" + for FLAVOUR in ${LB_LINUX_FLAVOURS_WITH_ARCH} + do + ARCH_FILTERED_FLAVOUR="$(echo ${FLAVOUR} | awk -F':' '{print $1}')" + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS} ${ARCH_FILTERED_FLAVOUR}" + done + + # Set linux packages LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES:-linux-image}" # Setting security updates option - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_BINARY}" in sid) LB_SECURITY="${LB_SECURITY:-false}" ;; @@ -490,7 +504,7 @@ esac # Setting updates updates option - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_BINARY}" in sid) LB_UPDATES="${LB_UPDATES:-false}" ;; @@ -651,7 +665,7 @@ esac # Set iso preparer - LB_ISO_PREPARER="${LB_ISO_PREPARER:-live-build \$VERSION; https://debian-live.alioth.debian.org/live-build}" + LB_ISO_PREPARER="${LB_ISO_PREPARER:-live-build \$VERSION; https://salsa.debian.org/live-team/live-build}" # Set iso publisher case "${LB_MODE}" in @@ -660,7 +674,7 @@ ;; *) - LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER:-Live Systems project; https://debian-live.alioth.debian.org/; debian-live@lists.debian.org}" + LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER:-Live Systems project; https://wiki.debian.org/DebianLive; debian-live@lists.debian.org}" ;; esac diff --git a/functions/echo.sh b/functions/echo.sh index 96b742c..40e76ea 100755 --- a/functions/echo.sh +++ b/functions/echo.sh @@ -193,7 +193,7 @@ Echo_breakage () { - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_BINARY}" in sid) Echo_message "If the following stage fails, the most likely cause of the problem is with your mirror configuration, a caching proxy or the sid distribution." ;; diff --git a/functions/help.sh b/functions/help.sh index f48d2a9..acd9d04 100755 --- a/functions/help.sh +++ b/functions/help.sh @@ -31,6 +31,6 @@ echo fi - Echo "Report bugs to the Live Systems project ." + Echo "Report bugs to the Live Systems project ." exit 0 } diff --git a/manpages/Makefile b/manpages/Makefile index 563ca50..e7eae19 100644 --- a/manpages/Makefile +++ b/manpages/Makefile @@ -42,7 +42,7 @@ @if [ ! -x "$$(which po4a 2>/dev/null)" ]; \ then \ echo "E: po4a - command not found"; \ - echo "I: po4a can be obtained from http://po4a.alioth.debian.org/"; \ + echo "I: po4a can be obtained from https://po4a.org"; \ echo "I: On Debian based systems, po4a can be installed with 'apt-get install po4a'."; \ exit 1; \ fi diff --git a/manpages/en/lb.1 b/manpages/en/lb.1 index e9654cf..236c313 100644 --- a/manpages/en/lb.1 +++ b/manpages/en/lb.1 @@ -25,7 +25,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_binary.1 b/manpages/en/lb_binary.1 index 6bd1c47..584751b 100644 --- a/manpages/en/lb_binary.1 +++ b/manpages/en/lb_binary.1 @@ -23,7 +23,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_bootstrap.1 b/manpages/en/lb_bootstrap.1 index e479396..a56057b 100644 --- a/manpages/en/lb_bootstrap.1 +++ b/manpages/en/lb_bootstrap.1 @@ -23,7 +23,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_build.1 b/manpages/en/lb_build.1 index 489aa4e..ee6a170 100644 --- a/manpages/en/lb_build.1 +++ b/manpages/en/lb_build.1 @@ -25,7 +25,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_chroot.1 b/manpages/en/lb_chroot.1 index 5de917c..dbc1102 100644 --- a/manpages/en/lb_chroot.1 +++ b/manpages/en/lb_chroot.1 @@ -23,7 +23,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_clean.1 b/manpages/en/lb_clean.1 index bc50c00..8044ac1 100644 --- a/manpages/en/lb_clean.1 +++ b/manpages/en/lb_clean.1 @@ -46,7 +46,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index ac562d2..df6757c 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -6,7 +6,6 @@ .SH SYNOPSIS \fBlb config\fR [\fIlive\-build options\fR] .PP -.\" FIXME \fBlb config\fR .br [\fB\-\-apt\fR apt|aptitude] @@ -19,22 +18,26 @@ .br [\fB\-\-apt\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] .br + [\fB\-\-apt\-pipeline\fR \fIDEPTH\fR] +.br + [\fB\-\-apt\-recommends\fR true|false] +.br + [\fB\-\-apt\-secure\fR true|false] +.br + [\fB\-\-apt\-source\-archives\fR true|false] +.br [\fB\-\-aptitude\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] .br - [\fB\-\-apt\-pipeline\fR \fIDEPTH\fR] -.br - [\fB\-\-apt\-recommends\fR true|false] -.br - [\fB\-\-apt\-secure\fR true|false] -.br - [\fB\-\-apt\-source\-archives\fR true|false] -.br [\-a|\fB\-\-architectures\fR \fIARCHITECTURE\fR] .br + [\fB\-\-archive\-areas\fR \fIARCHIVE_AREA\fR|\fI"ARCHIVE_AREAS"\fR] +.br + [\fB\-\-backports\fR true|false] +.br + [\fB\-\-binary\-filesystem\fR fat16|fat32|ext2|ext3|ext4|ntfs] +.br [\-b|\fB\-\-binary\-images\fR iso|iso\-hybrid|netboot|tar|hdd] .br - [\fB\-\-binary\-filesystem\fR fat16|fat32|ext2|ext3|ext4] -.br [\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] .br [\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] @@ -43,6 +46,16 @@ .br [\fB\-\-bootloaders\fR grub-legacy|grub-pc|syslinux|grub-efi] .br + [\fB\-\-bootstrap\-qemu\-arch \fIARCH\fR] +.br + [\fB\-\-bootstrap\-qemu\-exclude \fIPACKAGES\fR] +.br + [\fB\-\-bootstrap\-qemu\-static \fIPATH\fR] +.br + [\fB\-\-breakpoints] +.br + [\fB\-\-build\-with\-chroot\fR true|false] +.br [\fB\-\-cache\fR true|false] .br [\fB\-\-cache\-indices\fR true|false] @@ -51,20 +64,20 @@ .br [\fB\-\-cache\-stages\fR \fISTAGE\fR|\fI"STAGES"\fR] .br - [\fB\-\-checksums\fR md5|sha1|sha256|none] -.br - [\fB\-\-compression\fR bzip2|gzip|lzip|none] -.br - [\fB\-\-config\fR \fIGIT_URL::GIT_ID\fR] -.br - [\fB\-\-build\-with\-chroot\fR true|false] + [\fB\-\-checksums\fR md5|sha1|sha224|sha256|sha384|sha512|none] .br [\fB\-\-chroot\-filesystem\fR ext2|ext3|ext4|squashfs|jffs2|none] .br [\fB\-\-clean\fR] .br + [\fB\-\-color] +.br + [\fB\-\-compression\fR bzip2|gzip|lzip|xz|none] +.br [\-c|\fB\-\-conffile\fR \fIFILE\fR] .br + [\fB\-\-config\fR \fIGIT_URL::GIT_BRANCH\fR] +.br [\fB\-\-debconf\-frontend\fR dialog|editor|noninteractive|readline] .br [\fB\-\-debconf\-priority\fR low|medium|high|critical] @@ -73,10 +86,10 @@ .br [\fB\-\-debian\-installer\-distribution\fR daily|\fICODENAME\fR] .br + [\fB\-\-debian\-installer\-gui\fR true|false] +.br [\fB\-\-debian\-installer\-preseedfile\fR \fIFILE\fR|\fIURL\fR] .br - [\fB\-\-debian\-installer\-gui\fR true|false] -.br [\fB\-\-debootstrap\-options\fR \fIOPTIONS\fR] .br [\fB\-\-debootstrap\-script\fR \fISCRIPT\fR] @@ -85,57 +98,115 @@ .br [\-d|\fB\-\-distribution\fR \fICODENAME\fR] .br + [\fB\-\-distribution\-chroot\fR \fICODENAME\fR] +.br + [\fB\-\-distribution\-binary\fR \fICODENAME\fR] +.br + [\fB\-\-dump\fR] +.br + [\fB\-\-fdisk\fR fdisk|fdisk.dist] +.br + [\fB\-\-firmware\-binary\fR true|false] +.br + [\fB\-\-firmware\-chroot\fR true|false] +.br + [\fB\-\-force\fR] +.br + [\fB\-\-grub\-splash\fR \fIFILE\fR] +.br + [\fB\-\-gzip\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] +.br + [\fB\-\-hdd\-label\fR \fILABEL\fR] +.br + [\fB\-\-hdd\-partition\-start\fR \fISTART\fR] +.br + [\fB\-\-hdd\-size\fR \fISIZE\fR] +.br + [\fB\-\-ignore\-system\-defaults\fR] +.br + [\fB\-\-image\-name\fR \fINAME\fR] +.br + [\fB\-\-initramfs\fR none|live\-boot] +.br + [\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] +.br + [\fB\-\-initsystem\fR sysvinit|systemd|none] +.br + [\fB\-\-interactive\fR shell] +.br + [\fB\-\-iso\-application\fR \fINAME\fR] +.br + [\fB\-\-iso\-preparer\fR \fINAME\fR] +.br + [\fB\-\-iso\-publisher\fR \fINAME\fR] +.br + [\fB\-\-iso\-volume\fR \fINAME\fR] +.br + [\fB\-\-isohybrid\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] +.br + [\fB\-\-jffs2\-eraseblock\fR \fISIZE\fR] +.br + [\fB\-\-keyring\-packages\fR \fIPACKAGE\fI|\fI"PACKAGES"\fR] +.br + [\-k|\fB\-\-linux\-flavours\fR \fIFLAVOUR\fR|\fI"FLAVOURS"\fR] +.br + [\fB\-\-linux\-packages\fR \fI"PACKAGES"\fR] +.br + [\fB\-\-loadlin\fR true|false] +.br + [\fB\-\-losetup\fR losetup|losetup.orig] +.br + [\fB\-\-memtest\fR memtest86+|memtest86|none] +.br + [\fB\-\-mirror\-binary\fR \fIURL\fR] +.br + [\fB\-\-mirror\-binary\-security\fR \fIURL\fR] +.br + [\fB\-\-mirror\-bootstrap\fR \fIURL\fR] +.br + [\fB\-\-mirror\-chroot\fR \fIURL\fR] +.br + [\fB\-\-mirror\-chroot\-security\fR \fIURL\fR] +.br + [\fB\-\-mirror\-debian\-installer\fR \fIURL\fR] +.br + [\fB\-\-mode\fR debian|progress-linux] +.br + [\fB\-\-net\-cow\-filesystem\fR nfs|cfs] +.br + [\fB\-\-net\-cow\-mountoptions\fR \fIOPTIONS\fR] +.br + [\fB\-\-net\-cow\-path\fR \fIPATH\fR] +.br + [\fB\-\-net\-cow\-server\fR \fIIP\fR|\fIHOSTNAME\fR] +.br + [\fB\-\-net\-root\-filesystem\fR nfs|cfs] +.br + [\fB\-\-net\-root\-mountoptions\fR \fIOPTIONS\fR] +.br + [\fB\-\-net\-root\-path\fR \fIPATH\fR] +.br + [\fB\-\-net\-root\-server\fR \fIIP\fR|\fIHOSTNAME\fR] +.br + [\fB\-\-net\-tarball\fR true|false] +.br + [\fB\-\-onie\fR true|false] +.br + [\fB\-\-onie\-kernel\-cmdline\fR \fI"OPTION1 OPTION2"\fR] +.br + [\fB\-\-parent\-archive\-areas\fR \fIARCHIVE_AREA\fR|\fI"ARCHIVE_AREAS"\fR] +.br + [\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR] +.br [\fB\-\-parent\-distribution\fR \fICODENAME\fR] .br - [\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR] -.br - [\fB\-\-dump\fR] -.br - [\fB\-\-fdisk\fR fdisk|fdisk.dist] -.br - [\fB\-\-firmware\-binary true|false\fR] -.br - [\fB\-\-firmware\-chroot true|false\fR] -.br - [\fB\-\-force\fR] -.br - [\fB\-\-grub\-splash\fR \fIFILE\fR] -.br - [\fB\-\-gzip\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] -.br - [\fB\-\-hooks\fR \fIFILE\fR] -.br - [\fB\-\-ignore\-system\-defaults\fR] -.br - [\fB\-\-initramfs\fR auto|none|live\-boot|casper] -.br - [\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] -.br - [\fB\-\-initsystem\fR sysvinit|runit|systemd|upstart|none] -.br - [\fB\-\-interactive\fR shell] -.br - [\fB\-\-isohybrid\-options\fR \fIOPTION\fR|"\fIOPTIONS\fR"] -.br - [\fB\-\-iso\-application\fR \fINAME\fR] -.br - [\fB\-\-iso\-preparer\fR \fINAME\fR] -.br - [\fB\-\-iso\-publisher\fR \fINAME\fR] -.br - [\fB\-\-iso\-volume\fR \fINAME\fR] -.br - [\fB\-\-jffs2\-eraseblock\fR \fISIZE\fR] -.br - [\fB\-\-keyring\-packages\fR \fIPACKAGE\fI|\fI"PACKAGES"\fR] -.br - [\-k|\fB\-\-linux\-flavours\fR \fIFLAVOUR\fR|\fI"FLAVOURS"\fR] -.br - [\fB\-\-linux\-packages\fR \fI"PACKAGES"\fR] -.br - [\fB\-\-losetup\fR losetup|losetup.orig] -.br - [\fB\-\-memtest\fR memtest86+|memtest86|none] + [\fB\-\-parent\-distribution\-chroot\fR \fICODENAME\fR] +.br + [\fB\-\-parent\-distribution\-binary\fR \fICODENAME\fR] +.br + [\fB\-\-parent\-mirror\-binary\fR \fIURL\fR] +.br + [\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR] .br [\-m|\fB\-\-parent\-mirror\-bootstrap\fR \fIURL\fR] .br @@ -143,103 +214,40 @@ .br [\fB\-\-parent\-mirror\-chroot\-security\fR \fIURL\fR] .br - [\fB\-\-parent\-mirror\-chroot\-updates\fR \fIURL\fR] -.br - [\fB\-\-parent\-mirror\-chroot\-backports\fR \fIURL\fR] -.br - [\fB\-\-parent\-mirror\-binary\fR \fIURL\fR] -.br - [\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR] -.br - [\fB\-\-parent\-mirror\-binary\-updates\fR \fIURL\fR] -.br - [\fB\-\-parent\-mirror\-binary\-backports\fR \fIURL\fR] -.br [\fB\-\-parent\-mirror\-debian\-installer\fR \fIURL\fR] .br - [\fB\-\-mirror\-bootstrap\fR \fIURL\fR] -.br - [\fB\-\-mirror\-chroot\fR \fIURL\fR] -.br - [\fB\-\-mirror\-chroot\-security\fR \fIURL\fR] -.br - [\fB\-\-mirror\-chroot\-updates\fR \fIURL\fR] -.br - [\fB\-\-mirror\-chroot\-backports\fR \fIURL\fR] -.br - [\fB\-\-mirror\-binary\fR \fIURL\fR] -.br - [\fB\-\-mirror\-binary\-security\fR \fIURL\fR] -.br - [\fB\-\-mirror\-binary\-updates\fR \fIURL\fR] -.br - [\fB\-\-mirror\-binary\-backports\fR \fIURL\fR] -.br - [\fB\-\-mirror\-debian\-installer\fR \fIURL\fR] -.br - [\fB\-\-mode\fR debian|progress-linux|ubuntu] + [\fB\-\-quiet\fR] +.br + [\fB\-\-security\fR true|false] +.br + [\fB\-\-source\fR true|false] +.br + [\-s|\fB\-\-source\-images\fR iso|netboot|tar|hdd] +.br + [\fB\-\-swap\-file\-path PATH] +.br + [\fB\-\-swap\-file\-size MB] .br [\fB\-\-system\fR live|normal] .br - [\fB\-\-net\-root\-filesystem\fR nfs|cfs] -.br - [\fB\-\-net\-root\-mountoptions\fR \fIOPTIONS\fR] -.br - [\fB\-\-net\-root\-path\fR \fIPATH\fR] -.br - [\fB\-\-net\-root\-server\fR \fIIP\fR|\fIHOSTNAME\fR] -.br - [\fB\-\-net\-cow\-filesystem\fR nfs|cfs] -.br - [\fB\-\-net\-cow\-mountoptions\fR \fIOPTIONS\fR] -.br - [\fB\-\-net\-cow\-path\fR \fIPATH\fR] -.br - [\fB\-\-net\-cow\-server\fR \fIIP\fR|\fIHOSTNAME\fR] -.br - [\fB\-\-net\-tarball\fR true|false] -.br - [\fB\-\-onie\fR true|false] -.br - [\fB\-\-onie\-kernel\-cmdline\fR \fI"OPTION1 OPTION2"\fR] -.br - [\fB\-\-quiet\fR] -.br - [\fB\-\-archive\-areas\fR \fIARCHIVE_AREA\fR|\fI"ARCHIVE_AREAS"\fR] -.br - [\fB\-\-parent\-archive\-areas\fR \fIPARENT_ARCHIVE_AREA\fR|\fI"PARENT_ARCHIVE_AREAS"\fR] -.br - [\fB\-\-security\fR true|false] -.br - [\fB\-\-source\fR true|false] -.br - [\-s|\fB\-\-source\-images\fR iso|netboot|tar|hdd] -.br [\fB\-\-tasksel\fR apt|aptitude|tasksel] .br - [\fB\-\-templates\fR \fIPATH\fR] -.br [\fB\-\-uefi\-secure\-boot\fR \fIauto|enable|disable\fR] .br - [\fB\-\-hdd\-size \fIMB\fR] -.br [\fB\-\-updates\fR true|false] .br - [\fB\-\-backports\fR true|false] -.br [\fB\-\-verbose\fR] .br - [\fB\-\-win32\-loader true|false] -.\" FIXME + [\fB\-\-win32\-loader\fR true|false] +.br + [\fB\-\-zsync\fR true|false] .SH DESCRIPTION \fBlb config\fR is a high\-level command (porcelain) of \fIlive\-build\fR(7), the live systems tool suite. .PP -.\" FIXME -\fBlb config\fR populates the configuration directory for live\-build. By default, this directory is named 'config' and is created in the current directory where \fBlb config\fR was executed. -.PP -Note: Currently \fBlb config\fR tries to be smart and sets defaults for some options depending on the setting of other options (e.g. which linux packages to be used depending on if a wheezy system gets build or not). This means that when generating a new configuration, you should call \fBlb config\fR only once with all options specified. Calling it several times with only a subset of the options each can result in non working configurations. This is also caused by the fact that \fBlb config\fR called with one option only changes that option, and leaves everything else as is unless its not defined. However, \fBlb config\fR does warn about know impossible or likely impossible combinations that would lead to non working live systems. If unsure, remove config/{binary,bootstrap,chroot,common,source} and call \fBlb config\fR again. -.\" FIXME +\fBlb config\fR populates the configuration directory for live\-build. This directory is named 'config' and is created in the current directory where \fBlb config\fR was executed. +.PP +Note: \fBlb config\fR tries to be smart and sets defaults for some options depending on the setting of other options. This means that when generating a new configuration, you should call \fBlb config\fR only once with all options specified. Calling it several times with only a subset of the options each can result in non working configurations. This is also caused by the fact that \fBlb config\fR called with one option only changes that option, and leaves everything else as is unless it is not defined. However, \fBlb config\fR does warn about know impossible or likely impossible combinations that would lead to non working live systems. If unsure, remove config/{binary,bootstrap,chroot,common,source} and call \fBlb config\fR again. .SH OPTIONS In addition to its specific options \fBlb config\fR understands all generic live\-build options. See \fIlive\-build\fR(7) for a complete list of all generic live\-build options. @@ -251,12 +259,10 @@ sets the ftp proxy to be used by apt. By default, this is empty. Note that this variable is only for the proxy that gets used by apt internally within the chroot, it is not used for anything else. .IP "\fB\-\-apt\-http\-proxy\fR \fIURL\fR" 4 sets the http proxy to be used by apt. By default, this is empty. Note that this variable is only for the proxy that gets used by apt internally within the chroot, it is not used for anything else. -.IP "\fB\-\-apt\-indices\fR true|false|none" 4 -defines if the resulting images should have apt indices or not and defaults to true. If set to none, no indices are included at all. +.IP "\fB\-\-apt\-indices\fR true|false" 4 +defines if the resulting images should have apt indices or not and defaults to true. .IP "\fB\-\-apt\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 defines the default options that will be appended to every apt call that is made inside chroot during the building of the image. By default, this is set to \-\-yes to allow non-interactive installation of packages. -.IP "\fB\-\-aptitude\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 -defines the default options that will be appended to every aptitude call that is made inside chroot during building of the image. By default, this is set to \-\-assume\-yes to allow non-interactive installation of packages. .IP "\fB\-\-apt\-pipeline\fR \fIDEPTH\fR" 4 sets the depth of the apt/aptitude pipeline. In cases where the remote server is not RFC conforming or buggy (such as Squid 2.0.2) this option can be a value from 0 to 5 indicating how many outstanding requests APT should send. A value of zero MUST be specified if the remote host does not properly linger on TCP connections \- otherwise data corruption will occur. Hosts which require this are in violation of RFC 2068. By default, live\-build does not set this option. .IP "\fB\-\-apt\-recommends\fR true|false" 4 @@ -265,12 +271,18 @@ defines if apt should check repository signatures. This is true by default. .IP "\fB\-\-apt\-source\-archives\fR true|false" 4 defines if deb-src entries should be included in the resulting live image or not, defaults to true. +.IP "\fB\-\-aptitude\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 +defines the default options that will be appended to every aptitude call that is made inside chroot during building of the image. By default, this is set to \-\-assume\-yes to allow non-interactive installation of packages. .IP "\-a|\fB\-\-architectures\fR \fIARCHITECTURE\fR" 4 defines the architecture of the to be build image. By default, this is set to the host architecture. Note that you cannot crossbuild for another architecture if your host system is not able to execute binaries for the target architecture natively. For example, building amd64 images on i386 and vice versa is possible if you have a 64bit capable i386 processor and the right kernel. But building powerpc images on an i386 system is not possible. +.IP "\fB\-\-archive\-areas\fR \fIARCHIVE_AREA\fR|""\fIARCHIVE_AREAS\fR""" 4 +defines which package archive areas of a debian packages archive should be used for configured debian package mirrors. By default, this is set to main. Remember to check the licenses of each packages with respect to their redistributability in your juristiction when enabling contrib or non\-free with this mechanism. +.IP "\fB\-\-backports\fR true|false" 4 +defines if debian backports package archives should be included in the image or not. +.IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2|ext3|ext4|ntfs" 4 +defines the filesystem to be used in the image type. This only has an effect if the selected binary image type lets you choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext4. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32. .IP "\-b|\fB\-\-binary\-images\fR iso|iso\-hybrid|netboot|tar|hdd" 4 defines the image type to build. By default, for images using syslinux this is set to iso\-hybrid to build CD/DVD images that may also be used like hdd images, for non\-syslinux images, it defaults to iso. -.IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2|ext3|ext4" 4 -defines the filesystem to be used in the image type. This only has an effect if the selected binary image type lets you choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext4. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32. .IP "\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 sets boot parameters specific to debian\-installer, if included. .IP "\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 @@ -279,28 +291,38 @@ sets boot parameters specific to debian\-live failsafe boot entries. A complete list of boot parameters can be found in the \fIlive\-boot\fR(7) and \fIlive\-config\fR(7) manual pages. .IP "\fB\-\-bootloaders\fR grub-legacy|grub-pc|syslinux|grub-efi" 4 defines which bootloader is being used in the generated image. This has only an effect if the selected binary image type lets you choose the bootloader. For example, if you build a iso, always syslinux (or more precise, isolinux) is being used. Also note that some combinations of binary images types and bootloaders may be possible but live\-build does not support them yet. \fBlb config\fR will fail to create such a not yet supported configuration and give a explanation about it. For hdd images on amd64 and i386, the default is syslinux. +.IP "\fB\-\-bootstrap\-qemu\-arch \fIARCH\fR" 4 +sets the architectures to use foreign bootstrap. Defaults to empty. +.IP "\fB\-\-bootstrap\-qemu\-exclude \fIPACKAGES\fR" 4 +sets the packages to exclude during foreign bootstrap. Defaults to empty. +.IP "\fB\-\-bootstrap\-qemu\-static \fIPATH\fR" 4 +sets the static qemu binary for foreign bootstrap. Defaults to empty. +.IP "\fB\-\-breakpoints\fR" 4 +inserts pauses during the generation of the image. +.IP "\fB\-\-build\-with\-chroot\fR true|false" 4 +defines whether live\-build should use the tools from within the chroot to build the binary image or not by using and including the host system's tools. This is a very dangerous option, using the tools of the host system can lead to tainted and even non-bootable images if the host systems version of the required tools (mainly these are the bootloaders such as syslinux and grub, and the auxiliary tools such as dosfstools, xorriso, squashfs-tools and others) do not \fBexactly\fR match what is present at build-time in the target distribution. Never do disable this option unless you are \fBexactly\fR sure what you are doing and have \fBcompletely\fI understood its consequences. .IP "\fB\-\-cache\fR true|false" 4 defines globally if any cache should be used at all. Different caches can be controlled through the their own options. .IP "\fB\-\-cache\-indices\fR true|false" 4 defines if downloaded package indices and lists should be cached which is false by default. Enabling it lets you rebuild an image completely offline, however, you would not get updates anymore then. .IP "\fB\-\-cache\-packages\fR true|false" 4 defines if downloaded packages files should be cached which is true by default. Disabling it does save space consumption in your build directory, but remember that you will cause much unnecessary traffic if you do a couple of rebuilds. In general you should always leave it true, however, in some particular rare build setups, it can be faster to refetch packages from the local network mirror rather than to utilize the local disk. -.IP "\fB\-\-cache\-stages\fR true|false|\fISTAGE\fR|""\fISTAGES\fR""" 4 +.IP "\fB\-\-cache\-stages\fR \fISTAGE\fR|""\fISTAGES\fR""" 4 sets which stages should be cached. By default set to bootstrap. As an exception to the normal stage names, also rootfs can be used here which does only cache the generated root filesystem in filesystem.{dir,ext*,squashfs}. This is useful during development if you want to rebuild the binary stage but not regenerate the root filesystem all the time. -.IP "\fB\-\-checksums\fR md5|sha1|sha256|none" 4 -defines if the binary image should contain a file called md5sums.txt, sha1sums.txt and/or sha256sums.txt. These lists all files on the image together with their checksums. This in turn can be used by live\-boot's built\-in integrity\-check to verify the medium if specified at boot prompt. In general, this should not be false and is an important feature of live system released to the public. However, during development of very big images it can save some time by not calculating the checksums. -.IP "\fB\-\-compression\fR bzip2|gzip|lzip|none" 4 -defines the compression program to be used to compress tarballs. Defaults to gzip. -.IP "\fB\-\-config\fR \fIGIT_URL\fR::\fIGIT_ID\fR" 4 -bootstrap the config tree from a git repository, optionally appended by a Git Id (branch, commit, tag, etc.). -.IP "\fB\-\-build\-with\-chroot\fR true|false" 4 -defines whether live\-build should use the tools from within the chroot to build the binary image or not by using and including the host system's tools. This is a very dangerous option, using the tools of the host system can lead to tainted and even non-bootable images if the host systems version of the required tools (mainly these are the bootloaders such as syslinux and grub, and the auxiliary tools such as dosfstools, xorriso, squashfs-tools and others) do not \fBexactly\fR match what is present at build-time in the target distribution. Never do disable this option unless you are \fBexactly\fR sure what you are doing and have \fBcompletely\fI understood its consequences. +.IP "\fB\-\-checksums\fR md5|sha1|sha224|sha256|sha384|sha512|none" 4 +defines if the binary image should contain a file called XXXsums.txt, where XXX is one of the mentioned checksum types. This file lists all files on the image together with their checksums. This in turn can be used by \fIlive\-boot\fR(7)'s built\-in integrity\-check to verify the medium if specified at boot prompt. In general, this should not be none and is an important feature of live system released to the public. However, during development of very big images it can save some time by not calculating the checksums. .IP "\fB\-\-chroot\-filesystem\fR ext2|ext3|ext4|squashfs|jffs2|none" 4 defines which filesystem type should be used for the root filesystem image. If you use none, then no filesystem image is created and the root filesystem content is copied on the binary image filesystem as flat files. Depending on what binary filesystem you have chosen, it may not be possible to build with such a plain root filesystem, e.g. fat16/fat32 will not work as linux does not support to run directly on them. .IP "\fB\-\-clean\fR" 4 minimizes config directory by automatically removing unused and thus empty subdirectories. +.IP "\fB\-\-color\fR" 4 +turns on color in the messages. +.IP "\fB\-\-compression\fR bzip2|gzip|lzip|xz|none" 4 +defines the compression program to be used to compress tarballs. Defaults to none. .IP "\-c|\fB\-\-conffile\fR \fIFILE\fR" 4 -using a user specified alternative configuration file in addition to the normally used one in the config directory. +uses a user specified alternative configuration file in addition to the normally used one in the config directory. +.IP "\fB\-\-config\fR \fIGIT_URL\fR::\fIGIT_BRANCH\fR" 4 +bootstraps the config tree from a git repository, optionally appended by a Git Id (branch, commit, tag, etc.). .IP "\fB\-\-debconf\-frontend\fR dialog|editor|noninteractive|readline" 4 defines what value the debconf frontend should be set to inside the chroot. Note that setting it to anything but noninteractive, which is the default, makes your build asking questions during the build. .IP "\fB\-\-debconf\-priority\fR low|medium|high|critical" 4 @@ -309,108 +331,107 @@ defines which type, if any, of the debian\-installer should be included in the resulting binary image. By default, no installer is included. All available flavours except live are the identical configurations used on the installer media produced by regular debian\-cd. When live is chosen, the live\-installer udeb is included so that debian\-installer will behave different than usual \- instead of installing the debian system from packages from the medium or the network, it installs the live system to the disk. .IP "\fB\-\-debian\-installer\-distribution\fR daily|\fICODENAME\fR" 4 defines the distribution where the debian\-installer files should be taken out from. Normally, this should be set to the same distribution as the live system. However, some times, one wants to use a newer or even daily built installer. +.IP "\fB\-\-debian\-installer\-gui\fR true|false" 4 +defines if the debian\-installer graphical GTK interface should be true or not. In Debian mode and for most versions of Ubuntu, this option is true, whereas otherwise false, by default. .IP "\fB\-\-debian\-installer\-preseedfile\fR \fIFILE\fR|\fIURL\fR" 4 sets the filename or URL for an optionally used and included preseeding file for debian\-installer. If config/binary_debian\-installer/preseed.cfg exists, it will be used by default. -.IP "\fB\-\-debian\-installer\-gui\fR true|false" 4 -defines if the debian\-installer graphical GTK interface should be true or not. In Debian mode and for most versions of Ubuntu, this option is true, whereas otherwise false, by default. .IP "\fB\-\-debootstrap\-options\fR \fIOPTIONS\fR" 4 passes the given options to debootstrap when setting up the base system. .IP "\fB\-\-debootstrap\-script\fR \fISCRIPT\fR" 4 tells debootstrap to use an alternate bootstrap script (last parameter to debootstrap). .IP "\fB\-\-debug\fR" 4 -turn on debugging informational messages. +turns on debugging informational messages. .IP "\-d|\fB\-\-distribution\fR \fICODENAME\fR" 4 defines the distribution of the resulting live system. -.IP "\-d|\fB\-\-parent\-distribution\fR \fICODENAME\fR" 4 -defines the parent distribution for derivatives of the resulting live system. -.IP "\-d|\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR" 4 -defines the parent debian\-installer distribution for derivatives of the resulting live system. +.IP "\fB\-\-distribution\-binary\fR \fICODENAME\fR" 4 +defines the distribution enabled in the resulting live system (defaults to the value set in \fB\-\-distribution\fR) +.IP "\fB\-\-distribution\-chroot\fR \fICODENAME\fR" 4 +defines the distribution used to build the live system (defaults to the value set in \fB\-\-distribution\fR) .IP "\fB\-\-dump\fR" 4 prepares a report of the currently present live system configuration and the version of live\-build used. This is useful to provide if you submit bug reports, we do get all information required for us to locate and replicate an error. .IP "\fB\-\-fdisk\fR fdisk|fdisk.dist" 4 sets the filename of the fdisk binary from the host system that should be used. This is autodetected and does generally not need any customization. +.IP "\fB\-\-firmware\-binary\fR true|false" 4 +includes firmware packages in debian-installer. Defaults to true. +.IP "\fB\-\-firmware\-chroot\fR true|false" 4 +includes firmware packages in debian-installer. Defaults to true. .IP "\fB\-\-force\fR" 4 forces re\-execution of already run stages. Use only if you know what you are doing. It is generally safer to use \fBlb clean\fR to clean up before re\-executing \fBlb build\fR. .IP "\fB\-\-grub\-splash\fR \fIFILE\fR" 4 defines the name of an optional to be included splash screen graphic for the grub bootloader. .IP "\fB\-\-gzip\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 defines the default options that will be appended to (almost) every gzip call during the building of the image. By default, this is set to \-\-best to use highest (but slowest) compression. Dynamically, if the host system supports it, also \-\-rsyncable is added. -.IP "\fB\-\-hooks\fR \fIFILE\fR" 4 -defines which hooks available in /usr/share/live/build/examples/hooks should be activated. Normally, there are no hooks executed. Make sure you know and understood the hook before you enable it. +.IP "\fB\-\-hdd\-label\fR \fILABEL\fR" 4 +defines the label for the hdd target. Defaults to DEBIAN_LIVE. +.IP "\fB\-\-hdd\-partition\-start\fR \fISTART\fR" 4 +sets the start of the partition for the hdd target for BIOSes that expect a specific boot partition start (e.g. "63s"). If empty, use optimal layout. Defaults to empty. +.IP "\fB\-\-hdd\-size\fR \fISIZE\fR" 4 +defines the size for the hdd target. The unit is MiB. Defaults to auto, which generates the smallest possible image. .IP "\fB\-\-ignore\-system\-defaults\fR" 4 \fBlb config\fR by default reads system defaults from \fI/etc/live/build.conf\fR and \fI/etc/live/build/*\fR when generating a new live system config directory. This is useful if you want to set global settings, such as mirror locations, and don't want to specify them all of the time. -.IP "\fB\-\-initramfs\fR auto|none|live\-boot|casper" 4 -sets the name of package that contains the live system specific initramfs modification. By default, auto is used, which means that at build time of the image rather than on configuration time, the value will be expanded to casper when building ubuntu systems, to live\-boot for all other systems. Using 'none' is useful if the resulting system image should not be a live image (experimental). +.IP "\fB\-\-image\-name\fR \fINAME\fR" 4 +sets the base name of the image. Defaults to live-image. +.IP "\fB\-\-initramfs\fR none|live\-boot" 4 +sets the name of the package that contains the live system specific initramfs modification and defaults to live\-boot. Using 'none' is useful if the resulting system image should not be a live image (experimental). .IP "\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] defines the compression program to be used to compress the initramfs. Defaults to gzip. +.IP "\fB\-\-initsystem\fR sysvinit|systemd|none] +defines the init system. Defaults to systemd. .IP "\fB\-\-interactive\fR shell" 4 defines if after the chroot stage and before the beginning of the binary stage, a interactive shell login should be spawned in the chroot in order to allow you to do manual customizations. Once you close the shell with logout or exit, the build will continue as usual. Note that it's strongly discouraged to use this for anything else than testing. Modifications that should be present in all builds of a live system should be properly made through hooks. Everything else destroys the beauty of being able to completely automatise the build process and making it non interactive. By default, this is of course false. -.IP "\fB\-\-isohybrid\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 -defines options to pass to isohybrid. .IP "\fB\-\-iso\-application\fR \fINAME\fR" 4 sets the APPLICATION field in the header of a resulting CD/DVD image and defaults to "Debian Live" in debian mode, and "Ubuntu Live" in ubuntu mode. .IP "\fB\-\-iso\-preparer\fR \fINAME\fR" 4 -sets the PREPARER field in the header of a resulting CD/DVD image. By default this is set to "live\-build \fIVERSION\fR; http://debian-live.alioth.debian.org/live\-build", where VERSION is expanded to the version of live\-build that was used to build the image. +sets the PREPARER field in the header of a resulting CD/DVD image. By default this is set to "live\-build \fIVERSION\fR; https://salsa.debian.org/live-team/live-build", where VERSION is expanded to the version of live\-build that was used to build the image. .IP "\fB\-\-iso\-publisher\fR \fINAME\fR" 4 -sets the PUBLISHED field in the header of a resulting CD/DVD image. By default, this is set to 'Live Systems project; http:/live-systems.org/; debian\-live@lists.debian.org'. Remember to change this to the appropriate values at latest when you distributing custom and unofficial images. +sets the PUBLISHED field in the header of a resulting CD/DVD image. By default, this is set to 'Live Systems project; https://wiki.debian.org/DebianLive; debian\-live@lists.debian.org'. Remember to change this to the appropriate values at latest when you distributing custom and unofficial images. .IP "\fB\-\-iso\-volume\fR \fINAME\fR" 4 sets the VOLUME field in the header of a resulting CD/DVD and defaults to '(\fIMODE\fR) (\fIDISTRIBUTION\fR) (\fIDATE\fR)' whereas MODE is expanded to the name of the mode in use, DISTRIBUTION the distribution name, and DATE with the current date and time of the generation. +.IP "\fB\-\-isohybrid\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 +defines options to pass to isohybrid. .IP "\fB\-\-jffs2\-eraseblock\fR \fISIZE\fR" 4 sets the eraseblock size for a JFFS2 (Second Journaling Flash File System) filesystem. The default is 64 KiB. If you use an erase block size different than the erase block size of the target MTD device, JFFS2 may not perform optimally. If the SIZE specified is below 4096, the units are assumed to be KiB. .IP "\fB\-\-keyring\-packages\fR \fIPACKAGE\fI|""\fIPACKAGES\fR""" 4 sets the keyring package or additional keyring packages. By default this is set to debian\-archive\-keyring. .IP "\-k|\fB\-\-linux\-flavours\fR \fIFLAVOUR\fR|""\fIFLAVOURS\fR""" 4 -sets the kernel flavours to be installed. Note that in case you specify more than that the first will be configured the default kernel that gets booted. +sets the kernel flavours to be installed. Note that in case you specify more than that the first will be configured the default kernel that gets booted. Optionally you can use an architecture qualifier, e.g. amd64:amd64. Given an i386 system you can enable amd64 foreign architecture thanks to the commands: "dpkg \-\-add\-architecture amd64 ; apt\-get update". This enables you to use "686 amd64:amd64" as a linux flavour. The amd64 kernel will be installed alongside the i386's 686 kernel. .IP "\fB\-\-linux\-packages\fR ""\fIPACKAGES\fR""" 4 sets the internal name of the kernel packages naming scheme. If you use debian kernel packages, you will not have to adjust it. If you decide to use custom kernel packages that do not follow the debian naming scheme, remember to set this option to the stub of the packages only (for debian this is linux\-image\-2.6), so that \fISTUB\fR-\fIFLAVOUR\fR results in a valid package name (for debian e.g. linux\-image\-686\-pae). Preferably you use the meta package name, if any, for the stub, so that your configuration is ABI independent. Also don't forget that you have to include stubs of the binary modules packages for unionfs or aufs, and squashfs if you built them out-of-tree. +.IP "\fB\-\-loadlin\fR true|false" 4 +sets loadlin. Defaults to false, except when the debian-installer is included for x86_64 or i386. .IP "\fB\-\-losetup\fR losetup|losetup.orig" 4 sets the filename of the losetup binary from the host system that should be used. This is autodetected and does generally not need any customization. .IP "\fB\-\-memtest\fR memtest86+|memtest86|none" 4 defines if memtest, memtest86+ or no memory tester at all should be included as secondary bootloader configuration. This is only available on amd64 and i386 and defaults to memtest86+. -.IP "\-m|\fB\-\-parent\-mirror\-bootstrap\fR \fIURL\fR" 4 -sets the location of the debian package mirror that should be used to bootstrap from. This defaults to http://ftp.de.debian.org/debian/ which may not be a good default if you live outside of Europe. -.IP "\fB\-\-parent\-mirror\-chroot\fR \fIURL\fR" 4 -sets the location of the debian package mirror that will be used to fetch the packages in order to build the live system. By default, this is set to the value of \-\-parent\-mirror\-bootstrap. -.IP "\fB\-\-parent\-mirror\-chroot\-security\fR \fIURL\fR" 4 -sets the location of the debian security package mirror that will be used to fetch the packages in order to build the live system. By default, this points to http://security.debian.org/debian/. -.IP "\fB\-\-parent\-mirror\-chroot\-updates\fR \fIURL\fR" 4 -sets the location of the debian updates package mirror that will be used to fetch packages in order to build the live system. By default, this is set to the value of \-\-parent\-mirror\-chroot. -.IP "\fB\-\-parent\-mirror\-chroot\-backports\fR \fIURL\fR" 4 -sets the location of the debian backports package mirror that will be used to fetch packages in order to build the live system. By default, this points to http://backports.debian.org/debian-backports/. -.IP "\fB\-\-parent\-mirror\-binary\fR \fIURL\fR" 4 -sets the location of the debian package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. By default, 'http://httpredir.debian.org/debian/' is used. -.IP "\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR" 4 -sets the location of the debian security package mirror that should end up configured in the final image. By default, 'http://security.debian.org/' is used. -.IP "\fB\-\-parent\-mirror\-binary\-updates\fR \fIURL\fR" 4 -sets the location of the debian updates package mirror that should end up configured in the final image. By default, the value of \-\-parent\-mirror\-binary is used. -.IP "\fB\-\-parent\-mirror\-binary\-backports\fR \fIURL\fR" 4 -sets the location of the debian backports package mirror that should end up configured in the final image. By default, 'http://backports.debian.org/debian-backports/' is used. -.IP "\fB\-\-parent\-mirror\-debian\-installer\fR \fIURL\fR" 4 -sets the location of the mirror that will be used to fetch the debian installer images. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-parent\-mirror\-bootstrap. +.IP "\fB\-\-mirror\-binary\fR \fIURL\fR" 4 +sets the location of the derivative package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. This defaults to http://deb.debian.org/debian/. +.IP "\fB\-\-mirror\-binary\-security\fR \fIURL\fR" 4 +sets the location of the derivatives security package mirror that should end up configured in the final image. This defaults to http://security.debian.org/. .IP "\fB\-\-mirror\-bootstrap\fR \fIURL\fR" 4 -sets the location of the debian package mirror that should be used to bootstrap the derivative from. This defaults to http://ftp.de.debian.org/debian/ which may not be a good default if you live outside of Europe. +sets the location of the debian package mirror that should be used to bootstrap the derivative from. This defaults to http://deb.debian.org/debian/. .IP "\fB\-\-mirror\-chroot\fR \fIURL\fR" 4 sets the location of the debian package mirror that will be used to fetch the packages of the derivative in order to build the live system. By default, this is set to the value of \-\-mirror\-bootstrap. .IP "\fB\-\-mirror\-chroot\-security\fR \fIURL\fR" 4 -sets the location of the debian security package mirror that will be used to fetch the packages of the derivative in order to build the live system. By default, this points to http://security.debian.org/debian/. -.IP "\fB\-\-mirror\-chroot\-updates\fR \fIURL\fR" 4 -sets the location of the debian updates package mirror that will be used to fetch packages of the derivative in order to build the live system. By default, this is set to the value of \-\-mirror\-chroot. -.IP "\fB\-\-mirror\-chroot\-backports\fR \fIURL\fR" 4 -sets the location of the debian backports package mirror that will be used to fetch packages of the derivative in order to build the live system. By default, this points to http://backports.debian.org/debian-backports/. -.IP "\fB\-\-mirror\-binary\fR \fIURL\fR" 4 -sets the location of the derivative package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. -.IP "\fB\-\-mirror\-binary\-security\fR \fIURL\fR" 4 -sets the location of the derivatives security package mirror that should end up configured in the final image. -.IP "\fB\-\-mirror\-binary\-updates\fR \fIURL\fR" 4 -sets the location of the derivatives updates package mirror that should end up configured in the final image. -.IP "\fB\-\-mirror\-binary\-backports\fR \fIURL\fR" 4 -sets the location of the derivatives backports package mirror that should end up configured in the final image. +sets the location of the debian security package mirror that will be used to fetch the packages of the derivative in order to build the live system. By default, this points to http://security.debian.org/. .IP "\fB\-\-mirror\-debian\-installer\fR \fIURL\fR" 4 -sets the location of the mirror that will be used to fetch the debian installer images of the derivative. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-mirror\-bootstrap. -.IP "\fB\-\-mode\fR debian|progress|ubuntu" 4 +sets the location of the mirror that will be used to fetch the debian installer images of the derivative. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-mirror\-chroot. +.IP "\fB\-\-mode\fR debian|progress-linux" 4 defines a global mode to load project specific defaults. By default this is set to debian. -.IP "\fB\-\-system\fR live|normal" 4 -defines if the resulting system image should a live system or a normal, non-live system. +.IP "\fB\-\-net\-cow\-filesystem\fR nfs|cfs" 4 +defines the filesystem type for the copy\-on\-write layer and defaults to nfs. +.IP "\fB\-\-net\-cow\-mountoptions\fR \fIOPTIONS\fR" 4 +sets additional options for mounting the copy\-on\-write layer in netboot images and is by default empty. +.IP "\fB\-\-net\-cow\-path\fR \fIPATH\fR" 4 +defines the path to client writable filesystem. Anywhere that \fIclient_mac_address\fR is specified in the path live\-boot will substitute the MAC address of the client delimited with hyphens. +.PP +.IP "" 4 +Example: +.br +/export/hosts/client_mac_address +.br +/export/hosts/00\-16\-D3\-33\-92\-E8 +.IP "\fB\-\-net\-cow\-server\fR \fIIP\fR|\fIHOSTNAME\fR" 4 +sets the IP or hostname that will be configured in the bootloader configuration for the copy\-on\-write filesystem of your netboot image and is by default empty. .IP "\fB\-\-net\-root\-filesystem\fR nfs|cfs" 4 defines the filesystem that will be configured in the bootloader configuration for your netboot image. This defaults to nfs. .IP "\fB\-\-net\-root\-mountoptions\fR \fIOPTIONS\fR" 4 @@ -419,63 +440,60 @@ sets the file path that will be configured in the bootloader configuration for your netboot image. This defaults to /srv/debian\-live in debian mode, and /srv/ubuntu-live when in ubuntu mode. .IP "\fB\-\-net\-root\-server\fR \fIIP\fR|\fIHOSTNAME\fR" 4 sets the IP or hostname that will be configured in the bootloader configuration for the root filesystem of your netboot image. This defaults to 192.168.1.1. -.IP "\fB\-\-net\-cow\-filesystem\fR nfs|cfs" 4 -defines the filesystem type for the copy\-on\-write layer and defaults to nfs. -.IP "\fB\-\-net\-cow\-mountoptions\fR \fIOPTIONS\fR" 4 -sets additional options for mounting the copy\-on\-write layer in netboot images and is by default empty. -.IP "\fB\-\-net\-cow\-path\fR \fIPATH\fR" 4 -defines the path to client writable filesystem. Anywhere that \fIclient_mac_address\fR is specified in the path live\-boot will substitute the MAC address of the client delimited with hyphens. -.PP -.IP "" 4 -Example: -.br -/export/hosts/client_mac_address -.br -/export/hosts/00\-16\-D3\-33\-92\-E8 -.IP "\fB\-\-net\-cow\-server\fR \fIIP\fR|\fIHOSTNAME\fR" 4 -sets the IP or hostname that will be configured in the bootloader configuration for the copy\-on\-write filesystem of your netboot image and is by default empty. .IP "\fB\-\-net\-tarball\fR true|false" 4 defines if a compressed tarball should be created. Disabling this options leads to no tarball at all, the plain binary directory is considered the output in this case. Default is true. .IP "\fB\-\-onie\fR true|false" 4 defines if an ONIE.bin image is generated. ONIE binaries can be loaded by supported systems, and will in turn boot the live image. Note that iso or hybrid-iso are the only formats supported. For more information visit <\fIhttp://onie.org/\fR>. Default is false. .IP "\fB\-\-onie\-kernel\-cmdline\fR \fI""OPTION1 OPTION2""\fR" 4 defines additional kernel command line options that the ONIE system will use when booting the image. Default is empty string. +.IP "\fB\-\-parent\-archive\-areas\fR \fIARCHIVE_AREA\fR|""\fIARCHIVE_AREAS\fR""" 4 +defines the archive areas for derivatives of the resulting live system. +.IP "\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR" 4 +defines the parent debian\-installer distribution for derivatives of the resulting live system. +.IP "\fB\-\-parent\-distribution\fR \fICODENAME\fR" 4 +defines the parent distribution for derivatives of the resulting live system. +.IP "\fB\-\-parent\-distribution\-binary\fR \fICODENAME\fR" 4 +defines the derivative's parent distribution enabled in the resulting live system. +.IP "\fB\-\-parent\-distribution\-chroot\fR \fICODENAME\fR" 4 +defines the derivative's parent distribution used to build the live system. +.IP "\fB\-\-parent\-mirror\-binary\fR \fIURL\fR" 4 +sets the location of the debian package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. This defaults to the value of \-\-mirror\-binary. +.IP "\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR" 4 +sets the location of the debian security package mirror that should end up configured in the final image. This defaults to the value of \-\-mirror\-binary\-security. +.IP "\-m|\fB\-\-parent\-mirror\-bootstrap\fR \fIURL\fR" 4 +sets the location of the debian package mirror that should be used to bootstrap from. This defaults to the value of \-\-mirror-\bootstrap. +.IP "\fB\-\-parent\-mirror\-chroot\fR \fIURL\fR" 4 +sets the location of the debian package mirror that will be used to fetch the packages in order to build the live system. This defaults to the value of \-\-parent\-mirror\-bootstrap. +.IP "\fB\-\-parent\-mirror\-chroot\-security\fR \fIURL\fR" 4 +sets the location of the debian security package mirror that will be used to fetch the packages in order to build the live system. This defaults to the value of \-\-mirror\-chroot\-security. +.IP "\fB\-\-parent\-mirror\-debian\-installer\fR \fIURL\fR" 4 +sets the location of the mirror that will be used to fetch the debian installer images. This defaults to the value of \-\-parent\-mirror\-chroot. .IP "\fB\-\-quiet\fR" 4 reduces the verbosity of messages output by \fBlb build\fR. -.IP "\fB\-\-archive\-areas\fR \fIARCHIVE_AREA\fR|""\fIARCHIVE_AREAS\fR""" 4 -defines which package archive areas of a debian packages archive should be used for configured debian package mirrors. By default, this is set to main. Remember to check the licenses of each packages with respect to their redistributability in your juristiction when enabling contrib or non\-free with this mechanism. -.IP "\fB\-\-parent\-archive\-areas\fR \fIPARENT_ARCHIVE_AREA\fR|""\fIPARENT_ARCHIVE_AREAS\fR""" 4 -defines the archive areas for derivatives of the resulting live system. .IP "\fB\-\-security\fR true|false" 4 defines if the security repositories specified in the security mirror options should be used or not. .IP "\fB\-\-source\fR true|false" 4 defines if a corresponding source image to the binary image should be build. By default this is false because most people do not require this and would require to download quite a few source packages. However, once you start distributing your live image, you should make sure you build it with a source image alongside. .IP "\-s|\fB\-\-source\-images\fR iso|netboot|tar|hdd" 4 defines the image type for the source image. Default is tar. -.IP "\fB\-\-firmware\-binary\fR true|false" 4 -defines if firmware packages should be automatically included into the binary pool for debian\-installer. Note that only firmware packages available within the configured archive areas are included, e.g. an image with packages from main only will not automatically include firmware from non\-free. This option does not interfere with explicitly listed packages in binary package lists. -.IP "\fB\-\-firmware\-chroot\fR true|false" 4 -defines if firmware packages should be automatically included into the live image. Note that only firmware packages available within the configured archive areas are included, e.g. an image with packages from main only will not automatically include firmware from non\-free. This option does not interfere with explicitly listed packages in chroot package lists. .IP "\fB\-\-swap\-file\-path\fR \fIPATH\fR" 4 defines the path to a swap file to create in the binary image. Default is not to create a swap file. .IP "\fB\-\-swap\-file\-size\fR \fIMB\fR" 4 defines what size in megabytes the swap file should be, if one is to be created. Default is 512MB. +.IP "\fB\-\-system\fR live|normal" 4 +defines if the resulting system image should a live system or a normal, non-live system. .IP "\fB\-\-tasksel\fR apt|aptitude|tasksel" 4 selects which program is used to install tasks. By default, this is set to tasksel. -.IP "\fB\-\-templates\fR \fIPATH\fR" 4 -sets the path to the templates that live\-build is going to use, e.g. for bootloaders. By default, this is set to /usr/share/live/build/templates/. .IP "\fB\-\-uefi\-secure\-boot\fR \fIauto|enable|disable\fR" 4 enables or disables Secure Boot support when using grub-efi, by installing signed shim and grub-efi packages. By default, this is set to auto, which means if the packages are available they will be installed, but if not only a warning will be printed and the normal non-signed grub-efi will be used. -.IP "\fB\-\-hdd\-size\fR MB" 4 -defines what size the hdd image should be. Note that although the default is set to 10000 (= 10GB), it will not need 10GB space on your harddisk as the files are created as sparse files. .IP "\fB\-\-updates\fR true|false" 4 defines if debian updates package archives should be included in the image or not. -.IP "\fB\-\-backports\fR true|false" 4 -defines if debian backports package archives should be included in the image or not. .IP "\fB\-\-verbose\fR" 4 increases the verbosity of messages output by \fBlb build\fR. -.IP "\fB\-\-win32\-loader true|false" 4 +.IP "\fB\-\-win32\-loader\fR true|false" 4 defines if win32\-loader should be included in the binary image or not. +.IP "\fB\-\-zsync\fR true|false" 4 +defines whether a file for distributing the image in \fIzsync\fR(1) format will be generated. Defaults to true. .\" FIXME .SH ENVIRONMENT @@ -500,7 +518,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_installer.1 b/manpages/en/lb_installer.1 index dba91d0..3cff5f8 100644 --- a/manpages/en/lb_installer.1 +++ b/manpages/en/lb_installer.1 @@ -23,7 +23,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/lb_source.1 b/manpages/en/lb_source.1 index d11a40e..93df19a 100644 --- a/manpages/en/lb_source.1 +++ b/manpages/en/lb_source.1 @@ -23,7 +23,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/manpages/en/live-build.7 b/manpages/en/live-build.7 index 5ca06bc..fd1dff2 100644 --- a/manpages/en/live-build.7 +++ b/manpages/en/live-build.7 @@ -14,7 +14,7 @@ .PP The \fICOMMAND\fR is a name of a live\-build command (see below). .PP -More documentation about how to use live\-build is available in the individual manpages for each helper and in the manual at <\fIhttps://debian-live.alioth.debian.org/manual/\fR>. +More documentation about how to use live\-build is available in the individual manpages for each helper and in the manual at <\fIhttps://live-team.pages.debian.net/live-manual/\fR>. .\" FIXME .SH OPTIONS @@ -238,7 +238,7 @@ This program is a part of live\-build. .SH HOMEPAGE -More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://debian-live.alioth.debian.org/\fR>. +More information about live\-build and the Live Systems project can be found on the homepage at <\fIhttps://wiki.debian.org/DebianLive\fR>. .SH BUGS Bugs can be reported by submitting a bugreport for the live\-build package in the Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Live Systems mailing list at <\fIdebian-live@lists.debian.org\fR>. diff --git a/scripts/build/binary b/scripts/build/binary index 59d835b..bccdea6 100755 --- a/scripts/build/binary +++ b/scripts/build/binary @@ -68,8 +68,8 @@ lb binary_loadlin ${@} lb binary_win32-loader ${@} lb binary_includes ${@} +lb binary_grub-efi ${@} lb binary_hooks ${@} -lb binary_grub-efi ${@} lb binary_checksums ${@} if [ "${LB_BUILD_WITH_CHROOT}" != "true" ] diff --git a/scripts/build/binary_disk b/scripts/build/binary_disk index 7175a54..d9fefa4 100755 --- a/scripts/build/binary_disk +++ b/scripts/build/binary_disk @@ -49,8 +49,8 @@ mkdir -p binary/.disk ARCHITECTURE="$(echo ${LB_ARCHITECTURES} | sed -e 's| |/|g')" -DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')" -DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION} | cut -b 2-)" +DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 1 | tr '[a-z]' '[A-Z]')" +DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 2-)" if [ -e chroot/etc/os-release ] then @@ -111,7 +111,7 @@ do if [ -e "${LOCATION}" ] then - cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_udeb_include" binary/.disk/udeb_include + cp "${LOCATION}/${LB_PARENT_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES}_udeb_include" binary/.disk/udeb_include continue fi @@ -136,7 +136,7 @@ do if [ -e "${LOCATION}" ] then - cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_netinst_udeb_include" binary/.disk/udeb_include + cp "${LOCATION}/${LB_PARENT_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES}_netinst_udeb_include" binary/.disk/udeb_include continue fi @@ -159,7 +159,7 @@ do if [ -e "${LOCATION}" ] then - cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_businesscard_udeb_include" binary/.disk/udeb_include + cp "${LOCATION}/${LB_PARENT_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES}_businesscard_udeb_include" binary/.disk/udeb_include continue fi diff --git a/scripts/build/binary_iso b/scripts/build/binary_iso index 1ca460c..7955bcd 100755 --- a/scripts/build/binary_iso +++ b/scripts/build/binary_iso @@ -157,8 +157,8 @@ grub-efi) if [ -e binary/boot/grub/efi.img ] then - XORRISO_OPTIONS="${XORRISO_OPTIONS} -e boot/grub/efi.img -no-emul-boot" - XORRISO_OPTIONS="${XORRISO_OPTIONS} -isohybrid-gpt-basdat -isohybrid-apm-hfsplus" + XORRISO_OPTIONS="${XORRISO_OPTIONS} --efi-boot boot/grub/efi.img" + XORRISO_OPTIONS="${XORRISO_OPTIONS} -append_partition 2 0x01 binary/boot/grub/efi.img" else Echo "No EFI boot code to include in the ISO" fi diff --git a/scripts/build/binary_loopback_cfg b/scripts/build/binary_loopback_cfg index f710ed4..1f6622c 100755 --- a/scripts/build/binary_loopback_cfg +++ b/scripts/build/binary_loopback_cfg @@ -175,7 +175,7 @@ KERNEL_LIVE="/${INITFS}/${DEFAULT_KERNEL}" INITRD_LIVE="/${INITFS}/${DEFAULT_INITRD}" -APPEND_LIVE="${LB_BOOTAPPEND_LIVE}" +APPEND_LIVE="${LB_BOOTAPPEND_LIVE} findiso=\${iso_path}" # Assembling kernel configuration _AMD64_686_NUMBER="0" diff --git a/scripts/build/binary_package-lists b/scripts/build/binary_package-lists index a13491e..599ab88 100755 --- a/scripts/build/binary_package-lists +++ b/scripts/build/binary_package-lists @@ -71,8 +71,6 @@ fi mkdir -p chroot/binary.deb/archives/partial - mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp - touch chroot/var/lib/dpkg/status for LIST in config/package-lists/*.list \ config/package-lists/*.list.binary @@ -83,7 +81,7 @@ Expand_packagelist "${LIST}" "config/package-lists" > chroot/root/"$(basename ${LIST})" # Downloading additional packages - Chroot chroot "xargs --no-run-if-empty --arg-file=/root/$(basename ${LIST}) apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb --download-only install" + Chroot chroot "xargs --no-run-if-empty --arg-file=/root/$(basename ${LIST}) apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb -o Dir::State::status=/dev/null --download-only install" # Remove package list rm chroot/root/"$(basename ${LIST})" @@ -131,6 +129,15 @@ mv "${FILE}" binary/${POOL}/${SECTION}/"${LETTER}"/"${SOURCE}" done + if [ -e chroot/etc/os-release ] + then + _VERSION="$(. chroot/etc/os-release && echo ${VERSION_ID})" + fi + + if [ -n "${_VERSION}" ]; then + _LB_APT_VERSION_OPT='-o APT::FTPArchive::Release::Version="'"${_VERSION}"'"' + fi + cd binary for SECTION in ${POOL}/* @@ -141,17 +148,31 @@ SECTION="$(basename ${SECTION})" - mkdir -p ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES} - apt-ftparchive packages ${POOL}/${SECTION} > ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages - gzip -9 -c ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages > ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages.gz + mkdir -p ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES} + apt-ftparchive packages ${POOL}/${SECTION} > ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages + gzip -9 -c ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages > ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages.gz done + + if [ -d dists/${LB_PARENT_DISTRIBUTION_BINARY} ]; then + apt-ftparchive \ + -o APT::FTPArchive::Release::Origin="Debian" \ + -o APT::FTPArchive::Release::Label="Debian" \ + -o APT::FTPArchive::Release::Suite="${LB_PARENT_DISTRIBUTION_BINARY}" \ + ${_LB_APT_VERSION_OPT} \ + -o APT::FTPArchive::Release::Codename="${LB_PARENT_DISTRIBUTION_BINARY}" \ + -o APT::FTPArchive::Release::Date="$(date -R)" \ + -o APT::FTPArchive::Release::Architectures="${LB_ARCHITECTURES}" \ + -o APT::FTPArchive::Release::Components="${LB_PARENT_ARCHIVE_AREAS}" \ + -o APT::FTPArchive::Release::Description="Last updated: $(date -R)" \ + release dists/${LB_PARENT_DISTRIBUTION_BINARY} \ + > dists/${LB_PARENT_DISTRIBUTION_BINARY}/Release + fi cd "${OLDPWD}" rm -f chroot/bin/Packages rm -rf chroot/binary.deb - mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status # Removing depends Remove_package diff --git a/scripts/build/binary_syslinux b/scripts/build/binary_syslinux index bb66588..df58f7d 100755 --- a/scripts/build/binary_syslinux +++ b/scripts/build/binary_syslinux @@ -204,7 +204,7 @@ _VERSION="${_VERSION:-none}" -_DISTRIBUTION="${LB_DISTRIBUTION}" +_DISTRIBUTION="${LB_DISTRIBUTION_BINARY}" _ARCHITECTURE="${LB_ARCHITECTURES}" _DATE=$(date -R) @@ -242,7 +242,7 @@ -e "s#@APPEND_INSTALL_FAILSAFE@#${LB_BOOTAPPEND_INSTALL_FAILSAFE}#g" \ -e "s|@PROJECT@|${_PROJECT}|g" \ -e "s|@DISTRIBUTION@|${_DISTRIBUTION}|g" \ - -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_BINARY}|g" \ -e "s|@VERSION@|${_VERSION}|g" \ -e "s|@ARCHITECTURE@|${_ARCHITECTURE}|g" \ -e "s|@DATE@|${_DATE}|g" \ diff --git a/scripts/build/bootstrap_archives b/scripts/build/bootstrap_archives index 9e94680..e1f6c93 100755 --- a/scripts/build/bootstrap_archives +++ b/scripts/build/bootstrap_archives @@ -65,19 +65,19 @@ fi cat > chroot/etc/apt/${_PARENT_FILE} << EOF -deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS} +deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS} EOF if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi if [ "${LB_DERIVATIVE}" = "true" ] then rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list - _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION_CHROOT} | sed -e 's|-backports||')" echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list @@ -91,17 +91,17 @@ then case "${LB_MODE}" in debian|progress-linux) - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_CHROOT}" in sid) ;; *) - echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi ;; esac @@ -131,11 +131,11 @@ if [ "${LB_UPDATES}" = "true" ] then - echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi if [ "${LB_DERIVATIVE}" = "true" ] @@ -153,13 +153,13 @@ then case "${LB_MODE}" in debian) - if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ] + if [ "${LB_PARENT_DISTRIBUTION_CHROOT}" != "sid" ] then - echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi fi ;; @@ -181,8 +181,8 @@ do if [ -e "${FILE}" ] then - sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \ - -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION_CHROOT}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_CHROOT}|g" \ -e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \ -e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \ "${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" diff --git a/scripts/build/bootstrap_debootstrap b/scripts/build/bootstrap_debootstrap index 99f0a22..48a20fe 100755 --- a/scripts/build/bootstrap_debootstrap +++ b/scripts/build/bootstrap_debootstrap @@ -62,6 +62,7 @@ then # Modify archive areas to remove leading/trailing whitespaces and replace other whitepspace with commas DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')" + FOREIGN_DEBOOTSTRAP_OPTIONS="--components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')" fi if [ "${_VERBOSE}" = "true" ] @@ -87,7 +88,7 @@ fi Echo_breakage "Running debootstrap (download-only)... " - debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT} + debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION_CHROOT}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT} # Removing old cache rm -f cache/packages.bootstrap/*.deb @@ -107,10 +108,14 @@ DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_QEMU_EXCLUDE} | sed 's| *|,|g')" fi - Echo_message "Running debootstrap with qemu-debootstrap" - qemu-debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT} + Echo_message "Bootstrap will be foreign" + debootstrap ${DEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION_CHROOT}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT} + + Echo_message "Running debootstrap second stage under QEMU" + cp ${LB_BOOTSTRAP_QEMU_STATIC} chroot/usr/bin + Chroot chroot /bin/sh /debootstrap/debootstrap --second-stage ${FOREIGN_DEBOOTSTRAP_OPTIONS} else - debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT} + debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION_CHROOT}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT} fi # Deconfiguring debootstrap configurations diff --git a/scripts/build/build b/scripts/build/build index c0f26b9..ee90fb4 100755 --- a/scripts/build/build +++ b/scripts/build/build @@ -66,7 +66,7 @@ Check_defaults Echo_message "live-build ${LIVE_BUILD_VERSION}" -Echo_message "Building config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" +Echo_message "Building config tree for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system" # Bootstrapping system lb bootstrap ${@} diff --git a/scripts/build/chroot_apt b/scripts/build/chroot_apt index 4888ebd..21f53b3 100755 --- a/scripts/build/chroot_apt +++ b/scripts/build/chroot_apt @@ -152,7 +152,7 @@ progress-linux) if [ ! -e chroot/etc/apt/preferences.d/progress-linux.pref ] then - _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | sed -e 's|-backports||')" _ENABLE_DISTRIBUTIONS="${_DISTRIBUTION}" _DISABLE_DISTRIBUTIONS="" @@ -167,7 +167,7 @@ _ENABLE_DISTRIBUTIONS="${_ENABLE_DISTRIBUTIONS} ${_DISTRIBUTION}-updates" fi - case "${LB_DISTRIBUTION}" in + case "${LB_DISTRIBUTION_BINARY}" in *-backports) if [ "${LB_BACKPORTS}" = "true" ] then diff --git a/scripts/build/chroot_archives b/scripts/build/chroot_archives index 11a5c4a..f634a62 100755 --- a/scripts/build/chroot_archives +++ b/scripts/build/chroot_archives @@ -64,19 +64,19 @@ fi cat > chroot/etc/apt/${_PARENT_FILE} << EOF -deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS} +deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS} EOF if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi if [ "${LB_DERIVATIVE}" = "true" ] then rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list - _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION_CHROOT} | sed -e 's|-backports||')" echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list @@ -90,17 +90,17 @@ then case "${LB_MODE}" in debian|progress-linux) - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_CHROOT}" in sid) ;; *) - echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi ;; esac @@ -130,11 +130,11 @@ if [ "${LB_UPDATES}" = "true" ] then - echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi if [ "${LB_DERIVATIVE}" = "true" ] @@ -152,13 +152,13 @@ then case "${LB_MODE}" in debian) - if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ] - then - echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + if [ "${LB_PARENT_DISTRIBUTION_CHROOT}" != "sid" ] + then + echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi fi ;; @@ -180,8 +180,8 @@ do if [ -e "${FILE}" ] then - sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \ - -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION_CHROOT}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_CHROOT}|g" \ -e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \ -e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \ "${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)" @@ -211,6 +211,25 @@ cp ${FILE} chroot/etc/apt/preferences.d/$(basename ${FILE} .chroot) fi done + + # Check local archive keys (chroot) + if Find_files config/archives/*.key || \ + Find_files config/archives/*.key.chroot + then + for FILE in config/archives/*.key \ + config/archives/*.key.chroot + do + if [ -e "${FILE}" ] + then + if grep -q "PGP PUBLIC KEY BLOCK" "${FILE}" + then + cp ${FILE} chroot/etc/apt/trusted.gpg.d/$(basename ${FILE}).asc + else + cp ${FILE} chroot/etc/apt/trusted.gpg.d/$(basename ${FILE}).gpg + fi + fi + done + fi # Configure local package repository if Find_files config/packages.chroot/*.deb || Find_files config/packages/*.deb @@ -344,25 +363,6 @@ Chroot chroot "apt-get ${APT_OPTIONS} install aptitude" fi else # Get fresh indices - # Check local archive keys - if Find_files config/archives/*.key || \ - Find_files config/archives/*.key.chroot - then - for FILE in config/archives/*.key \ - config/archives/*.key.chroot - do - if [ -e "${FILE}" ] - then - if grep -q "PGP PUBLIC KEY BLOCK" "${FILE}" - then - cp ${FILE} chroot/etc/apt/trusted.gpg.d/$(basename ${FILE}).asc - else - cp ${FILE} chroot/etc/apt/trusted.gpg.d/$(basename ${FILE}).gpg - fi - fi - done - fi - # Check local keyring packages if Find_files config/archives/*.deb then @@ -460,19 +460,19 @@ # Configure custom sources.list cat > chroot/etc/apt/${_PARENT_FILE} << EOF -deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS} +deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY} ${LB_PARENT_ARCHIVE_AREAS} EOF if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi if [ "${LB_DERIVATIVE}" = "true" ] then rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list - _DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')" + _DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | sed -e 's|-backports||')" echo "deb ${LB_MIRROR_BINARY} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list @@ -486,17 +486,17 @@ then case "${LB_MODE}" in debian|progress-linux) - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_BINARY}" in sid) ;; *) - echo "deb ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION_BINARY}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION_BINARY}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi ;; esac @@ -526,11 +526,11 @@ if [ "${LB_UPDATES}" = "true" ] then - echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi if [ "${LB_DERIVATIVE}" = "true" ] @@ -548,13 +548,13 @@ then case "${LB_MODE}" in debian) - if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ] - then - echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + if [ "${LB_PARENT_DISTRIBUTION_BINARY}" != "sid" ] + then + echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ] then - echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} + echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE} fi fi ;; @@ -603,8 +603,8 @@ do if [ -e "${FILE}" ] then - sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \ - -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \ + sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION_BINARY}|g" \ + -e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_BINARY}|g" \ -e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \ -e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \ "${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .binary)" diff --git a/scripts/build/chroot_firmware b/scripts/build/chroot_firmware index ca20868..8c89d56 100755 --- a/scripts/build/chroot_firmware +++ b/scripts/build/chroot_firmware @@ -59,15 +59,15 @@ FIRMWARE_PACKAGES="" -_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" +_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION_CHROOT}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" -rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} +rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} for _CONTENT in ${_CONTENTS} do - wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} - FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)" done if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free" @@ -91,15 +91,15 @@ then # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents). - _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION_CHROOT}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" - rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} for _CONTENT in ${_CONTENTS} do - wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} - FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)" done fi diff --git a/scripts/build/chroot_linux-image b/scripts/build/chroot_linux-image index a96c4e5..e34743c 100755 --- a/scripts/build/chroot_linux-image +++ b/scripts/build/chroot_linux-image @@ -48,7 +48,7 @@ # ;; #esac -for FLAVOUR in ${LB_LINUX_FLAVOURS} +for FLAVOUR in ${LB_LINUX_FLAVOURS_WITH_ARCH} do for PACKAGE in ${LB_LINUX_PACKAGES} do diff --git a/scripts/build/chroot_live-packages b/scripts/build/chroot_live-packages index f3e52fc..a04e376 100755 --- a/scripts/build/chroot_live-packages +++ b/scripts/build/chroot_live-packages @@ -53,7 +53,7 @@ systemd) _PACKAGES="${_PACKAGES} systemd-sysv" - if [ -e chroot/var/lib/dpkg/info/sysvinit.list ] + if Chroot_has_package sysvinit then Chroot chroot "dpkg --force-remove-essential --purge sysvinit" fi @@ -62,7 +62,7 @@ sysvinit) _PACKAGES="${_PACKAGES} sysvinit" - if [ -e chroot/var/lib/dpkg/info/systemd-sysv.list ] + if Chroot_has_package systemd-sysv then Chroot chroot "dpkg --force-remove-essential --purge systemd systemd-sysv" fi diff --git a/scripts/build/config b/scripts/build/config index 6c2ab3b..661ab67 100755 --- a/scripts/build/config +++ b/scripts/build/config @@ -21,122 +21,131 @@ \t [--apt-http-proxy URL]\n\ \t [--apt-indices true|false]\n\ \t [--apt-options OPTION|\"OPTIONS\"]\n\ -\t [--aptitude-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 [--aptitude-options OPTION|\"OPTIONS\"]\n\ \t [-a|--architectures ARCHITECTURE]\n\ +\t [--archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\ +\t [--backports true|false]\n\ +\t [--binary-filesystem fat16|fat32|ext2|ext3|ext4|ntfs]\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|grub-efi]\n\ +\t [--bootstrap-qemu-arch ARCH]\n\ +\t [--bootstrap-qemu-exclude PACKAGES]\n\ +\t [--bootstrap-qemu-static PATH]\n\ +\t [--breakpoints]\n\ +\t [--build-with-chroot true|false]\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 [--checksums md5|sha1|sha224|sha256|sha384|sha512|none]\n\ +\t [--chroot-filesystem ext2|ext3|ext4|squashfs|jffs2|none]\n\ +\t [--clean]\n\ +\t [--color]\n\ \t [--compression bzip2|gzip|lzip|xz|none]\n\ +\t [-c|--conffile FILE]\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-gui true|false]\n\ \t [--debian-installer-preseedfile FILE|URL]\n\ -\t [--debian-installer-gui true|false]\n\ \t [--debootstrap-options OPTIONS]\n\ \t [--debootstrap-script SCRIPT]\n\ \t [--debug]\n\ \t [-d|--distribution CODENAME]\n\ -\t [--parent-distribution CODENAME]\n\ -\t [--parent-debian-installer-distribution CODENAME]\n\ +\t [--distribution-binary CODENAME]\n\ +\t [--distribution-chroot CODENAME]\n\ \t [--dump]\n\ \t [--fdisk fdisk|fdisk.dist]\n\ +\t [--firmware-binary true|false]\n\ +\t [--firmware-chroot true|false]\n\ \t [--force]\n\ \t [--grub-splash FILE]\n\ \t [--gzip-options OPTION|\"OPTIONS\"]\n\ +\t [--hdd-label LABEL]\n\ +\t [--hdd-partition-start START]\n\ +\t [--hdd-size SIZE]\n\ \t [--ignore-system-defaults]\n\ -\t [--initramfs auto|none|live-boot]\n\ +\t [--image-name NAME]\n\ +\t [--initramfs none|live-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 [--isohybrid-options OPTION|\"OPTIONS\"]\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 [--loadlin true|false]\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-binary URL]\n\ +\t [--mirror-binary-security 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 [--mode debian|progress-linux]\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-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 [--onie true|false]\n\ \t [--onie-kernel-cmdline \"OPTION1 OPTION2\"]\n\ +\t [--parent-archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\ +\t [--parent-debian-installer-distribution CODENAME]\n\ +\t [--parent-distribution CODENAME]\n\ +\t [--parent-distribution-binary CODENAME]\n\ +\t [--parent-distribution-chroot CODENAME]\n\ +\t [--parent-mirror-binary URL]\n\ +\t [--parent-mirror-binary-security URL]\n\ +\t [-m|--parent-mirror-bootstrap URL]\n\ +\t [--parent-mirror-chroot URL]\n\ +\t [--parent-mirror-chroot-security URL]\n\ +\t [--parent-mirror-debian-installer URL]\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 [--system live|normal]\n\ \t [--tasksel apt|aptitude|tasksel]\n\ \t [--uefi-secure-boot auto|enable|disable]\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]" +\t [--zsync true|false]" Local_arguments () { LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,aptitude-options:,debootstrap-options:,debootstrap-script:, - apt-pipeline:,apt-recommends:,apt-secure:,apt-source-archives:,bootstrap:,cache:,cache-indices:,cache-packages:, + apt-pipeline:,apt-recommends:,apt-secure:,apt-source-archives:,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:, + distribution:,parent-distribution:,parent-debian-installer-distribution:, + distribution-chroot:,parent-distribution-chroot:, + distribution-binary:,parent-distribution-binary:, + 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:, @@ -149,13 +158,13 @@ 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:,onie:,onie-kernel-cmdline:,firmware-binary:,firmware-chroot:,swap-file-path:,swap-file-size:, - loadlin:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, + loadlin:,win32-loader:,source:,source-images:,breakpoints,conffile:,color,debug,force, help,ignore-system-defaults,quiet,usage,verbose,version,bootstrap-qemu-static:,bootstrap-qemu-arch:, uefi-secure-boot:, 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 -- "${@}")" + ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:d:m:k:b:s:c:huv --shell sh -- "${@}")" if [ "${?}" != "0" ] then @@ -356,6 +365,26 @@ shift 2 ;; + --distribution-chroot) + LB_DISTRIBUTION_CHROOT="${2}" + shift 2 + ;; + + --parent-distribution-chroot) + LB_PARENT_DISTRIBUTION_CHROOT="${2}" + shift 2 + ;; + + --distribution-binary) + LB_DISTRIBUTION_BINARY="${2}" + shift 2 + ;; + + --parent-distribution-binary) + LB_PARENT_DISTRIBUTION_BINARY="${2}" + shift 2 + ;; + -m|--parent-mirror-bootstrap) LB_PARENT_MIRROR_BOOTSTRAP="${2}" shift 2 @@ -453,7 +482,7 @@ ;; -k|--linux-flavours) - LB_LINUX_FLAVOURS="${2}" + LB_LINUX_FLAVOURS_WITH_ARCH="${2}" shift 2 ;; @@ -898,10 +927,10 @@ if [ ! -e config ] then - Echo_message "Creating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" + Echo_message "Creating config tree for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system" mkdir config else - Echo_message "Updating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system" + Echo_message "Updating config tree for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system" fi # Creating live-build configuration @@ -995,26 +1024,32 @@ # live-build options # \$_BREAKPOINTS: enable breakpoints +# If set here, overrides the command line option # (Default: ${_BREAKPOINTS}) #_BREAKPOINTS="${_BREAKPOINTS}" # \$_DEBUG: enable debug +# If set here, overrides the command line option # (Default: ${_DEBUG}) #_DEBUG="${_DEBUG}" # \$_COLOR: enable color +# If set here, overrides the command line option # (Default: ${_COLOR}) #_COLOR="${_COLOR}" # \$_FORCE: enable force +# If set here, overrides the command line option # (Default: ${_FORCE}) #_FORCE="${_FORCE}" # \$_QUIET: enable quiet +# If set here, overrides the command line option # (Default: ${_QUIET}) -_QUIET="${_QUIET}" +#_QUIET="${_QUIET}" # \$_VERBOSE: enable verbose +# If set here, overrides the command line option # (Default: ${_VERBOSE}) #_VERBOSE="${_VERBOSE}" @@ -1039,6 +1074,22 @@ # (Default: ${LB_PARENT_DISTRIBUTION}) LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION}" +# \$LB_DISTRIBUTION_CHROOT: select distribution to use in the chroot +# (Default: ${LB_DISTRIBUTION_CHROOT}) +LB_DISTRIBUTION_CHROOT="${LB_DISTRIBUTION_CHROOT}" + +# \$LB_PARENT_DISTRIBUTION_CHROOT: select parent distribution to use in the chroot +# (Default: ${LB_PARENT_DISTRIBUTION_CHROOT}) +LB_PARENT_DISTRIBUTION_CHROOT="${LB_PARENT_DISTRIBUTION_CHROOT}" + +# \$LB_DISTRIBUTION_BINARY: select distribution to use in the final image +# (Default: ${LB_DISTRIBUTION_BINARY}) +LB_DISTRIBUTION_BINARY="${LB_DISTRIBUTION_BINARY}" + +# \$LB_PARENT_DISTRIBUTION_BINARY: select parent distribution to use in the final image +# (Default: ${LB_PARENT_DISTRIBUTION_BINARY}) +LB_PARENT_DISTRIBUTION_BINARY="${LB_PARENT_DISTRIBUTION_BINARY}" + # \$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}" @@ -1132,8 +1183,16 @@ LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES}" # \$LB_LINUX_FLAVOURS: set kernel flavour to use +# This is kept for backwards compatibility # (Default: autodetected) -LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS}" +if [ -n "${LB_LINUX_FLAVOURS}" ] +then + LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS}" +fi + +# \$LB_LINUX_FLAVOURS_WITH_ARCH: set kernel flavour to use (with arch) +# (Default: autodetected) +LB_LINUX_FLAVOURS_WITH_ARCH="${LB_LINUX_FLAVOURS_WITH_ARCH}" # \$LB_LINUX_PACKAGES: set kernel packages to use # (Default: autodetected) @@ -1417,7 +1476,8 @@ [Image] Architecture: ${LB_ARCHITECTURES} Archive-Areas: ${LB_ARCHIVE_AREAS} -Distribution: ${LB_DISTRIBUTION} +Distribution-Chroot: ${LB_DISTRIBUTION_CHROOT} +Distribution-Binary: ${LB_DISTRIBUTION_BINARY} Mirror-Bootstrap: ${LB_MIRROR_BOOTSTRAP} EOF @@ -1427,7 +1487,8 @@ cat >> config/build << EOF Parent-Archive-Areas: ${LB_ARCHIVE_AREAS} -Parent-Distribution: ${LB_PARENT_DISTRIBUTION} +Parent-Distribution-Chroot: ${LB_PARENT_DISTRIBUTION_CHROOT} +Parent-Distribution-Binary: ${LB_PARENT_DISTRIBUTION_BINARY} Parent-Mirror-Bootstrap: ${LB_PARENT_MIRROR_BOOTSTRAP} EOF diff --git a/scripts/build/installer_debian-installer b/scripts/build/installer_debian-installer index ec931fa..e9843d6 100755 --- a/scripts/build/installer_debian-installer +++ b/scripts/build/installer_debian-installer @@ -311,9 +311,6 @@ # Downloading additional packages mkdir -p chroot/binary.deb/archives/partial - mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp - touch chroot/var/lib/dpkg/status - case "${LB_ARCHITECTURES}" in amd64) DI_REQ_PACKAGES="lilo grub-pc" @@ -349,15 +346,15 @@ FIRMWARE_PACKAGES="" - _CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" - - rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} + _CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION_CHROOT}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + + rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} for _CONTENT in ${_CONTENTS} do - wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} - - FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} + + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)" done if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free" @@ -381,15 +378,15 @@ then # FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents). - _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" - - rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} + _CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION_CHROOT}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)" + + rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} for _CONTENT in ${_CONTENTS} do - wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} - - FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)" + wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} + + FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)" done fi @@ -401,7 +398,7 @@ fi # Set apt command prefix - _LB_APT_COMMAND="apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb -o APT::Install-Recommends=false --download-only" + _LB_APT_COMMAND="apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb -o Dir::State::status=/dev/null -o APT::Install-Recommends=false --download-only" if [ "${LB_DEBIAN_INSTALLER}" = "live" ] then @@ -417,7 +414,7 @@ # Drop the packages already installed that d-i doesn't explicitely need _REMAINING_PACKAGES="$(echo ${DI_FIRMWARE_PACKAGES} ${DI_REQ_PACKAGES} | sed -e 's# #|#g')" - _REMAINING_PACKAGES="$(sed -n -e 's|Package: ||p' chroot/var/lib/dpkg/status.tmp | grep -E -v "^(${_REMAINING_PACKAGES})\$")" + _REMAINING_PACKAGES="$(Chroot_package_list chroot | grep -E -v "^(${_REMAINING_PACKAGES})\$")" for _PACKAGE in ${_REMAINING_PACKAGES} do @@ -427,9 +424,6 @@ # Download .debs of the required packages Chroot chroot ${_LB_APT_COMMAND} install ${DI_PACKAGES} ${DI_FIRMWARE_PACKAGES} fi - - # Revert dpkg status file - mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status mv chroot/binary.deb ./ @@ -520,7 +514,7 @@ fi # Udeb handling - mkdir binary.udeb + mkdir -p binary.udeb/pool-udeb/main cd binary.udeb # Downloading udeb indices @@ -576,7 +570,7 @@ do if [ -e "${FILE}" ] then - Install_file "${FILE}" "pool" + Install_file "${FILE}" "pool-udeb" # Prefer local udebs over downloaded udebs rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb @@ -590,7 +584,7 @@ do if [ -e "${FILE}" ] then - Install_file "${FILE}" "pool" + Install_file "${FILE}" "pool-udeb" # Prefer local udebs over downloaded udebs rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb @@ -635,8 +629,8 @@ do if [ -f "$(basename ${UDEB})" ] then - mkdir -p $(dirname ${UDEB}) - mv "$(basename ${UDEB})" "$(dirname ${UDEB})" + Install_file "$(basename ${UDEB})" "pool-udeb" + rm "$(basename ${UDEB})" fi done @@ -645,7 +639,7 @@ cd "${OLDPWD}" mv binary.udeb chroot/root - echo "cd /root/binary.udeb && apt-ftparchive packages pool/main > dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_ARCHITECTURES}/Packages" > chroot/binary.sh + echo "cd /root/binary.udeb && apt-ftparchive packages pool-udeb/main > dists/${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_ARCHITECTURES}/Packages" > chroot/binary.sh Chroot chroot "sh binary.sh" rm -f chroot/binary.sh mv chroot/root/binary.udeb ./ @@ -672,13 +666,13 @@ _LB_APT_VERSION_OPT='-o APT::FTPArchive::Release::Version="'"${_VERSION}"'"' fi - case "${LB_PARENT_DISTRIBUTION}" in + case "${LB_PARENT_DISTRIBUTION_BINARY}" in sid) _SUITE="unstable" ;; *) - _SUITE="${LB_PARENT_DISTRIBUTION}" + _SUITE="${LB_PARENT_DISTRIBUTION_BINARY}" ;; esac @@ -688,7 +682,7 @@ -o APT::FTPArchive::Release::Label="Debian" \ -o APT::FTPArchive::Release::Suite="${_SUITE}" \ ${_LB_APT_VERSION_OPT} \ - -o APT::FTPArchive::Release::Codename="${LB_PARENT_DISTRIBUTION}" \ + -o APT::FTPArchive::Release::Codename="${LB_PARENT_DISTRIBUTION_BINARY}" \ -o APT::FTPArchive::Release::Date="$(date -R)" \ -o APT::FTPArchive::Release::Architectures="${LB_ARCHITECTURES}" \ -o APT::FTPArchive::Release::Components="${LB_PARENT_ARCHIVE_AREAS}" \ @@ -700,19 +694,11 @@ rm -f chroot/binary.sh mv chroot/root/binary ./ - case "${LB_PARENT_DISTRIBUTION}" in - jessie) - DISTRIBUTIONS="stable" - ;; - - *) - DISTRIBUTIONS="stable testing unstable" - ;; - esac - - if [ "${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" != "${LB_PARENT_DISTRIBUTION}" ] - then - DISTRIBUTIONS="${DISTRIBUTIONS} ${LB_PARENT_DISTRIBUTION}" + DISTRIBUTIONS="stable testing unstable" + + if [ "${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" != "${LB_PARENT_DISTRIBUTION_BINARY}" ] + then + DISTRIBUTIONS="${DISTRIBUTIONS} ${LB_PARENT_DISTRIBUTION_BINARY}" fi case "${LIVE_IMAGE_TYPE}" in diff --git a/scripts/build/source_debian b/scripts/build/source_debian index 321ed1b..3960ea2 100755 --- a/scripts/build/source_debian +++ b/scripts/build/source_debian @@ -117,19 +117,19 @@ # where available. workaround: disable backports case "${LB_MODE}" in progress-linux) - case "${LB_DISTRIBUTION}" in + case "${LB_DISTRIBUTION_BINARY}" in *-backports) ;; *) - if grep -qs "${LB_DISTRIBUTION}-backports" chroot/etc/apt/sources.list.d/progress-linux.list + if grep -qs "${LB_DISTRIBUTION_BINARY}-backports" chroot/etc/apt/sources.list.d/progress-linux.list then cp chroot/etc/apt/sources.list.d/progress-linux.list chroot/etc/apt/sources.list.d/progress-linux.list.orig while read _LINE do - if echo "${_LINE}" | grep -qs ${LB_DISTRIBUTION}-backports + if echo "${_LINE}" | grep -qs ${LB_DISTRIBUTION_BINARY}-backports then sed -i -e "s|${_LINE}|#${_LINE}|" chroot/etc/apt/sources.list.d/progress-linux.list fi diff --git a/scripts/build/source_disk b/scripts/build/source_disk index eaaf7d2..291a403 100755 --- a/scripts/build/source_disk +++ b/scripts/build/source_disk @@ -49,8 +49,8 @@ mkdir -p source/.disk -DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')" -DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION} | cut -b 2-)" +DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 1 | tr '[a-z]' '[A-Z]')" +DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 2-)" if [ -e chroot/etc/os-release ] then diff --git a/share/bootloaders/extlinux/ldlinux.c32 b/share/bootloaders/extlinux/ldlinux.c32 deleted file mode 120000 index df554c7..0000000 --- a/share/bootloaders/extlinux/ldlinux.c32 +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/syslinux/modules/bios/ldlinux.c32 \ No newline at end of file diff --git a/share/bootloaders/syslinux/ldlinux.c32 b/share/bootloaders/syslinux/ldlinux.c32 deleted file mode 120000 index df554c7..0000000 --- a/share/bootloaders/syslinux/ldlinux.c32 +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/syslinux/modules/bios/ldlinux.c32 \ No newline at end of file