summaryrefslogtreecommitdiff
path: root/frontend
AgeCommit message (Collapse)Author
2020-05-04get rid of a couple of useless variablesLyndon 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-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.
2020-04-29frontend: fix passing along global argsLyndon Brown
trying to use `lb --debug config` for instance did not output debug info unlike `lb config --debug`. Gbp-Dch: Ignore
2020-04-24Improve handling of options allowed for "lb" before the sub-commandRaphaël Hertzog
2020-04-24Revert "frontend: properly handle option processing"Raphaël Hertzog
This reverts commit 6b7c8ed4bf15175299729355f04d60dcbac1aded as it's breaking multi-value space-separated parameters.
2020-04-23frontend: do no try to look for sub-commands in the PATHRaphaël Hertzog
This is a recipe for disaster and it actually already fails when you pass something that looks like a long option as first argument because $(which --long-option) will produce an "Illegal option" string on its standard output. $ lb --debug config --archive-areas "main contrib non-free" Illegal option -- /usr/bin/lb: 54: [: Usage:: unexpected operator E: Unknown command: --debug
2020-04-23Use descriptive parameter names for Usage()Raphaël Hertzog
2020-04-23usage: take exit code as paramLyndon Brown
thus it can correctly indicate success/fail status instead of always indicating failure. when a user asks for usage with -u|--usage then we should exit in success mode rather than failure as when usage in printed in response to incorrect usage. Gbp-Dch: Short
2020-04-23frontend: properly handle option processingLyndon Brown
this means that the usage goes from: lb {-h|--help|-u|--usage|-v|--version} lb COMMAND [OPTIONS] to: lb {-h|--help|-u|--usage|-v|--version} lb [FRONTEND_OPTIONS] COMMAND [COMMAND_OPTIONS] though it is probably not worth is to update the description in the manpages...? hmm... so for instance this matters for color control with --color|--no-color (you already had full control via environment vars). previously you could do `lb COMMAND --no-color` to turn off colour, only to find that output at the frontend level was still coloured (the option is processed at the command context level, not the frontend), so you might try to instead use `lb --no-color COMMAND`, only to find that this was not supported. Well now it is, and used at the frontend level will fully control colour output (after the command is processed anyway). the full set of common options are thus available (except --force) at the frontend level, and thus for instance all Echo_*() helpers used in the frontend will work correctly after args are processed. furthermore usage like `lb --color --help` will actually work. (not that color is used there, but this previously would have failed with the frontend treating the `--color` argument as the command; that's the point!) Gbp-Dch: Short
2020-04-23frontend: change "no such script" to "unknown command"Lyndon Brown
as far as the user is concerned, 'foo' in `lb foo` is a command; they do not know or need to know that the commands also correspond to actual scripts. Gbp-Dch: Short
2020-04-23frontend: reorder checksLyndon Brown
perform the check that the script exists before sorting out the environment to give it, or checking root privileges. Gbp-Dch: Short
2020-04-23frontend: fix use of config/environment[.binary]Lyndon Brown
the environment variables when held in a variable need to be used via `env` otherwise you get command not found errors. example: ``` $ echo "AA=aa" > config/environment $ lb config /usr/bin/lb: 83: AA=aa: not found $ ENV="AA=aa" $ ${ENV} true bash: AA=aa: command not found $ "${ENV}" true bash: AA=aa: command not found $ env ${ENV} true ``` Gbp-Dch: Short
2020-03-23highlight commands in script executionLyndon Brown
makes reviewing logs in terminal output MUCH more pleasant and efficient Gbp-Dch: Short
2020-03-20frontend: just directly call Usage on missing `man`Lyndon Brown
2020-03-20frontend: avoid trying to load /scripts/build.shLyndon Brown
unless `LIVE_BUILD` is set in the environment when running live-build, this var will be empty. this will result in the frontend trying to load the file '/scripts/build.sh', which is doubtful the file intended to be loaded, if it exists. the intention of checking the path "${LIVE_BUILD}/scripts/build.sh" is really only to do so if the var is actually used, so let's only do so if it's non-empty. since we use `set -e`, if build.sh is not found in either location then failure will occur. if it is found, presuming it is the real file that we expect to be found, this file sets the var to a default if it was an empty string, thus we need not worry about use of the var later in the frontend script. also, the var is exported prior to exec'ing the command script, so we know that in the command scripts it is not going to be empty, and those in themselves loading build.sh which again exports the var ensures that it will be set for subsequent loads of component scripts (which happens to go through the frontend again, not that that matters. so except for at the start of execution, it should never be found to be empty. 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-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-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-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2020-03-05fix capitalisation of some output messagesjnqnfe
Closes: #952875
2020-03-05help/usage: fix usage string of top level scriptLyndon Brown
Gbp-Dch: Ignore Closes: #952858
2015-04-29Flattening frontend directory within the source tree.Daniel Baumann
2015-04-28Moving cgi to its own source package.Daniel Baumann
2015-04-17On status output of running builds only count directories for l-b-cgi frontend.Richard Nelson
2015-04-17Added output of processing builds to status page for l-b-cgi frontend.Richard Nelson
2015-04-15Harmonize variables on build status script for l-b-cgi frontend.Richard Nelson
2015-04-15Initial commit to provide biuld status on l-b-cgi frontend.Richard Nelson
2015-04-15Rename LIVE_IMAGE_TYPE to LB_BINARY_IMAGES on l-b-cgi frontend.Richard Nelson
2015-01-04Updating year in copyright notices to 2015.Daniel Baumann
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-09-21Correct variable name for apt_indices and adjust sed order for population of ↵Richard Nelson
build feedback on frontend/cgi.
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.
2014-06-22Add --apt option on frontend/cgi.Richard Nelson
2014-03-02Include "components" when detecting local scripts.Kiel Christofferson
This can help facilitate development and testing during the python transition.
2014-03-02Allow config command without root privileges.Kiel Christofferson
2014-02-08Updating copyright notices for 2014.Daniel Baumann
2013-11-04Moving testroot into lb wrapper itself.Daniel Baumann
2013-10-21Updating files to copy for finished build on l-b-cgi frontend and the 4.x ↵Richard Nelson
branch.
2013-09-17Modify l-b-cgi frontend logging paths.Richard Nelson
2013-06-25Reorganizing frontend in source tree.Daniel Baumann