summaryrefslogtreecommitdiff
path: root/scripts/build/config
AgeCommit message (Collapse)Author
2020-04-23config: rename Set_config_defaults() to Prepare_config()Lyndon Brown
it mostly applies defaults where a value does not exist, but does more in some cases. the new name better reflects its usage and functionality. Gbp-Dch: Short
2020-04-23config: rename Check_config_defaults() to Validate_config()Lyndon Brown
this is used after applying user settings on top of the defaults, so is not specific to checking defaults; it's a validation checker. Gbp-Dch: Short
2020-04-23--binary-images can support only a single typeLyndon Brown
whilst some parts of the codebase were set up to work with multiple types specified, others did not work with it and would not necessarily be easy to adjust. this thus makes some tweaks to adjust things accordingly. - option renamed to singular form (maintaining backwards compatibility) - a validation check has been added - unnecessary glob style type references fixed - checks with In_list changed to a direct singular comparison - typo of type "netboot" written as just "net" fixed (though unreachable so of no consequence; really the code could be removed but it's trivial) Gbp-Dch: Short
2020-04-23manpages: document all values for --interactiveLyndon Brown
2020-04-23manpage: fix consistency issuesLyndon Brown
- in underlining option parameters - in some cases of single or multiple (quoted + space separated) values Gbp-Dch: Ignore
2020-04-23manpages: indicate in usage that multiple bootloaders can be givenLyndon Brown
Gbp-Dch: Ignore
2020-04-23config: fix wrong saved value for parent archive areasLyndon Brown
2020-03-23args: fix a typoLyndon Brown
Gbp-Dch: Ignore
2020-03-20strip progress-linux distro hacksLyndon Brown
progress-linux, as discussed in MR #142 ([1]) is a little known distro, which appears to be little more than a personal project of the original author of live-build. given that, the expense of maintaining all of these old hacks for it cannot be justified. it is not known whether or not live-build is even used with respect to it since the author abandoned live-build some years ago. also, at least one past change in live-build possibly broke progress-linux compatibility anyway, which would have required progress-linux users of live-build to use a custom progress-linux config, or a progress-linux fork of live-build, and there is no knowing how much of the hacks in this "upstream" codebase any user of progress-linux currently relies upon. and again, progress-linux appears to just be a personal project of Daniel's, with afaik very little userbase. (Daniel seems to be the only developer working on the project which speaks to how small it is). [1]: https://salsa.debian.org/live-team/live-build/-/merge_requests/142 Gbp-Dch: Short
2020-03-20grub: remove old and unused splash codejnqnfe
The LB_GRUB_SPLASH variable is populated by the --grub-splash param but is not actually used for anything. Gbp-Dch: Short
2020-03-20config: fix backwards compatibility breakLyndon Brown
when the --fdisk and --losetup options were removed, the entries in the getopt option list should have remained for backwards compatibility such that the usage warnings can kick in instead of unknown option errors. Gbp-Dch: Ignore
2020-03-20config: fix incomplete rename of --architecturesLyndon Brown
missed the getopt data update in 8b109ffb96282a6dd1aa5d61aa935bcba69c56f1 Gbp-Dch: Ignore
2020-03-17stagefiles: further robustify with auto filenamesLyndon Brown
as suggested by Raphaël rather than have fixed stagefile filename strings at all in the scripts, use `$(basename $0)` to use the name of the script (which is the same for almost all cases anyway, and the stage files are supposed to be almost exclusively unique per-script). we can thus simplify things by determining the filename for most use cases within the functions themselves. this does change the file used by a couple of scripts, affecting backwards compatibility of executing live-build upon an existing partially or fully completed build: - binary_grub-pc used "binary_grub" - chroot_includes used "includes.chroot" care had to be taken for the following cases: - there are some cases like bootstrap_cache, source_debian and bootstrap_debootstrap which are dealing with more than one file, and/or otherwise a filename that is not specific to the script itself exactly, or should not be based upon its name. - some cases like chroot_cache, bootstrap_cache and chroot_install-packages need to append something to the end of the name depending upon which pass/action mode the script is being executed with. - furthermore in the bootstrap_cache case one of the filenames is used within the bootstrap_debootstrap and thus needs very careful handling to be certain that a change in filename of bootstrap_cache does not break bootstrap_debootstrap. Gbp-Dch: Short
2020-03-17stagefiles: simplify & robustifyLyndon Brown
- avoid all need to pass ".build/" path in stage file names into the functions - add a helper to remove a stage file (required to complete the above properly) - avoid duplicating filenames within scripts which makes them prone to mistakes (some instances of which I've actually encountered and had to fix) Gbp-Dch: Short
2020-03-16use local scope for private function varsLyndon Brown
all vars affected have been carefully checked to be quite certain that they are definitely local where variable is assigned the return value of a function/command, the local "declaration" is deliberately done on a separate line, since `local FOO` is actually treated itself as a command rather than a declaration; will thus always cause $? to be zero, and thus if done on the same line as such an assignment can not only clobber $? but in doing so unintentionally blocks failure of a command from triggering the expected exit from having `set -e`. also, from testing, i have found that when assigning "${@}" this must be done on a separate line confusingly as otherwise an error occurs. Gbp-Dch: Short
2020-03-16allow turning off colourLyndon Brown
necessary to give control when colour is default enabled Gbp-Dch: Short
2020-03-12Revert "Test for executables: replace 'which' with more robust 'command -v'"Luca Boccassi
This reverts commit 2d9ab1f7f82f9a98b97d1503c1e3f31c86061c15. Causes test failure due to bashism.
2020-03-12Test for executables: replace 'which' with more robust 'command -v'johnraff
Instances of: if [ $(which <command> ] have been replaced with: if command -v <command> >/dev/null which is considered to be more robust in a range of environments. scripts/build/chroot_archives: line 259: if [ "${LB_APT}" = "aptitude" ] && [ ! $(Chroot chroot "which aptitude") ] has been left untouched because the chroot might require a more complex command which would need more testing. manpages/Makefile: line 42: @if [ ! -x "$$(which po4a 2>/dev/null)" ]; \ has been left untouched because I am not sufficiently familiar with makefiles.
2020-03-12remove obsolete loop-aes-utils related losetup hackLyndon Brown
677415f6d7efc1e5b888570d70af311d2900c69c (2007) in v1.0~a2-1 added a hack relating to the loop-aes-utils package and losetup. this commit bundled a bunch of changes, it was not specific to the hack, and so info about the hack is limited to a brief comment included within the related change in defaults: ``` # Workaround for loop-aes-utils divertion # (loop-aes-utils' losetup lacks features). ``` though it is very similar to the removed fdisk hack in that it seems that one package may replace a binary from another, moving the original to a new location, and this hack gives the user the opportunity to select the original instead of the one put in its place, for use in LB. the comment mentions a package called loop-aes-utils as being the package that performs such a diversion, and that the need for the hack was that losetup itself lacked features, presumably encryption support, and it is clear that it is the losetup binary that is the focus of the diversion. looking into the history of loop-aes-utils a little, this package was dropped from debian back in 2012 (#680748), favouring encrytion support of dm-crypt/cryptsetup. double checking file contents of packages, only the mount package carries an /sbin/losetup file, so presumably this means that dm-setup/cryptsetup do not perform such a diversion of losetup (i.e. their use is exclusively done directly). since the possible diversion is simply gone, that completely removes any point in having the hack of giving users choice between losetup and the diverted one. so let's remove this obsolete hack...
2020-03-11remove obsolete fdisk hackLyndon Brown
8321653cb36511324d576e65cb13b5c9b0c5f438 (from 2007) introduced a hack to work around bug #445304 in gnu-fdisk for users who may have replaced fdisk with the classic gnu version. the hack allowed users to select an alternate fdisk binary to use to work around the buggy binary. bug #445304 is marked as found in v1.0-1 and fixed in v1.2-1, though may have been fixe din v1.1. it was marked fixed in 2009. checking the package archive, gnu-fdisk does not actually exist anymore in debian, with one exception - it is available for arm64 on sid via debports, and that version is 1.3 so thus includes the necessary fix anyway. it is thus pointless now that we still carry this hack. Gbp-Dch: Short
2020-03-11amend copyright & licensing blocksLyndon Brown
Current versions of the project files are built upon versions published and licensed by Daniel Baumann, but are modified copies of those files and thus need to be marked as such per licensing requirements (afaik he did not pass along ownership / licensing rights to anyone when he left the project). We should also be careful to not be misrepresenting such modified copies as being attributed to Daniel. Adding a new copyright line referring to "The Debian Live team" should suffice for this. The authorship block in man pages has also similarly been updated. Notes: - tweaked a copy of daniel copyright lines stating 2014 instead of 2015. both of these cases were in files that i had personally introduced in some of my past merged commits that moved some code around. i don't know why they stated 2014. - binary_onie was introduced in 2018, so that has a 2018 date instead of 2016 unlike the rest. - 'efi-image' is a 3rd-party (Canonical Ltd) work that we bundle, but it has been modified by 674794a8f4d61a729d2dbd6d99385d2826138694 and 36a3ba76347ef72df1c316312ed3a26aa4b0c816 so I similarly added a debian live copyright line. - 'grub-cpmodules' is similar. it was only changed by the indentation fix of 36a3ba76347ef72df1c316312ed3a26aa4b0c816 but modification is modification, and this does help cover any possible future changes that might be made.
2020-03-10config: improve documentationLyndon Brown
2020-03-10arguments: fix unreachable and poor argument error handlingLyndon Brown
all scripts use `set -e` which means that if getop fails, the subsequent error check that would print an error in addition to any printed by getopt itself would never actually be reached. the first though here would be to remove the pointless error check, but getopt does not include the word "error" with an unrecognised option failure, nor does it use colour to highlight problems, both of which mean that it is a little lacking in terms of highlighting problems to users. thus we properly capture and use the exit code here and output an appropriate message per invalid argument vs getopt internal error. also, removed the redundant stderr redirection which is already done by Echo_error(). Gbp-Dch: Short
2020-03-10config: rename the config set/check functions for clarityjnqnfe
Gbp-Dch: Short Closes: #952920
2020-03-10tidy script init (4/4) - top level cmd "auto redirect" handlingLyndon Brown
Partial fix for #952919 Gbp-Dch: Short Closes: #952919
2020-03-10tidy script init (3/4) - top level commandsjnqnfe
Partialfix for #952919 Gbp-Dch: Short
2020-03-10tidy script init (1/4) - arg and config processingjnqnfe
Partial fix for #952919 Gbp-Dch: Short
2020-03-09fix consistency in binary execution and existance checkingLyndon Brown
- prefer using `which` over hard coded paths - it is redundant to check that the bin pointed to the return of `which` exists and is executable, `which` already gives us assurance of that if it returns true! - the redirection of output (`2>/dev/null`) seems to be unnecessary from my testing. the instances relatnig to fdisk and losetup in functions/defaults.sh have been left as they are since they get executed by `lb config` which can run without sudo elevation unlike `lb build` and in that case `which` would fail to find these binaries resulting in error. this also fixes a bug showing an error for missing debootstrap - this tool requires sudo privileges to run and thus is not found via a none elevated which search. Gbp-Dch: Short Closes: #952927
2020-03-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2020-03-05config: rename --architectures to --architectureLyndon Brown
this has only ever supported specifying a single arch, thus was confusing being plural Gbp-Dch: Short Closes: #952892
2020-03-05fix capitalisation of some output messagesjnqnfe
Closes: #952875
2020-03-05simplify --debian-installer choicesjnqnfe
`false` and `none` make no sense as choices for this option. Here we replace `false` with `none`, and remove `true`. Note that `true` was treated as an alias for netinst (see the changes to source_disk and and binary_disk). For backwards compatibility we still allow `true` and `false` by converting them to `netinst` and `none` respectively, whilst printing a warning to encourage users to move to `netinst`/`none`. Gbp-Dch: Short Closes: #952864
2020-03-05don't unnecessarily convert exit codes to stringsLyndon Brown
Closes: #952861
2020-03-05manpage: fix wrong description for --firmware-binaryLyndon Brown
--firmware-binary adds firmware to d-i, --firmware-chroot adds to live Gbp-Dch: Short
2019-12-19Support --distribution-binary and --distribution-chrootRaphaël Hertzog
This makes it possible to build an image against a first distribution (--distribution-chroot) and have the resulting image point to another distribution (--distribution-binary). We can use this to build against a snapshot and have the result use the original distribution that was snapshotted. Closes: #888507
2019-06-19--mirror-binary* was not properly sortedRoland Clobus
2019-06-16Reordered the command line options to make them in alphabetical orderRoland Clobus
2019-06-16Manpage: Added documentation for --bootstrap-qemu-[arch|exclude|static]Roland Clobus
2019-06-16Manpage: Added documentation for --loadlinRoland Clobus
2019-06-16Manpage: Added documentation for --firmware-binary and --firmware-chrootRoland Clobus
2019-06-16Manpage: --mode explicitly supports debian and progress-linux. Special ↵Roland Clobus
handling for ubuntu was dropped 2015-05-03
2019-06-16Manpage: Added documentation for --hdd-label, --hdd-size and ↵Roland Clobus
--hdd-partition-start
2019-06-16Manpage: Added documentation for --image-nameRoland Clobus
2019-06-16--initramfs support none and live-bootRoland Clobus
2019-06-16Matched the documentation of --checksums to the implementation in live-bootRoland Clobus
2019-06-03Fixed a typo for --clean in 'lb config --help'Roland Clobus
2019-06-03Mention --breakpoints in 'lb config --help'Roland Clobus
2019-06-03Removed option --bootstrap, which is not implemented.Roland Clobus
2019-06-03Do not store _QUIET in the configuration file, otherwise the overridesRoland Clobus
in the command line get ignored. Adds a documentation line for the other command line options as well.
2019-06-03Removed obsolete short command line options.Roland Clobus
-f was --filesystem -l was --language -p was --package-list -e was --encryption