summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-16grub1: refactor install menu creationjnqnfe
This is necessary as the simplest solution to allow a single speech-synth entry to be added. Gbp-Dch: Short
2020-03-16syslinux: fix duplicate shortcut useLyndon Brown
2020-03-16syslinux: changed 'build' to 'built' in splashjnqnfe
Appears before a timestamp which reflects when the image was built, so 'built' is more correct than 'build' here. Gbp-Dch: Short
2020-03-16syslinux: fix shortcut caret appearing in menu entriesjnqnfe
also fixes the mistaken assignment of the same shortcut for both entries in live.cfg.in Gbp-Dch: Short
2020-03-16syslinux: remove replacement of unused label in menu configsjnqnfe
2020-03-16grub1: fix consistencyjnqnfe
Use the normal appended-params directly in `Grub_live_entry` calls like the failsafe ones. Gbp-Dch: Short
2020-03-16grub1/grub2/loopback: fix missing delimiter in menu kernel parameter listsjnqnfe
The '---' delimiter should appear before the final 'quiet' parameter (which is used by the debian installer I believe). This delimiter is added by live-build in syslinux configs, and is present in both grub2 and syslinux configs in an official debian 7.7 disc image, suggesting strongly that live-build grub/grub2 menu creation code is in the wrong here by missing it. update: this commit previously used -- as was correct at the time, and has since been updated to use --- per #775128; which was previously tackled in a separate later commit. the switch to --- was already done for syslinux (which was not missing the delimiter unlike grub) in ba6b9adeff634845a9ab7cbd5218257a7aa254ab Gbp-Dch: Short Closes: #775143
2020-03-16grub1/grub2/loopback: fix order of quiet kernel parameters in menusjnqnfe
I believe that the `quiet` parameter is meant for d-i not the kernel and thus should be given on the end after a delimiter, as done with syslinux. Here we switch the order to move it to the end. The addition of the missing delimiter will be done in a followup commit. (See #775143) Gbp-Dch: Short
2020-03-16grub2/loopback: fix highlight readabilityjnqnfe
Current splash makes it very difficult to read menu entries. Black as a background color is actually interpreted as transparent, so switching to something else so the highlighted menu entry can be read more easily. Gbp-Dch: Short
2020-03-16grub2/loopback: fix misapplication of quiet kernel parameterjnqnfe
When building grub2 menu entries the quiet param (meant for d-i) was excluded from the rescue menu entries instead of expert. This is the opposite to what is done in the following: - Menu entries seen in official debian 7.7 disc images (grub2 and syslinux configs) - Menu entries created for grub (legacy) - Menu entries created for syslinux The evidence strongly suggests that the grub2 menu creation was in the wrong! (See #775143) Gbp-Dch: Short
2020-03-16grub1: fix wrong variable namejnqnfe
2020-03-16split stdout & stderr auto colouringLyndon Brown
thus for some reason if one is connected to a tty and the other a file, we still get colour in the tty by default. in terms of options, --color and --no-color override both, no granular ones added since it's not worth it imo. this is backwards compatible with custom configs setting `_COLOR`. it could be argued that setting $_COLOR to "false" for the auto non-tty cases is redundant, which it is, but it doesn't hurt to do so; it ensures that if anything (inc. 3rd-party hooks and such) rely on it that it remains correct; and ensures that if anything in the future mistakenly uses $_COLOR instead of $_COLOR_OUT|$_COLOR_ERR that at least that will only be broken for the use case of only one of stdout|sdterr being a tty. Gbp-Dch: Ignore
2020-03-16turn on colour by defaultLyndon Brown
...when stdout+stderr connected to a tty (as opposed for example to being piped to a log file) very helpful to have colour such that the red/yellow of errors/warnings can draw the eye to problems. Gbp-Dch: Short
2020-03-16allow turning off colourLyndon Brown
necessary to give control when colour is default enabled Gbp-Dch: Short
2020-03-16installer: fix double slash in urlsLyndon Brown
2020-03-16installer: expand debugging outputLyndon Brown
2020-03-16installer: move an exclude removal outside of loopLyndon Brown
2020-03-16installer: tweak temp shell script constructionLyndon Brown
Gbp-Dch: Ignore
2020-03-16installer: dedup long pathsLyndon Brown
2020-03-16installer: tidy package listsLyndon Brown
`DI_PACKAGES` does not need to include `DI_REQ_PACKAGES` so long as we pass the latter to apt in the one case where it was not already being given it. in fact with it including that sub-list meant that in the other case where it was being given to apt, it actually just resulted in duplication. Gbp-Dch: Short
2020-03-16installer: misc small tweaksLyndon Brown
Gbp-Dch: Ignore
2020-03-16installer: clear large string once done withLyndon Brown
Gbp-Dch: Ignore
2020-03-16installer: restore udeb existence checkLyndon Brown
this was removed as part of b54bdd7fb18d32178094e8c4e1493b6121044c11 but is actually still needed. Gbp-Dch: Ignore
2020-03-16installer: fix broken loopLyndon Brown
Gbp-Dch: Ignore
2020-03-15fix wrong descriptionLyndon Brown
Gbp-Dch: Ignore
2020-03-15fix missing stage descriptionsLyndon Brown
Gbp-Dch: Ignore
2020-03-15source: properly fix _apt permissions warningLyndon Brown
the chown command needed running within the chroot, since apt-get is being run within the chroot and _apt might have a different UID there than on the host. Gbp-Dch: Short Closes: #953957
2020-03-15CI: deploy from the build stage, rather than rebuilding from scratchLuca Boccassi
No point in doing everything twice Gbp-Dch: ignore
2020-03-15Add autopkgtest: default image buildLuca Boccassi
2020-03-15Add grub EFI support for armhf arch.Steven Shiau
2020-03-13hide mountpoints from nautilusLyndon Brown
when building within a home directory, as /proc, /sys, etc are mounted and unmounted into the chroot at various points in the build, corresponding entries appear and disappear within the side panel of nautilus. this is obviously undesirable. use of `-o x-gvfs-hide` resolves this for the most part. i still see items occasionally pop up and having spent some time experimenting, i'm putting it down to buggy behaviour on the part of nautilus. (aside from those appearing when debootstrap is running - debootstrap also needs this fix). Gbp-Dch: Short
2020-03-13fix comment typoLyndon Brown
Gbp-Dch: Ignore
2020-03-13exit: don't convert numeric exit code to stringLyndon Brown
2020-03-13functions/bootloaders: tidy and simplifyLyndon Brown
2020-03-13locks: tidy lock acquisitionjnqnfe
Combine the check+create done in each script. (The original functions are still callable as before, but a new combined `Aquire_lockfile` function can be called instead, as now used). Note, a further simplification could be done in removing the passing of the lock filename in as a parameter since every use of the functions is with ".lock". The lock functions already have a fallback to ".build/lock" though. Checking the history, the fallback used to be for a system wide lock, which was then replaced with this config-tree specific one. As long as that is not used implicitly by 3rd-party hooks then surely we are free to change the fallback to ".lock" and further remove passing in a name as a param...? history: db5d2b0dcdae96e712661605e17bc9875e224f9f 0aa8289a3773fd8a3885090b72622c2f95ab099c Gbp-Dch: Short Closes: #952918
2020-03-13fix colouring of notice type message prefixesLyndon Brown
previously this was white+bold. the white aspect was dropped since this would not be sensible for users with a white background for their terminal. bold however does not have any effect for me at least so effectively there is no highlighting at all. here we reintroduce a colour, one that will work for both black and white backgrounds of course. purple looks good to me - significantly different to that used for errors and warnings, and works well with command highlighting (as enabled separately).
2020-03-13exit: ensure an appropriate message is printed on unexpected exitLyndon Brown
if a script exits due to a failure and `set -e`, we should ensure that an error message is printed to be clear to the user that something actually went wrong. similarly it would be good to print a suitable message should the user cancel with ctrl+c for instance. Gbp-Dch: Short
2020-03-13fix instances of bad stagefile creation circumstancesLyndon Brown
theres no point in creation of stagefiles being kept within a conditional block of work. if the script completes with success then it should create its stagefile to thus avoid repeating any work that it might have done should it get re-run without being forced. Gbp-Dch: Short
2020-03-13fix instances of broken stagefile handlingLyndon Brown
mismatches in filenames between check and create Gbp-Dch: Short
2020-03-13frontend: tidyLyndon Brown
no need to have exit in both conditions no need to have most of the script within a case branch when all other cases result in an exit. Gbp-Dch: Short
2020-03-13fix splitting bootloader stringLyndon Brown
the existing solution simply did not work
2020-03-13strip useless multi-arch separate directory stuffjnqnfe
(part of never completed side-by-side multi archi support) Several scripts make a call to a function called Check_multiarchitectures, the purpose of which is to adjust the target directory that certain 'live' and 'install' files are located in. The idea is that a script sets up 'DESTDIR', 'DESTDIR_LIVE' and 'DESTDIR_INSTALL' as appropriate and then the script appends a suitable arch dependant postfix to the directory name, depending upon the arch currently being targetted. This would allow the script to be run multiple times, each for a different architecture. This is a part of an implementation of allowing multiple architectures to sit side by side within the same live image, selectable from the bootloader menus. (As opposed to multiple architectures mixed within the same userland). This is evidently the case both from the fact that: 1) The arch specific postfix chosen in that function depends on a var called LB_CURRENT_ARCHITECTURE, which is never set. In fact going back through the git history to the introduction of the function in 0d5ff4ca7596790f853cf637e0fe225cad810a76, the var (even considering var name changes) has never been set by anything. So effectively the call to the function has been entirely redundant all this time. 2) The major build stages do not perform multiple executions of substages per arch. Thus from this perspective it seems that the support was never fully implemented. 3) If any doubt remained, there is an old branch called 'tmp-multiarch' which has a couple of commits making progress with completing support, such as implementing the above missing pieces. The above mentioned branch is 10 years old and can be considered abandoned. It is not clear whether the original author ever intended to complete and merge this; nor is it at all clear at what stage of completion it was at. At any rate, imo it is not at all particularly useful to have extra code and complexity in order to be able to cram multiple environments side by side in one image, not when CDs/DVDs and even to some extent USB pen drives are so cheap. And who really needs more than one environment so desperately on just one such medium. If this was not enough to justify removal, then there is also the fact that the support that was implemented has become completely broken over the years with scripts diverging in terms of the variable names the function modifies such that they are incompatible with it. A quick assessment of the state of this latter aspect: good: - grub-legacy uses the correct var names so is fine - memtest similarly good - installer_debian-installer looks okay questionable: - binary_linux-image uses the correct vars but might not select the right kernel and initrd files to copy (seems to copy all) bad: - grub-pc is making a redundant call, after functionality was moved to the loopback script - loopback is using the wrong vars (INITFS instead of DESTDIR + DESTDIR_INSTALL + DESTDIR_LIVE), plus is doing its own amd64+i686 thing anyway, so the function call would achieve nothing anyway. - syslinux is also using the wrong var names so would not work with it and is not even making the necessary function call. Also the install paths are fixed in the hard coded cfg files anyway so this would need addressing with placeholders and sed replacement, but then it is not entirely clear how things should work with respect to install entries and multi-arch anyway, are we having multiple copies of the installer, one for each target arch and then multiple copies of the install menus, perhaps under different submenus? So, this removes the artefacts of this never completed feature. Gbp-Dch: Short
2020-03-13echo: really ensure log messages go to stdoutLyndon Brown
all echo helpers are used as logging functions with output to go to the terminal. when used in functions that are designed to return a string though the message printed would get incorrectly captured. the previous fix done in e3a987d977aaa417afe74349fa4d97dd6afc1c94 was stupidly flawed; somehow my testing led me to mistakenly believe that was adequate, but retesting proves that it was not. here we create a new FD #3 linked to stdout to output the messages on, which testing shows works as I had actually intended it. e.g. here: ``` Foo () { if [ "$1" = "a" ]; then printf "foo\n"; else printf "error\n"; fi; } ``` we get: ``` ~$ Foo a foo ~$ Foo b error ~$ XX="$(Foo a)" ~$ echo "${XX}" foo ~$ XX="$(Foo b)" ~$ echo "${XX}" error ``` and as demonstrated, "error" got incorrectly captured by in the variable whereas here: ``` exec 3>&1 Foo () { if [ "$1" = "a" ]; then printf "foo\n"; else printf "error\n" >&3; fi; } ``` it is different in the last case: ``` ~$ XX="$(Foo b)" error ~$ echo "${XX}" ``` the error successfully makes it to the terminal, and the variable is an empty string (with a newline automatically printed). Gbp-Dch: Short
2020-03-12debootstrap: use --force-check-gpgLyndon Brown
I asked for such a switch to be added in debootstrap back at the start of 2015 in #775454 as part of a review I undertook of its security. A slightly modified patch was merged a few months later and made it into version 1.0.69. A patch was never merged into live-build to make use of it however. Let's do that now. The benefit of this, as explained in #775454, is that if we want strong security (LB_APT_SECURE=true) then should debootstrap not be able to find the GPG key to verify things with, it will abort with an error instead of falling back to just https downloads with a warning. Such a warning would be easy to miss in the log output, and security could potentially be compromised if this were to happen. Gbp-Dch: Short
2020-03-12CI: fix deploy stageLuca Boccassi
Clean the build tree before running, and list all the stages as the CI implementation does not merge them from multiple includes Gbp-Dch: ignore
2020-03-12Fix typo in changelogLuca Boccassi
Gbp-Dch: ignore
2020-03-12Fix typo in lb_config.1 manpageLuca Boccassi
Gbp-Dch: ignore
2020-03-12Bump Standards-Version to 4.5.0, no changes.Luca Boccassi
2020-03-12Add CI on commits/PRsLuca Boccassi
Gbp-Dch: ignore
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.