summaryrefslogtreecommitdiff
path: root/doc/bugs/check_for_curl_in_configure.hs.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-05-29 15:23:05 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-05-29 15:23:05 -0400
commit1f6cfecc972b121fa42ea80383183bbaccc2195a (patch)
tree0a450c4226f5e05c2a3597a9f520376de281fffe /doc/bugs/check_for_curl_in_configure.hs.mdwn
parenta95fb731cd117f35a6e0fce90d9eb35d0941e26e (diff)
remove old closed bugs and todo items to speed up wiki updates and reduce size
Remove closed bugs and todos that were least edited before 2014. Command line used: for f in $(grep -l '\[\[done\]\]' *.mdwn); do if [ -z $(git log --since=2014 --pretty=oneline "$f") ]; then git rm $f; git rm -rf $(echo "$f" | sed 's/.mdwn$//'); fi; done
Diffstat (limited to 'doc/bugs/check_for_curl_in_configure.hs.mdwn')
-rw-r--r--doc/bugs/check_for_curl_in_configure.hs.mdwn92
1 files changed, 0 insertions, 92 deletions
diff --git a/doc/bugs/check_for_curl_in_configure.hs.mdwn b/doc/bugs/check_for_curl_in_configure.hs.mdwn
deleted file mode 100644
index a880392bf..000000000
--- a/doc/bugs/check_for_curl_in_configure.hs.mdwn
+++ /dev/null
@@ -1,92 +0,0 @@
-[[!meta title="arbitrary/configurable backends"]]
-
-(Retitling as this has drifted..)
-
----
-
-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>
-
-> Well, curl is an optional extra, so requireCmd is too strong. Changed
-> to testCmd and applied, thank you!
->
-> I thought about actually *using* the resulting SysConfig.curl
-> to disable the URL backend if False.. but probably it's better
-> to just let it fail if curl is not available. Although, if we wanted
-> to add a check for wget or something and use it when curl was not
-> available, that might be worth doing. --[[Joey]]
-
->> I was thinking that is it worth doing a generic "stat", "delete", "get"
->> and "put" options, I do like the idea of having the possibility of
->> being about to use completely arbitrary storage systems or arbitrary
->> transfer systems. If there was the capability of doing so it would be
->> interesting to see possibilities of using aria2 for using something
->> like bittorrent as backend, or using something like irods or some
->> grid storage system as the storage archive. It's just an idea as
->> I have seen it implemented quite well in irods.
-
->>> I'm unsure about the idea of having a backend where that is
->>> parameterized. It would mean that one annex's GENERIC-foo key
->>> might be entirely different from another's key with the same backend
->>> and details. And a misconfiguration could get data the wrong
->>> way and get the wrong data, etc.
->>>
->>> I mostly look at the URL backend as an example that can be modified to
->>> make this kind of custom backend. You already probably know enough to
->>> make a TORRENT backend where keys are the urls to torrents to download
->>> with `aria2c --follow-torrent=mem`.
->>>
->>> I am also interested in doing backends that use eg, cloud storage.
->>> A S3 backend that could upload files to S3 in addition to downloading
->>> them, for example, would be handy. --[[Joey]]
-
->>>> So, rather than use backends to do this, it instead made more sense
->>>> to make them [[special_remotes]]. The URL backend remains a bit
->>>> of a special case, and a bittorrent backend that downloaded a file
->>>> from a bittorrent url would still be a good use of backend, but for
->>>> storing files in external data stores like S3, making it a remote
->>>> makes better sense. I think I can close this bug now, [[done]]
->>>> --[[Joey]]
-
-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)
-
-> It's correct, typewise, but I don't see any real reason to bother
-> with the change. But I do appreciate patches, which have been rare
-> so far, probaby because of Haskell.. :) --[[Joey]]
-
->> heh agreed
-
-<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>