summaryrefslogtreecommitdiff
path: root/doc/bugs/check_for_curl_in_configure.hs.mdwn
blob: ee24769ce7e81dfe09b0323f920212629b9a13c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
I thought this might be useful, since curl is being used for the URL backend, it might be worth checking for it's existence.

<pre>
diff --git a/configure.hs b/configure.hs
index 772ba54..1a563e0 100644
--- a/configure.hs
+++ b/configure.hs
@@ -13,6 +13,7 @@ tests = [
        , TestCase "uuid generator" $ selectCmd "uuid" ["uuid", "uuidgen"]
        , TestCase "xargs -0" $ requireCmd "xargs_0" "xargs -0 </dev/null"
        , TestCase "rsync" $ requireCmd "rsync" "rsync --version >/dev/null"
+       , TestCase "curl" $ requireCmd "curl" "curl --version >/dev/null"
        , TestCase "unicode FilePath support" $ unicodeFilePath
        ] ++ shaTestCases [1, 256, 512, 224, 384]
</pre>

also in Backend/URL.hs is it worth making a minor change to the way curl is called (I'm not sure if the following is correct or not)

<pre>
diff --git a/Backend/URL.hs b/Backend/URL.hs
index 29dc8fe..4afcf86 100644
--- a/Backend/URL.hs
+++ b/Backend/URL.hs
@@ -50,10 +50,13 @@ dummyFsck _ _ _ = return True
 dummyOk :: Key -> Annex Bool
 dummyOk _ = return True
 
+curl :: [CommandParam] -> IO Bool
+curl = boolSystem "curl"
+
 downloadUrl :: Key -> FilePath -> Annex Bool
 downloadUrl key file = do
        showNote "downloading"
        showProgress -- make way for curl progress bar
-       liftIO $ boolSystem "curl" [Params "-# -o", File file, File url]
+       liftIO $ curl [Params "-# -o", File file, File url]
        where
                url = join ":" $ drop 1 $ split ":" $ show key 
</pre>