summaryrefslogtreecommitdiff
path: root/functions/arguments.sh
AgeCommit message (Collapse)Author
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-03args: restore a little tidyingLyndon Brown
lost in a reversion Gbp-Dch: Ignore
2020-05-02options: de-duplicate common option handlingLyndon Brown
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-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-23fix incorrect handling of -c|--conffileLyndon Brown
this option actually only has an impact when used for `lb config`; it thus was incorrectly accepted and captured by Arguments() and the documentation was wrong. going back through git history, this has been incorrect since the v0.99 days. also, reorganised the list alphabetically (no-color was inserted in the wrong place). Gbp-Dch: Short
2020-03-23args: fix a typoLyndon Brown
Gbp-Dch: Ignore
2020-03-16use local scope for private function varsLyndon Brown
all vars affected have been carefully checked to be quite certain that they are definitely local where variable is assigned the return value of a function/command, the local "declaration" is deliberately done on a separate line, since `local FOO` is actually treated itself as a command rather than a declaration; will thus always cause $? to be zero, and thus if done on the same line as such an assignment can not only clobber $? but in doing so unintentionally blocks failure of a command from triggering the expected exit from having `set -e`. also, from testing, i have found that when assigning "${@}" this must be done on a separate line confusingly as otherwise an error occurs. Gbp-Dch: Short
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-16allow turning off colourLyndon Brown
necessary to give control when colour is default enabled Gbp-Dch: Short
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-10arguments: fix unreachable and poor argument error handlingLyndon Brown
all scripts use `set -e` which means that if getop fails, the subsequent error check that would print an error in addition to any printed by getopt itself would never actually be reached. the first though here would be to remove the pointless error check, but getopt does not include the word "error" with an unrecognised option failure, nor does it use colour to highlight problems, both of which mean that it is a little lacking in terms of highlighting problems to users. thus we properly capture and use the exit code here and output an appropriate message per invalid argument vs getopt internal error. also, removed the redundant stderr redirection which is already done by Echo_error(). Gbp-Dch: Short
2020-03-05don't unnecessarily convert exit codes to stringsLyndon Brown
Closes: #952861
2019-06-03Reenabled the command line option for colored messages for all scripts. The ↵Roland Clobus
functionality was added 2008-11-01, but was not really active.
2015-01-04Updating year in copyright notices to 2015.Daniel Baumann
2014-02-08Updating copyright notices for 2014.Daniel Baumann
2013-05-06Removing all references to my old email address.Daniel Baumann
2013-05-06Updating year in all copyright notices.Daniel Baumann
2013-05-06Adding debian version 4.0~a1-1.debian/4.0_a1-1Daniel Baumann
2013-01-01Updating year in all copyright notices.Daniel Baumann
2012-07-30Updating GPL standard header in all files.Daniel Baumann
2012-07-18Decrufting version flag.Daniel Baumann
2012-02-06Updating year in copyright notices for 2012.Daniel Baumann
2011-03-09Updating year in hooks and script files.Daniel Baumann
2011-03-09Adding debian version 3.0~a1-1.Daniel Baumann
2011-03-09Updating year in manpage, hooks, script and template files.Daniel Baumann
2011-03-09Updating copyright headers for live-build.Daniel Baumann
2011-03-09Updating year to 2010 in copyright notices.Daniel Baumann
2011-03-09For consistency, using true|false instead of enabled|disabled in ↵Daniel Baumann
configuration options.
2011-03-09Automatically displaying manpage when calling a helper with -h or --help.Daniel Baumann
2011-03-09Updating year in copyright notices for 2009.Daniel Baumann
2011-03-09Generalizing internal LH_CONFFILE variable.Daniel Baumann
2011-03-09Generalizing internal LH_BREAKPOINTS variable.Daniel Baumann
2011-03-09Generalizing internal LH_VERBOSE variable.Daniel Baumann
2011-03-09Generalizing internal LH_QUIET variable.Daniel Baumann
2011-03-09Generalizing internal LH_DEBUG variable.Daniel Baumann
2011-03-09Generalizing internal LH_FORCE variable.Daniel Baumann
2011-03-09Don't use set -e in sourced functions, this is the job of the actual ↵Daniel Baumann
executed script.
2011-03-09Adding last modifications in order to have localization fully working in ↵Tiago Bortoletto Vaz
live-helper. This commit goes with some pt_BR translations just for testing. Thanks to Antonio Terceiro for helping and coding in some shell stuff.
2011-03-09Updating copyright years to 2008.Daniel Baumann
2011-03-09When a wrong argument is passed, that argument should be listed (Closes: ↵Daniel Baumann
#468201).
2011-03-09Fixing typing error, thanks to Peter Skogström <peter.skogstrom@bitrunner.com>.Daniel Baumann
2011-03-09Replacing backticks with POSIX expression.Daniel Baumann
2011-03-09Adding live-helper 1.0~a22-1.Daniel Baumann
2011-03-09Adding live-helper 1.0~a7-1.Daniel Baumann
2011-03-09Adding live-helper 1.0~a5-1.Daniel Baumann
2011-03-09Adding live-helper 1.0~a4-1.Daniel Baumann
2011-03-09Adding live-helper 1.0~a3-1.Daniel Baumann