summaryrefslogtreecommitdiff
path: root/scripts/build/source_debian
AgeCommit message (Collapse)Author
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-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-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-23config: obsolete old --tasksel optionLyndon Brown
note that the bit of code removed from source_debian relies upon a variable LB_TASKS which itself is an old leftover artefact from before v4.0. 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-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-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-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-13fix splitting bootloader stringLyndon Brown
the existing solution simply did not work
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-11source: target downloads with corresponding versionjnqnfe
Prefer downloading the version of the source package that actually corresponds to the version of the binary. Should apt-update be run and a package updated, we do not really want to fetch a newer copy of the source than that of the binary, we want the exact corresponding version (kinda the whole point of compiling a source disc that they correspond). If the exact version is no longer available then it is surely preferable to list it in the missing list than end up with a newer version. Gbp-Dch: Short Closes: #952932
2020-03-10source: fix apt warningsLyndon Brown
the source stage emitted the following output for each packages downloaded. note the troubling warning at the end. ``` Reading package lists... Done NOTICE: 'grep' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/debian/grep.git Please use: git clone https://salsa.debian.org/debian/grep.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1579 kB of source archives. Get:1 http://deb.debian.org/debian buster/main grep 3.3-1 (dsc) [2038 B] Get:2 http://deb.debian.org/debian buster/main grep 3.3-1 (tar) [1473 kB] Get:3 http://deb.debian.org/debian buster/main grep 3.3-1 (diff) [104 kB] Fetched 1579 kB in 1s (1293 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'grep_3.3-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) ``` this occurred because the '_apt' user did not have permission to write to the destination directory and so was falling back to downloading as root in order to do its work. prior to 158950b873bcfbac2d6bd59fd82a15b9fb4476b8 all source packages were downloaded directly to the root of the chroot. that commit changed this to save them into a new clean directory within it instead. thus to fix the problem we can simply set the ownership of this new directory to '_apt'. Gbp-Dch: Short
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-10source: downloaded pkgs to a clean directory rather than chroot rootjnqnfe
Closes: #952931
2020-03-10source: minor tweaksjnqnfe
Gbp-Dch: Ignore
2020-03-10tidy script init (1/4) - arg and config processingjnqnfe
Partial fix for #952919 Gbp-Dch: Short
2020-03-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2020-03-05memtest: better handle obsolete LB_MEMTEST valueLyndon Brown
available values currently are memtest86+|memtest86|none; "false" is presumably handled for backwards compatibility there is no need to handle this in individual scripts. the right place to handle it is in Set_Defaults as now done Gbp-Dch: Short Closes: #952866
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
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-01-04Updating year in copyright notices to 2015.Daniel Baumann
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE).Daniel Baumann
2014-05-07Also creating source stagefile in source_debian.Daniel Baumann
2014-02-08Updating copyright notices for 2014.Daniel Baumann
2013-09-18Making workaround for apt-get source actually working in ↵Daniel Baumann
backports-included-but-not-enabled scenarios.
2013-08-07Stripping backports from sources.list temporarily when obtaining sources to ↵Daniel Baumann
workaround apts disregard of pinning for the cases where backports are included but not enabled.
2013-05-06Removing all references to my old email address.Daniel Baumann
2013-05-06Making some more debian source-selections conditional on certain image options.Daniel Baumann
2013-05-06Dropping powerpc bootloader support (yaboot), there is nobody actively ↵Daniel Baumann
maintaining this in live-build.
2013-05-06Dropping sparc bootloader support (silo), there is nobody actively ↵Daniel Baumann
maintaining this in live-build.
2013-05-06Updating year in all copyright notices.Daniel Baumann
2013-05-06Moving off binary image architecture into new config tree format.Daniel Baumann
2013-05-06Switching from genisoimage to xorriso.Daniel Baumann
2013-05-06Adding debian version 4.0~a1-1.debian/4.0_a1-1Daniel Baumann
2013-04-09Making some more debian source-selections conditional on certain image options.Daniel Baumann
2013-01-01Updating year in all copyright notices.Daniel Baumann
2012-12-16Switching from genisoimage to xorriso.Daniel Baumann
2012-08-27Dropping lb prefix from live-build scripts, not needed anymore.Daniel Baumann
Previously, we needed to keep the lb_* prefix as the scripts could also be executed standalone. Since the lb wrapper is mandatory since squeeze, we can drop this now.
2011-03-09Prefixing helper scripts to make 'out of source' usage usable (Closes: #572455).Daniel Baumann
2011-03-09Updating internal variables from lh to lb scheme, should be the last piece ↵Daniel Baumann
to finish the live-helper to live-build rename.
2011-03-09Updating copyright headers for live-build.Daniel Baumann
2011-03-09Moving /usr/share/live-helper to /usr/share/live/build.Daniel Baumann
2011-03-09Rearranging helpers scripts in source tree.Daniel Baumann