summaryrefslogtreecommitdiff
path: root/scripts/build/bootstrap_debootstrap
AgeCommit message (Collapse)Author
2020-04-23rename LB_BOOTSTRAP_QEMU_ARCHITECTURES to LB_BOOTSTRAP_QEMU_ARCHITECTURELyndon Brown
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-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-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-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-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-10debootstrap: remove redundant checkLyndon Brown
the check for existence of debootstrap here was completely redundant since there is a check at the beginning of the file which already outputs an appropriate error and exists if missing.
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-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-05fix missing use of echo helpersjnqnfe
Closes: #952876
2020-03-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2020-03-05bootstrap: drop obsolete check for `--no-check-gpg` support in debootstrapjnqnfe
This has been present in debootstrap since version 1.0.30. Gbp-Dch: Short Closes: #952847
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
2018-02-24Simplify bootstrapping of foreign architectures with qemu-debootstrapRohan Garg
We already require qemu-user-static for this case, we might as well rely on the qemu-debootstrap script that this package provides. Closes: #847919
2016-11-28Support “lb config --debootstrap-script <script>”Raphaël Hertzog
This option lets you use an alternate bootstrap script when running debootstrap. Thanks to Sjoerd Simons <sjoerd@debian.org> for the initial patch. Closes: #790033
2016-11-28Pass components to debootstrap --second-stageSjoerd Simons
Commit e24e4b in debootstrap fixed setup_available to work in the --foreign case (iotw at the second stage). Unfortunately this breaks things if components aren't passed to the second stage _and_ your main component isn't called main. To fix this, pass --components to both the first and second stage debootstrap when needed. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
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-23Dropping cdebootstrap support (Closes: #773657).Daniel Baumann
debootstrap is the official tool to bootstrap debian, cdebootstrap has had the one or other bug making it broken for times during the release cycles. The extra effort of supporting both debootstrap and cdebootstrap is hardly worth it since the bootstrap stage is cached anyway.
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHIVE_AREAS).Daniel Baumann
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE).Daniel Baumann
2014-08-28Dropping leftover testroot call in bootstrap_cdebootstrap and ↵Daniel Baumann
bootstrap_debootstrap.
2014-08-28Moving partial python rewrite to separate branch, let's do it in the ↵Daniel Baumann
jessie+1 cycle rather than go with the current mixed code.
2013-11-04Moving python stubs to their own subdirectory within the source tree.Daniel Baumann
2013-10-21Depending on python3, thanks to Richard Nelson <unixabg@gmail.com> (Closes: ↵Daniel Baumann
#726806)
2013-10-17Updating descriptions in python stubs.Daniel Baumann
2013-10-17Sorting todo items in python stubs.Daniel Baumann
2013-10-17Harmonize comments in python stubs.Daniel Baumann
2013-10-17Using 4 instead of 4.0 for unreleased 4.x versions as version number in ↵Daniel Baumann
python stubs.
2013-10-15Depending on python only for the time being, rather than python3.3.Daniel Baumann
2013-09-19Updating to python 3.3 (Closes: #723702).Daniel Baumann
2013-07-01Moving caching out of bootstrap_{c,}debootstrap to own helper for future ↵Daniel Baumann
unification with chroot caches helper.
2013-05-15Sorting imports in python stubs.Daniel Baumann
2013-05-06Updating todo in python stubs.Daniel Baumann
2013-05-06Writing errors to stderr in Python stubs.Daniel Baumann
2013-05-06Switching argument and configuration handling order in Python stubs.Daniel Baumann
2013-05-06Replacing bootstrap_debootstrap with Python stub.Daniel Baumann
2013-05-06Removing all references to my old email address.Daniel Baumann
2013-05-06Correcting spelling typos, thanks to Adam D. Barratt <adam@adam-barratt.org.uk>.Daniel Baumann
2013-05-06Removing incomplete support for fakeroot.Daniel Baumann
2013-05-06Removing incomplete support for root-command.Daniel Baumann
2013-05-06Updating year in all copyright notices.Daniel Baumann
2013-05-06Moving off binary image archive areas into new config tree format.Daniel Baumann
2013-05-06Moving off binary image architecture into new config tree format.Daniel Baumann
2013-05-06Adding debian version 4.0~a1-1.debian/4.0_a1-1Daniel Baumann