[pacman-dev] [PATCH rebased v6 2/2] add command line options for libcurl's "low speed" timeout
Christian Hesse
list at eworm.de
Fri Nov 11 21:16:27 UTC 2016
From: Christian Hesse <mail at eworm.de>
Signed-off-by: Christian Hesse <mail at eworm.de>
---
doc/pacman.8.txt | 13 +++++++++++++
src/pacman/conf.h | 4 +++-
src/pacman/pacman.c | 14 ++++++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt
index 0fa727e..0eda4fb 100644
--- a/doc/pacman.8.txt
+++ b/doc/pacman.8.txt
@@ -266,6 +266,19 @@ Upgrade Options (apply to '-S' and '-U')[[UO]]
*\--needed*::
Do not reinstall the targets that are already up-to-date.
+*\--lowspeedlimit* <speed>::
+ Sets the speed in bytes per second that a download should be below during
+ `LowSpeedTime` seconds to abort the transfer for being too slow. Setting
+ 'speed' to 0 will disable the speed check. Defaults to 1 byte per second.
+ Note that this option will not affect external programs specified by
+ `XferCommand`.
+
+*\--lowspeedlimit* <time>::
+ Sets the time in seconds that a download should be below the `LowSpeedLimit`
+ transfer speed to abort the transfer for being too slow. Setting 'time' to
+ 0 will disable the speed check. Defaults to 10 seconds. Note that this
+ option will not affect external programs specified by `XferCommand`.
+
Query Options (apply to '-Q')[[QO]]
-----------------------------------
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 17e5f27..9b77238 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -207,7 +207,9 @@ enum {
OP_VERBOSE,
OP_DOWNLOADONLY,
OP_REFRESH,
- OP_ASSUMEINSTALLED
+ OP_ASSUMEINSTALLED,
+ OP_LOWSPEEDLIMIT,
+ OP_LOWSPEEDTIME
};
/* clean method */
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index be52d1b..f6a5f33 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -194,6 +194,12 @@ static void usage(int op, const char * const myname)
addlist(_(" --ignore <pkg> ignore a package upgrade (can be used more than once)\n"));
addlist(_(" --ignoregroup <grp>\n"
" ignore a group upgrade (can be used more than once)\n"));
+#ifdef HAVE_LIBCURL
+ addlist(_(" --lowspeedlimit <speed>\n"
+ " bytes per second that a download should be below\n"));
+ addlist(_(" --lowspeedtime <time>\n"
+ " time in seconds that a download should be below lowspeedlimit\n"));
+#endif
/* pass through */
case PM_OP_REMOVE:
addlist(_(" -d, --nodeps skip dependency version checks (-dd to skip all checks)\n"));
@@ -713,6 +719,12 @@ static int parsearg_upgrade(int opt)
case OP_IGNOREGROUP:
parsearg_util_addlist(&(config->ignoregrp));
break;
+ case OP_LOWSPEEDLIMIT:
+ config->lowspeedlimit = parse_positive_long(optarg);
+ break;
+ case OP_LOWSPEEDTIME:
+ config->lowspeedtime = parse_positive_long(optarg);
+ break;
default: return 1;
}
return 0;
@@ -928,6 +940,8 @@ static int parseargs(int argc, char *argv[])
{"logfile", required_argument, 0, OP_LOGFILE},
{"ignoregroup", required_argument, 0, OP_IGNOREGROUP},
{"needed", no_argument, 0, OP_NEEDED},
+ {"lowspeedlimit", required_argument, 0, OP_LOWSPEEDLIMIT},
+ {"lowspeedtime", required_argument, 0, OP_LOWSPEEDTIME},
{"asexplicit", no_argument, 0, OP_ASEXPLICIT},
{"arch", required_argument, 0, OP_ARCH},
{"print-format", required_argument, 0, OP_PRINTFORMAT},
--
2.10.2
More information about the pacman-dev
mailing list