diff options
author | Joey Hess <joeyh@joeyh.name> | 2014-12-16 14:04:40 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2014-12-16 14:04:40 -0400 |
commit | 95418cc430284b65af13105f7c63da08908dd826 (patch) | |
tree | 9afab6aad8025f454b12b038936f6322b6a82f1c /Utility | |
parent | be93817b5bd80b051d5037e0641b63c16838b5fa (diff) |
Use wget -q --show-progress for less verbose wget output, when built with wget 1.16.
Diffstat (limited to 'Utility')
-rw-r--r-- | Utility/DottedVersion.hs | 36 | ||||
-rw-r--r-- | Utility/Url.hs | 13 |
2 files changed, 47 insertions, 2 deletions
diff --git a/Utility/DottedVersion.hs b/Utility/DottedVersion.hs new file mode 100644 index 000000000..14aa16da9 --- /dev/null +++ b/Utility/DottedVersion.hs @@ -0,0 +1,36 @@ +{- dotted versions, such as 1.0.1 + - + - Copyright 2011-2014 Joey Hess <joey@kitenet.net> + - + - License: BSD-2-clause + -} + +module Utility.DottedVersion where + +import Common + +data DottedVersion = DottedVersion String Integer + deriving (Eq) + +instance Ord DottedVersion where + compare (DottedVersion _ x) (DottedVersion _ y) = compare x y + +instance Show DottedVersion where + show (DottedVersion s _) = s + +{- To compare dotted versions like 1.7.7 and 1.8, they are normalized to + - a somewhat arbitrary integer representation. -} +normalize :: String -> DottedVersion +normalize v = DottedVersion v $ + sum $ mult 1 $ reverse $ extend precision $ take precision $ + map readi $ split "." v + where + extend n l = l ++ replicate (n - length l) 0 + mult _ [] = [] + mult n (x:xs) = (n*x) : mult (n*10^width) xs + readi :: String -> Integer + readi s = case reads s of + ((x,_):_) -> x + _ -> 0 + precision = 10 -- number of segments of the version to compare + width = length "yyyymmddhhmmss" -- maximum width of a segment diff --git a/Utility/Url.hs b/Utility/Url.hs index cb950b824..cc15c82d0 100644 --- a/Utility/Url.hs +++ b/Utility/Url.hs @@ -191,9 +191,18 @@ download' quiet url file uo = wget = go "wget" $ headerparams ++ quietopt "-q" ++ wgetparams {- Regular wget needs --clobber to continue downloading an existing - file. On Android, busybox wget is used, which does not - - support, or need that option. -} + - support, or need that option. + - + - When the wget version is new enough, pass options for + - a less cluttered download display. + -} #ifndef __ANDROID__ - wgetparams = [Params "--clobber -c -O"] + wgetparams = catMaybes + [ if Build.SysConfig.wgetquietprogress + then Just $ Params "-q --show-progress" + else Nothing + , Just $ Params "--clobber -c -O" + ] #else wgetparams = [Params "-c -O"] #endif |