autoupdater: allow skipping the versioncheck
This commit introduces a new cli flag "--no-versioncheck"
This commit is contained in:
parent
6c38a5dd63
commit
750c8671cd
|
@ -86,6 +86,7 @@ static void usage(void) {
|
||||||
" really flash a new firmware if one is available.\n\n"
|
" really flash a new firmware if one is available.\n\n"
|
||||||
" --fallback Upgrade if and only if the upgrade timespan of the new\n"
|
" --fallback Upgrade if and only if the upgrade timespan of the new\n"
|
||||||
" version has passed for at least 24 hours.\n\n"
|
" version has passed for at least 24 hours.\n\n"
|
||||||
|
" --no-versioncheck Skip version check and allow downgrades therefore.\n\n"
|
||||||
" <mirror> ... Override the mirror URLs given in the configuration. If\n"
|
" <mirror> ... Override the mirror URLs given in the configuration. If\n"
|
||||||
" specified, these are not shuffled.\n\n",
|
" specified, these are not shuffled.\n\n",
|
||||||
stderr
|
stderr
|
||||||
|
@ -100,6 +101,7 @@ static void parse_args(int argc, char *argv[], struct settings *settings) {
|
||||||
OPTION_HELP = 'h',
|
OPTION_HELP = 'h',
|
||||||
OPTION_NO_ACTION = 'n',
|
OPTION_NO_ACTION = 'n',
|
||||||
OPTION_FALLBACK = 256,
|
OPTION_FALLBACK = 256,
|
||||||
|
OPTION_NO_VERSIONCHECK = 255,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct option options[] = {
|
const struct option options[] = {
|
||||||
|
@ -107,6 +109,7 @@ static void parse_args(int argc, char *argv[], struct settings *settings) {
|
||||||
{"force", no_argument, NULL, OPTION_FORCE},
|
{"force", no_argument, NULL, OPTION_FORCE},
|
||||||
{"fallback", no_argument, NULL, OPTION_FALLBACK},
|
{"fallback", no_argument, NULL, OPTION_FALLBACK},
|
||||||
{"no-action", no_argument, NULL, OPTION_NO_ACTION},
|
{"no-action", no_argument, NULL, OPTION_NO_ACTION},
|
||||||
|
{"no-versioncheck", no_argument, NULL, OPTION_NO_VERSIONCHECK},
|
||||||
{"help", no_argument, NULL, OPTION_HELP},
|
{"help", no_argument, NULL, OPTION_HELP},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -136,6 +139,10 @@ static void parse_args(int argc, char *argv[], struct settings *settings) {
|
||||||
settings->no_action = true;
|
settings->no_action = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case OPTION_NO_VERSIONCHECK:
|
||||||
|
settings->no_versioncheck = true;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -321,7 +328,7 @@ static bool autoupdate(const char *mirror, struct settings *s, int lock_fd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check version and update probability */
|
/* Check version and update probability */
|
||||||
if (!newer_than(m->version, s->old_version)) {
|
if (!newer_than(m->version, s->old_version) && !s->no_versioncheck) {
|
||||||
puts("No new firmware available.");
|
puts("No new firmware available.");
|
||||||
ret = true;
|
ret = true;
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -33,6 +33,7 @@ struct settings {
|
||||||
bool force;
|
bool force;
|
||||||
bool fallback;
|
bool fallback;
|
||||||
bool no_action;
|
bool no_action;
|
||||||
|
bool no_versioncheck;
|
||||||
const char *branch;
|
const char *branch;
|
||||||
unsigned long good_signatures;
|
unsigned long good_signatures;
|
||||||
char *old_version;
|
char *old_version;
|
||||||
|
|
Loading…
Reference in New Issue