aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Remote/Helper/AWS.hs17
-rw-r--r--Remote/S3.hs17
-rw-r--r--debian/changelog5
-rw-r--r--debian/control2
-rw-r--r--doc/bugs/Build_error_when_S3_is_disabled.mdwn2
-rw-r--r--git-annex.cabal2
6 files changed, 24 insertions, 21 deletions
diff --git a/Remote/Helper/AWS.hs b/Remote/Helper/AWS.hs
index d27f2aad1..17e1a2921 100644
--- a/Remote/Helper/AWS.hs
+++ b/Remote/Helper/AWS.hs
@@ -5,21 +5,19 @@
- Licensed under the GNU GPL version 3 or higher.
-}
-{-# LANGUAGE OverloadedStrings, TupleSections #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TupleSections #-}
module Remote.Helper.AWS where
import Common.Annex
import Creds
-import qualified Aws
-import qualified Aws.S3 as S3
import qualified Data.Map as M
import qualified Data.ByteString as B
import qualified Data.Text as T
import Data.Text.Encoding (encodeUtf8)
import Data.Text (Text)
-import Data.IORef
creds :: UUID -> CredPairStorage
creds u = CredPairStorage
@@ -28,13 +26,6 @@ creds u = CredPairStorage
, credPairRemoteKey = Just "s3creds"
}
-genCredentials :: CredPair -> IO Aws.Credentials
-genCredentials (keyid, secret) = Aws.Credentials
- <$> pure (encodeUtf8 (T.pack keyid))
- <*> pure (encodeUtf8 (T.pack secret))
- <*> newIORef []
- <*> pure Nothing
-
data Service = S3 | Glacier
deriving (Eq)
@@ -82,7 +73,3 @@ s3HostName r = encodeUtf8 $ T.concat ["s3-", r, ".amazonaws.com"]
s3DefaultHost :: String
s3DefaultHost = "s3.amazonaws.com"
-
-mkLocationConstraint :: Region -> S3.LocationConstraint
-mkLocationConstraint "US" = S3.locationUsClassic
-mkLocationConstraint r = r
diff --git a/Remote/S3.hs b/Remote/S3.hs
index f2ee8842d..1a6e41094 100644
--- a/Remote/S3.hs
+++ b/Remote/S3.hs
@@ -6,6 +6,7 @@
-}
{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE CPP #-}
module Remote.S3 (remote, iaHost, configIA, iaItemUrl) where
@@ -26,6 +27,7 @@ import Network.HTTP.Types
import Control.Monad.Trans.Resource
import Control.Monad.Catch
import Data.Conduit
+import Data.IORef
import Common.Annex
import Types.Remote
@@ -308,7 +310,7 @@ genBucket c u = do
showAction $ "creating bucket in " ++ datacenter
void $ sendS3Handle h $
S3.PutBucket (bucket $ hinfo h) Nothing $
- AWS.mkLocationConstraint $
+ mkLocationConstraint $
T.pack datacenter
writeUUIDFile c u h
@@ -391,7 +393,7 @@ sendS3Handle' h = AWS.pureAws (hawscfg h) (hs3cfg h) (hmanager h)
withS3Handle :: RemoteConfig -> UUID -> S3Info -> (S3Handle -> Annex a) -> Annex a
withS3Handle c u info a = do
creds <- getRemoteCredPairFor "S3" c (AWS.creds u)
- awscreds <- liftIO $ AWS.genCredentials $ fromMaybe nocreds creds
+ awscreds <- liftIO $ genCredentials $ fromMaybe nocreds creds
let awscfg = AWS.Configuration AWS.Timestamp awscreds (AWS.defaultLog AWS.Error)
bracketIO (newManager httpcfg) closeManager $ \mgr ->
a $ S3Handle mgr awscfg s3cfg info
@@ -505,3 +507,14 @@ iaKeyUrl :: Remote -> Key -> URLString
iaKeyUrl r k = "http://archive.org/download/" ++ b ++ "/" ++ getBucketObject (config r) k
where
b = fromMaybe "" $ getBucketName $ config r
+
+genCredentials :: CredPair -> IO AWS.Credentials
+genCredentials (keyid, secret) = AWS.Credentials
+ <$> pure (T.encodeUtf8 (T.pack keyid))
+ <*> pure (T.encodeUtf8 (T.pack secret))
+ <*> newIORef []
+ <*> pure Nothing
+
+mkLocationConstraint :: AWS.Region -> S3.LocationConstraint
+mkLocationConstraint "US" = S3.locationUsClassic
+mkLocationConstraint r = r
diff --git a/debian/changelog b/debian/changelog
index ff421aec7..bb99cd375 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-git-annex (5.20141204) UNRELEASED; urgency=medium
+git-annex (5.20141219) unstable; urgency=medium
* Webapp: When adding a new box.com remote, use the new style chunking.
Thanks, Jon Ander PeƱalba.
@@ -17,8 +17,9 @@ git-annex (5.20141204) UNRELEASED; urgency=medium
* When possible, build with the haskell torrent library for parsing
torrent files. As a fallback, can instead use btshowmetainfo from
bittornado | bittorrent.
+ * Fix build with -f-S3.
- -- Joey Hess <id@joeyh.name> Fri, 05 Dec 2014 13:42:08 -0400
+ -- Joey Hess <id@joeyh.name> Fri, 19 Dec 2014 16:53:26 -0400
git-annex (5.20141203) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index 42720f732..b8ce1c342 100644
--- a/debian/control
+++ b/debian/control
@@ -99,7 +99,7 @@ Recommends:
quvi,
git-remote-gcrypt (>= 0.20130908-6),
nocache,
- aria2
+ aria2,
bittornado | bittorrent,
Suggests:
graphviz,
diff --git a/doc/bugs/Build_error_when_S3_is_disabled.mdwn b/doc/bugs/Build_error_when_S3_is_disabled.mdwn
index 9b72afe07..2ae38659d 100644
--- a/doc/bugs/Build_error_when_S3_is_disabled.mdwn
+++ b/doc/bugs/Build_error_when_S3_is_disabled.mdwn
@@ -35,3 +35,5 @@ I'm installing dependencies with cabal but have disabled S3 support
cabal configure "${_features[@]}"
make
+
+> [[fixed|done]] --[[Joey]]
diff --git a/git-annex.cabal b/git-annex.cabal
index b8bca22cb..d7a9f0e50 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -1,5 +1,5 @@
Name: git-annex
-Version: 5.20141203
+Version: 5.20141219
Cabal-Version: >= 1.8
License: GPL-3
Maintainer: Joey Hess <joey@kitenet.net>