summaryrefslogtreecommitdiff
path: root/scripts/build/binary_iso
AgeCommit message (Collapse)Author
2021-02-14Fix build on architecture without syslinuxLuca Boccassi
Don't run xorriso with -isohybrid-mbr if LB_BOOTLOADER_BIOS is not set to syslinux Closes: #982746
2021-01-15Apply SOURCE_DATE_EPOCH to newly generated files and create a logRoland Clobus
2021-01-15SOURCE_DATE_EPOCH is always setRoland Clobus
2020-12-13Delay resolving the timestamp for the ISO volume to the moment the ISO-image ↵Roland Clobus
is created
2020-12-07Bugfix: use minutes instead of month in the time of the modification date fieldRoland Clobus
2020-11-24binary_iso: Execute mkdir binary/.disk before writing to itMatthijs Kooijman
Before commit 9f3e5fe8d (Fix the way the .disk/mkisofs file is created) all these commands (`mkdir`, write to `binary/.disk/mkisofs` and `xorriso`) were in the same `binary.sh` script. Since that commit, the write was extracted, to prevent issues with quoting, but the related mkdir was left in `binary.sh`. This means that the write is now executed first, and the `mkdir` only afterwards, making the `mkdir` quite pointless. In practice, this did not break becaue binary_disk also does the same `mkdir` and runs before `binary_iso`, but if one runs commands manually and skips `binary_iso`, then this does break. Even though this is not really a supported usecase, just move the mkdir outside of `binary.sh`, so it runs *before* the write again as intended.
2020-05-05s/Remove_package/Remove_packages/Lyndon Brown
it removes one or more, so should be plural for clarity Gbp-Dch: Short
2020-05-05s/Install_package/Install_packages/Lyndon Brown
it installs one or more, so should be plural for clarity Gbp-Dch: Short
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-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-04-23config: s/LIVE_IMAGE_TYPE/LB_IMAGE_TYPE/Lyndon Brown
no backwards compatibility hack for reading the old var from existing saved config used because this was previously stored in the alternate format config/build file. Gbp-Dch: Short
2020-04-23config: s/LIVE_IMAGE_NAME/LB_IMAGE_NAME/Lyndon Brown
no backwards compatibility hack for reading the old var from existing saved config used because this was previously stored in the alternate format config/build file. Gbp-Dch: Short
2020-04-23move grub-pc specific code to actual grub-pc scriptLyndon Brown
the grub-pc image creation code has no business being in binary_iso, it should be in binary_grub-pc. it should be noted that the binary_iso script did not even have the necessary package check for grub-mkimage, while binary_grub-pc did have it, pointlessly. Gbp-Dch: Short
2020-04-23rename LB_ARCHITECTURES to LB_ARCHITECTURELyndon Brown
this was previously not done in 8b109ffb96282a6dd1aa5d61aa935bcba69c56f1 to keep the renaming simple, but leaving the variable plural is a cause for confusion. since this property is stored in the INI style config/build config file rather than a shell script based one, at the property there is already singular, there was no need for a backwards compatibility hack. Gbp-Dch: Short
2020-04-23bootloaders: improve bootloader list handlingLyndon Brown
two parts of the code worked with both comma and space separated lists, while two others only worked with comma separated. swapping out commas with spaces when we setup the var in Set_config_defaults() means that individual scripts no longer need to worry about it and everything supports both; and that we can avoid the IFS/OLDIFS mess. Gbp-Dch: Short
2020-04-23fix outdated grub-legacy bootloader name referencesLyndon Brown
2020-04-23binary_iso: remove duplicate copying of grub binariesjnqnfe
these files are already copied into place in the binary_grub-pc script. Gbp-Dch: Short
2020-04-23grub-pc: fix broken boot capabilityLyndon Brown
Closes: #956131
2020-03-20binary_iso: remove duplicate xorriso paramLyndon Brown
-J is already in the generic set defined at the start Gbp-Dch: Short
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-17stagefiles: s/Require_stagefile/Require_stagefiles/Lyndon Brown
this function takes one or more required stage fileS _plural_, and exits if any are missing (or at least it does now after the refactor). let's rename it to make things more clear Gbp-Dch: Short
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-13fix comment typoLyndon Brown
Gbp-Dch: Ignore
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-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-10help/usage: remove pointless varsLyndon Brown
build scripts never call Help() and so the empty HELP strings are pointless. (when called with --help they call Man()). Closes: #952859 Gbp-Dch: Short
2020-03-10tidy script init (1/4) - arg and config processingjnqnfe
Partial fix for #952919 Gbp-Dch: Short
2020-03-05cache: clarify and simplify package cache save/restorejnqnfe
These functions are specific to handling packages stored in the cache, not other files. They are also always used with the same `cache/packages.` prefix to the path. Gbp-Dch: Short Closes: #952916
2020-03-05binary_iso: fix wrong echo helperLyndon Brown
Closes: #952881
2020-03-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2019-12-19Revert some Kali-specific changeRaphaël Hertzog
That change was erroneously committed as part of 44b9b0a6501476de594ce3783cea5df0c141478c
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
2017-11-20Fix the way the .disk/mkisofs file is createdRaphaël Hertzog
Thanks to Daniel Reichelt <debian@nachtgeist.net> for the patch. Closes: #881941
2017-08-10Add .disk/mkisofs file recording the xorriso command lineRaphaël Hertzog
Thanks to Thomas Schmitt <scdbackup@gmx.net> for the suggestion.
2017-08-07Drop the --hardlinks option from xorriso command line callRaphaël Hertzog
2016-12-02Instead of renaming kernel for syslinux, create hardlinksRaphaël Hertzog
2016-11-28Set xorriso's "modification time" to SOURCE_DATE_EPOCHRaphaël Hertzog
Thanks to Chris Lamb <lamby@debian.org> for the patch. Closes: #831379
2016-07-31Added EFI support by the means of grub-efiAdrian Gibanel Lopez
This work is based on debian-cd team work and uses, as much as possible, the same mkisofs options than the Debian Installation CD disk does. It assumes that /boot/grub/grub.cfg (and other design items) is generated by: binary_loopback_cfg . It relies on efi-image and grub-cpmodules being setup as build scripts on live-build package. In the future event of these two files being moved to a binary package (they are originally from: src: live-installer) the binary_grub-efi script would have to be rewritten to take the new paths into account.
2016-07-31Handle multiple bootloaders properly in binary_iso . Force mkisofs to add an ↵Adrian Gibanel Lopez
additional eltorito entry if we have more than one bootloader.
2016-07-31Added new multi bootloader helper functionsAdrian Gibanel Lopez
* Added: functions/bootloaders.sh . This file adds bootloader functions that are heavily used in efi scenarios where a bootloader can act as a first or an extra bootloader. Since the introduction of the new switch: --bootloaders you can setup it like this: --bootloaders=syslinux,grub-efi . This means that syslinux is the first bootloader and grub-efi is the extra bootloader. * Added new bootloader functions: Check_Non_First_Bootloader and Check_Non_Extra_Bootloader. These functions let each one of the bootloaders abort the build because they cannot perform a role either as a first bootloader or as an extra bootloader. * Added bootloader functions: Check_First_Bootloader_Role, Check_Extra_Bootloader_Role and Check_Any_Bootloader_Role These functions let bootloaders to force their default role in a single line. At the same time many binary bootloaders were rewritten to make use of the new bootloader role functions explained above. These roles were enforced: binary_grub-legacy : First bootloader binary_grub-pc : Either first or extra bootloader binary_syslinux : Either first or extra bootloader If a bootloader is tried to be used in a role that it's not meant to be used then the build fails because that might lead to a non-bootable system.
2016-07-31Remove repeated LB_PRIMARY_BOOTLOADER definitionAdrian Gibanel Lopez
2015-08-29Multi bootloader supportAdrian Gibanel Lopez
Note: OLDIFS use makes IFS to be reset to "" instead to it being unset. Either we need to detect if old IFS was unset to unset it or we need a proper way of setting it as a local variable. Even more IFS it's not currently used in Check_package (which it's called from: binary_hdd). we should have a clean way of resetting/unsetting IFS when calling Check_package. The other approach it's to explicitly define IFS with its default value in the places inside live-build code where we implicitly suppose that it's going to have its default value.
2015-05-04Renaming grub2 helper to grub-pc for later grub-efi addition.Daniel Baumann
2015-02-07Applying patch from jnqnfe <jnqnfe@gmail.com> to correct grub2 bootloader ↵Daniel Baumann
directory within the binary images (Closes: #775316).
2015-01-25Using -iso-level 3 option for xorriso to work with image sizes beyond 4 GB ↵Daniel Baumann
(Closes: #775424).
2015-01-07Adding check for isolinux build-depends in chroot.Daniel Baumann
2015-01-04Updating year in copyright notices to 2015.Daniel Baumann
2015-01-04Changing package dependency checks within chroot to work outside as well.Daniel Baumann
2014-12-10Dropping support for wheezy.Daniel Baumann