diff options
author | Joey Hess <joey@kitenet.net> | 2011-03-02 13:47:45 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-03-02 13:47:45 -0400 |
commit | a3daac8a8b06bbe2f35ca16cc1b27e21cad8a0e1 (patch) | |
tree | ea6bc56c9a70014279c83e1d440476a2c032d1a9 /Backend | |
parent | 70a6eb6d73b3e302b9b9c02342581fada25dcad9 (diff) |
only enable SHA backends that configure finds support for
Diffstat (limited to 'Backend')
-rw-r--r-- | Backend/SHA.hs | 32 | ||||
-rw-r--r-- | Backend/SHA1.hs | 14 | ||||
-rw-r--r-- | Backend/SHA224.hs | 14 | ||||
-rw-r--r-- | Backend/SHA384.hs | 14 | ||||
-rw-r--r-- | Backend/SHA512.hs | 14 | ||||
-rw-r--r-- | Backend/URL.hs | 5 | ||||
-rw-r--r-- | Backend/WORM.hs | 5 |
7 files changed, 32 insertions, 66 deletions
diff --git a/Backend/SHA.hs b/Backend/SHA.hs index d779e8055..c074ab48a 100644 --- a/Backend/SHA.hs +++ b/Backend/SHA.hs @@ -5,13 +5,14 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Backend.SHA (genBackend) where +module Backend.SHA (backends) where import Control.Monad.State import Data.String.Utils import System.Cmd.Utils import System.IO import System.Directory +import Data.Maybe import qualified Backend.File import BackendTypes @@ -21,16 +22,31 @@ import Locations import Content import Types import Utility +import qualified SysConfig type SHASize = Int --- Constructor for Backends using a given SHASize. -genBackend :: SHASize -> Backend Annex -genBackend size = Backend.File.backend - { name = shaName size - , getKey = keyValue size - , fsckKey = Backend.File.checkKey $ checkKeyChecksum size - } +backends :: [Backend Annex] +-- order is slightly significant; want sha1 first ,and more general +-- sizes earlier +backends = catMaybes $ map genBackend [1, 256, 512, 224, 384] + +genBackend :: SHASize -> Maybe (Backend Annex) +genBackend size + | supported size = Just b + | otherwise = Nothing + where + b = Backend.File.backend + { name = shaName size + , getKey = keyValue size + , fsckKey = Backend.File.checkKey $ checkKeyChecksum size + } + supported 1 = SysConfig.sha1sum + supported 256 = SysConfig.sha256sum + supported 224 = SysConfig.sha224sum + supported 384 = SysConfig.sha384sum + supported 512 = SysConfig.sha512sum + supported _ = False shaName :: SHASize -> String shaName size = "SHA" ++ show size diff --git a/Backend/SHA1.hs b/Backend/SHA1.hs deleted file mode 100644 index 76d2af69e..000000000 --- a/Backend/SHA1.hs +++ /dev/null @@ -1,14 +0,0 @@ -{- git-annex "SHA1" backend - - - - Copyright 2011 Joey Hess <joey@kitenet.net> - - - - Licensed under the GNU GPL version 3 or higher. - -} - -module Backend.SHA1 (backend) where - -import Types -import Backend.SHA - -backend :: Backend Annex -backend = genBackend 1 diff --git a/Backend/SHA224.hs b/Backend/SHA224.hs deleted file mode 100644 index 614f31c4b..000000000 --- a/Backend/SHA224.hs +++ /dev/null @@ -1,14 +0,0 @@ -{- git-annex "SHA224" backend - - - - Copyright 2011 Joey Hess <joey@kitenet.net> - - - - Licensed under the GNU GPL version 3 or higher. - -} - -module Backend.SHA224 (backend) where - -import Types -import Backend.SHA - -backend :: Backend Annex -backend = genBackend 224 diff --git a/Backend/SHA384.hs b/Backend/SHA384.hs deleted file mode 100644 index 0cf77ea64..000000000 --- a/Backend/SHA384.hs +++ /dev/null @@ -1,14 +0,0 @@ -{- git-annex "SHA384" backend - - - - Copyright 2011 Joey Hess <joey@kitenet.net> - - - - Licensed under the GNU GPL version 3 or higher. - -} - -module Backend.SHA384 (backend) where - -import Types -import Backend.SHA - -backend :: Backend Annex -backend = genBackend 384 diff --git a/Backend/SHA512.hs b/Backend/SHA512.hs deleted file mode 100644 index aed8bbced..000000000 --- a/Backend/SHA512.hs +++ /dev/null @@ -1,14 +0,0 @@ -{- git-annex "SHA512" backend - - - - Copyright 2011 Joey Hess <joey@kitenet.net> - - - - Licensed under the GNU GPL version 3 or higher. - -} - -module Backend.SHA512 (backend) where - -import Types -import Backend.SHA - -backend :: Backend Annex -backend = genBackend 512 diff --git a/Backend/URL.hs b/Backend/URL.hs index 864c79301..29dc8fefa 100644 --- a/Backend/URL.hs +++ b/Backend/URL.hs @@ -5,7 +5,7 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Backend.URL (backend) where +module Backend.URL (backends) where import Control.Monad.State (liftIO) import Data.String.Utils @@ -15,6 +15,9 @@ import BackendTypes import Utility import Messages +backends :: [Backend Annex] +backends = [backend] + backend :: Backend Annex backend = Backend { name = "URL", diff --git a/Backend/WORM.hs b/Backend/WORM.hs index 92fe5a2d4..8a6412eb1 100644 --- a/Backend/WORM.hs +++ b/Backend/WORM.hs @@ -5,7 +5,7 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Backend.WORM (backend) where +module Backend.WORM (backends) where import Control.Monad.State import System.FilePath @@ -22,6 +22,9 @@ import Content import Messages import Types +backends :: [Backend Annex] +backends = [backend] + backend :: Backend Annex backend = Backend.File.backend { name = "WORM", |