summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-04binary_iso: properly handle multiple bootloadersLyndon Brown
with LB_BOOTLOADER_BIOS and LB_BOOTLOADER_EFI introduced, we can simplify and correct things here. previously it was possible for more than one of each type to be added. Gbp-Dch: Short
2020-05-04config: improve BIOS/EFI bootloader selection handlingLyndon Brown
the design choice from when EFI support was introduced was to change `--bootloader` to `--bootloaders`, with users specifying their selection of BIOS and EFI bootloaders together. at this time there were not even any decent validation checks being performed, and invalid combinations could cause some chaos. since then proper validation was put in place, including checking that only a single instance of each of BIOS and EFI bootloaders exists in the selection. here we tweak things such that we stick with the same option, but we split the selection up such that we store the BIOS and EFI selections separately within the saved config file, and offer it up to scripts to help simplify those scripts. we must however retain support for splitting from the combined option, both because we still use it in the combined option, and for backwards compatibility with older saved configs. Gbp-Dch: Short
2020-05-04fully validate BIOS/EFI bootloader combinationsLyndon Brown
thus far, config bootloader validation only did the basic check that each bootloader specified was a known and supported bootloader, it did not check combinations. it now checks combinations, and strips out the previous "bootloader role" stuff. the no-bootloaders warning is duplicated, covering two slightly different situations (empty string, and whitespace string). this is anticipated to be just temporary, with this just being the first step in better handling bootloader selections. Gbp-Dch: Short
2020-05-04binary_hdd: remove incorrect local scopeLyndon Brown
the "FIXME" function wrapper is just to temporarily disable the code. Gbp-Dch: Ignore
2020-05-04indentation fixLyndon Brown
Gbp-Dch: Ignore
2020-05-04fix redundant and incorrect source selectionsLyndon Brown
"grub" presumably was what is now called "grub-legacy" removed both because there is already a proper piece of code adding bootloader packages. Gbp-Dch: Ignore
2020-05-04fix another overlooked "grub" -> "grub-legacy" instanceLyndon Brown
Gbp-Dch: Ignore
2020-05-04config: add noteLyndon Brown
The core purpose of `Prepare_config()` is to prepare the config by setting defaults where not specified. It should not be involved itself in validation of user options. This can be an important distinction, for instance in `clean` where we use this function, but avoid validation to potentially allow for an option that deletes the config, that should work even in the face of an invalid config. Gbp-Dch: Ignore
2020-05-04config: fix inadequate validation checkLyndon Brown
Gbp-Dch: Ignore
2020-05-04extend config validation to all build componentsLyndon Brown
while `lb build` ran the config validation check, spotting invalid configs and stopping with an error, the major build stages if executed directly did not, nor did the component stages. here we move execution of the validation function into the common init function, with an exported variable used to indicate that validation has been performed. thus validation is performed no matter what part of the build system you execute, but only once. Gbp-Dch: Short
2020-05-04get rid of a couple of useless variablesLyndon Brown
Gbp-Dch: Ignore
2020-05-04clean: tweak initLyndon Brown
`Init_config_data` is more suited to build scripts than here. note that it's not used in `config` either. this deliberately does not pass along arguments to it because `Arguments()` can only handle the basic common options, not the `clean` set. this is somewhat confusing and causes a pointless execution of `getopt`. furthermore the function is expanding slightly further beyond it's original scope, with yet more change coming that's unsuitable for `clean`, so it makes sense to avoid using the function here just for the couple of function calls needed. validation of the config is disabled, as it is not performed currently. it is not clear if it should be enabled or not for `clean`. it may be useful to not validate, if we wish to be able to provide users with an option to be able to delete the config. Gbp-Dch: Ignore
2020-05-03bootloaders: add timezone to splash timestampLyndon Brown
2020-05-03config: fix stale live-build version in iso-preparerLyndon Brown
using `$VERSION` as part of the default `$LB_ISO_PREPARER` means that when you simply run `lb config` once, this variable is stored as a part of the string, and replaced on use, but if you run `lb config` twice, it gets replaced with a fixed version, that is then used in all subsequent builds. let's replace with a placeholder (`@LB_VERSION@`) that can be used both in the default, or in user strings, and will be replaced on use only. this means that subsequent builds will always reflect the actual version of live-build used. Gbp-Dch: Ignore
2020-05-03disk_info: obey new UTC timestamp controlLyndon Brown
2020-05-03source_disk: de-duplicate date constructionLyndon Brown
Gbp-Dch: Ignore
2020-05-03syslinux: obey new UTC timestamp controlLyndon Brown
2020-05-03config: obey new UTC timestamp control for default ISO volume labelLyndon Brown
2020-05-03config: provide UTC timestamp controlLyndon Brown
`DATE_UTC_OPTION` is set in `Prepare_config()` for use by scripts, even though only a few scripts will actually use it, since it allows those scripts to be cleaner. we may want to possibly extend this as a `DATE_OPTIONS` variable perhaps as part of enabling proper reproduciblity. Gbp-Dch: Short
2020-05-03syslinux: support timezone date componentLyndon Brown
since date is not obtained as UTC, timezone is an important detail of understanding the given time, which users may want to make use of. Gbp-Dch: Short
2020-05-03syslinux: fix date construction accuracy issueLyndon Brown
don't construct each part from a fresh "now", which can result in inaccuracies in the overall date due to "now" drifting over the individual date calls. instead feed the full date that was obtained back into it when extracting the component parts. Gbp-Dch: Ignore
2020-05-03config: fix storage of --jffs2-eraseblock valueLyndon Brown
broken since it's introduction in 9ffb223d703a4bbb76e5278e59b3cc183f2f1aca Gbp-Dch: Short
2020-05-03config: small output alignment fixLyndon Brown
Gbp-Dch: Ignore
2020-05-03fix usage/help/man bugsLyndon Brown
- the definition of $PROGRAM as used in $USAGE strings defined in each script has been broken for a long time, being simply "lb" when it needs to be "lb COMMAND". - `config` changed $PROGRAM to "lb config" thus its output was correct in this regard unlike everything else, but with the switch to a more "intelligent" `Man()` function recently, it means that instead of `man lb config`, what was actually run was `man lb config config`, which displayed the manpage, then on exiting with `q`, it showed some sort of index line todo with a "config" search (no exact manpage match?), for which you had to enter `ctrl+c` to get rid of. this revises things to fix the issues, minimising change by changing $PROGRAM to "lb COMMAND", with the frontend overriding this. Gbp-Dch: Ignore
2020-05-03archives: output actual error for bad pass paramLyndon Brown
Gbp-Dch: Ignore
2020-05-03adjust action arg consumption orderLyndon Brown
did not properly consider all usage cases properly in deciding placement. this captured `--usage` in `$PROGRAM --usage` as the action for instance. Gbp-Dch: Ignore
2020-05-03args: restore a little tidyingLyndon Brown
lost in a reversion Gbp-Dch: Ignore
2020-05-03manpages: formatting fixLyndon Brown
Gbp-Dch: Ignore
2020-05-02config: tweak config file loading orderLyndon Brown
load the base set of files first, then any user arch/dist specific override files second. this is important since whenever config items get moved in the base files, this can break the override files, if an option specified in one was moved to a different common file that it loaded after. Gbp-Dch: Ignore
2020-05-02clean: output error on invalid argumentLyndon Brown
2020-05-02options: de-duplicate common option handlingLyndon Brown
2020-05-02config: refactor basic package list constructionLyndon Brown
Gbp-Dch: Ignore
2020-05-02clean: expand debuggingLyndon Brown
Gbp-Dch: Ignore
2020-05-02clean: fix missing 'noauto' param for substage executionLyndon Brown
these should be bypassing the possibility of running the auto script surely, just like how this is done for `--all`, otherwise you pass through the auto file twice. Gbp-Dch: Ignore
2020-05-02clean: improve arg handlingLyndon Brown
- detect lack of options using actual arg count rather than first arg being an empty string. - fix string splitting issues by looping properly on "${@}" - tidier Gbp-Dch: Ignore
2020-05-02improve stagefiles encapsulationLyndon Brown
- added and used Stagefiles_dir() - added and used Stagefile_exists() pretty self explanatory. Gbp-Dch: Short
2020-05-02caching: output error on invalid action paramLyndon Brown
for bootstrap, the check is moved to the case statement for greater robustness, and for consistency with other scripts. Gbp-Dch: Ignore
2020-05-02output error for incorrect action in chroot prep scriptsLyndon Brown
...alongside printing usage (which is perhaps unnecessary), so that it is actually clear to users that a problem occurred, and what. and capture it before option processing of remaining args. Gbp-Dch: Ignore
2020-05-02tidy up Echo_breakage()Lyndon Brown
- it's only used by the debootstrap script after alternatives were dropped long ago, so let's move it, avoiding it being loaded for everything else. - there's no need to pass printing another message through it. - there's little point in making the sid distinction if you happen to decide to build sid, it's a given that it's less stable than stable. really, is there any need for this at all? Gbp-Dch: Ignore
2020-05-02debootstrap: remove useless obtaining debootstrap verbose help stringsLyndon Brown
Gbp-Dch: Ignore
2020-05-02config: simplify mode defaultLyndon Brown
all roads lead to debian i was waiting to get to the work on properly tackling the mode stuff, but let's just tidy this now... Gbp-Dch: Ignore
2020-05-02move and rename Common_config_files()Lyndon Brown
for better encapsulation, and for consistency with other config file handling functions in the new location. Gbp-Dch: Ignore
2020-05-02bootloaders: tweak default splash text to avoid overlapLyndon Brown
the default grub config has a quirk of using the syslinux splash when present, which as a sidenote i believe is because only the syslinux script has the code for converting an SVG (i've not researched to confirm). the problem is that the default splash is such, with the text listing package versions used, that this overlaps with the menu title in grub. i've tweaked the "built on" and package details text to reduce its size (bumped the line-height up slightly though) to avoid the overlap. this was a pain in the *** to get done. inkscape likes to crash at the slightest little thing like clicking on interface controls; each time it saves it seems to swap a bunch of stuff in the file which can make a hugely messy diff, i had to save, close, open, change, undo, and save again, just to get a sain diff; and numerous times testing different sizes and such in actual builds (rather than separate conversions) some of the package detail lines would for some unknown reason decide to end up on the same line as another, wth... anyway, i've finally managed to get a new revision successfully created and it seems bug free wrt. that same line issue to me, both converting outside of live-build (in my sid host), and within a buster build. the size of the text changed seems closer to the size of the actual menu entries (there's no need for it to be bigger), and now is nicely clear of the menu title. Gbp-Dch: Short
2020-05-02syslinux: updated SVG for splashLyndon Brown
opening the file in inkscape resulted in a dialog explaining that inkscape used to work on a 90 DPI basis but switched to 96 DPI for better compatibility reasons, and wanted to convert the file. this is simply the result of it having done the conversion. it advised that for documents not intended to be printed that there should be no noticeable difference. i checked the output and it seems identical to before. i tried to look at the actual diff, but it's a lot of noise, most of which is just reordering, and i gave up, since the output looks identical i'm not going to worry. Gbp-Dch: Ignore
2020-05-01grub2: fix missed vga= consistency adjustmentLyndon Brown
Gbp-Dch: Ignore
2020-05-01grub2: fix duplicate live entriesLyndon Brown
in tweaking a previous commit to remove some excessive change before submission, i mistakenly identified the part of the sed replacement restored here as being unnecessary to its functionality, but in fact it is. without it the placeholder is not actually removed. the lack of removal of the placeholder meant that you ended up with duplicate copies of the live menu entries. Gbp-Dch: Ignore
2020-05-01bootloaders: change 'Advanced options' to 'Utilities'Lyndon Brown
more fitting now that we've moved the advanced installer entries out to a different submenu, leaving just memtest (and HDT on syslinux). the advanced.cfg file is also renamed to utilities.cfg in the syslinux case, but in a backwards compatible way of moving the user advanced.cfg file over the new one, if the user provides a file with the old name. alternatively we could just leave the old name in place, but that would be a little odd. Gbp-Dch: Short
2020-05-01grub2: fix vga= consistencyLyndon Brown
- most entries used vga=788 rather than vga=normal (which are equivalent) - the syslinux menu uses 788 exclusively - so do the official install discs Gbp-Dch: Short
2020-05-01grub2: tiny label consistency tweakLyndon Brown
as per style in official Debian install discs Gbp-Dch: Ignore
2020-05-01Replace 'which' with 'command -v' to test for the existance of an executablejohnraff
This is considered to be more robust. Two instances remain: scripts/build/chroot_archives, line 257: if [ "${LB_APT}" = "aptitude" ] && [ ! $(Chroot chroot "which aptitude") ] The command is run inside a chroot where the environment might be special, and would need further testing. manpages/Makefile, line 42: @if [ ! -x "$$(which po4a 2>/dev/null)" ]; \ I am insufficiently familiar with makefile syntax to edit this.