summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--]Annex/Branch.hs2
-rwxr-xr-x[-rw-r--r--]Annex/Content.hs0
-rwxr-xr-x[-rw-r--r--]Annex/Environment.hs2
-rwxr-xr-x[-rw-r--r--]Annex/Ssh.hs2
-rwxr-xr-x[-rw-r--r--]CmdLine.hs4
-rwxr-xr-x[-rw-r--r--]Command/Fsck.hs4
-rwxr-xr-x[-rw-r--r--]Creds.hs4
-rwxr-xr-x[-rw-r--r--]Git.hs8
-rwxr-xr-x[-rw-r--r--]Git/Construct.hs4
-rwxr-xr-x[-rw-r--r--]Git/CurrentRepo.hs4
-rwxr-xr-x[-rw-r--r--]GitAnnexShell.hs4
-rwxr-xr-x[-rw-r--r--]Remote/Rsync.hs4
-rwxr-xr-x[-rw-r--r--]Test.hs4
-rwxr-xr-x[-rw-r--r--]Utility/Daemon.hs4
-rwxr-xr-x[-rw-r--r--]Utility/FileMode.hs60
-rwxr-xr-x[-rw-r--r--]Utility/Gpg.hs14
-rwxr-xr-x[-rw-r--r--]Utility/LogFile.hs4
17 files changed, 128 insertions, 0 deletions
diff --git a/Annex/Branch.hs b/Annex/Branch.hs
index 021cd3926..2304a3e49 100644..100755
--- a/Annex/Branch.hs
+++ b/Annex/Branch.hs
@@ -24,7 +24,9 @@ module Annex.Branch (
) where
import qualified Data.ByteString.Lazy.Char8 as L
+#if 0
import System.Posix.Env
+#endif
import Common.Annex
import Annex.BranchState
diff --git a/Annex/Content.hs b/Annex/Content.hs
index ad04bdba1..ad04bdba1 100644..100755
--- a/Annex/Content.hs
+++ b/Annex/Content.hs
diff --git a/Annex/Environment.hs b/Annex/Environment.hs
index d0cd93c2c..d6755e287 100644..100755
--- a/Annex/Environment.hs
+++ b/Annex/Environment.hs
@@ -13,7 +13,9 @@ import Common.Annex
import Utility.UserInfo
import qualified Git.Config
+#if 0
import System.Posix.Env
+#endif
import Network.BSD
{- Checks that the system's environment allows git to function.
diff --git a/Annex/Ssh.hs b/Annex/Ssh.hs
index cf92bd248..f71d389c7 100644..100755
--- a/Annex/Ssh.hs
+++ b/Annex/Ssh.hs
@@ -14,7 +14,9 @@ module Annex.Ssh (
) where
import qualified Data.Map as M
+#if 0
import System.Posix.Env
+#endif
import Common.Annex
import Annex.LockPool
diff --git a/CmdLine.hs b/CmdLine.hs
index 050f119f1..d6e54fded 100644..100755
--- a/CmdLine.hs
+++ b/CmdLine.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module CmdLine (
dispatch,
usage,
@@ -15,7 +17,9 @@ import qualified Control.Exception as E
import qualified Data.Map as M
import Control.Exception (throw)
import System.Console.GetOpt
+#if 0
import System.Posix.Signals
+#endif
import Common.Annex
import qualified Annex
diff --git a/Command/Fsck.hs b/Command/Fsck.hs
index 1c9af0d34..625867a46 100644..100755
--- a/Command/Fsck.hs
+++ b/Command/Fsck.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Command.Fsck where
import Common.Annex
@@ -28,7 +30,9 @@ import qualified Option
import Types.Key
import Utility.HumanTime
+#if 0
import System.Posix.Process (getProcessID)
+#endif
import Data.Time.Clock.POSIX
import Data.Time
import System.Posix.Types (EpochTime)
diff --git a/Creds.hs b/Creds.hs
index 943276e3c..bcfca420d 100644..100755
--- a/Creds.hs
+++ b/Creds.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Creds where
import Common.Annex
@@ -15,7 +17,9 @@ import Types.Remote (RemoteConfig, RemoteConfigKey)
import Remote.Helper.Encryptable (remoteCipher, embedCreds)
import System.Environment
+#if 0
import System.Posix.Env (setEnv)
+#endif
import qualified Data.ByteString.Lazy.Char8 as L
import qualified Data.Map as M
import Utility.Base64
diff --git a/Git.hs b/Git.hs
index 46f995e77..c7c82ee93 100644..100755
--- a/Git.hs
+++ b/Git.hs
@@ -8,6 +8,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Git (
Repo(..),
Ref(..),
@@ -30,7 +32,9 @@ module Git (
) where
import Network.URI (uriPath, uriScheme, unEscapeString)
+#if 0
import System.Posix.Files
+#endif
import Common
import Git.Types
@@ -127,4 +131,8 @@ hookPath script repo = do
ifM (catchBoolIO $ isexecutable hook)
( return $ Just hook , return Nothing )
where
+#if __WINDOWS__
+ isexecutable f = doesFileExist f
+#else
isexecutable f = isExecutable . fileMode <$> getFileStatus f
+#endif
diff --git a/Git/Construct.hs b/Git/Construct.hs
index 633e50b6b..2d00f18a1 100644..100755
--- a/Git/Construct.hs
+++ b/Git/Construct.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Git.Construct (
fromCwd,
fromAbsPath,
@@ -21,7 +23,9 @@ module Git.Construct (
checkForRepo,
) where
+#if 0
import System.Posix.User
+#endif
import qualified Data.Map as M hiding (map, split)
import Network.URI
diff --git a/Git/CurrentRepo.hs b/Git/CurrentRepo.hs
index 482873960..785542663 100644..100755
--- a/Git/CurrentRepo.hs
+++ b/Git/CurrentRepo.hs
@@ -5,10 +5,14 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Git.CurrentRepo where
+#if 0
import System.Posix.Directory (changeWorkingDirectory)
import System.Posix.Env (getEnv, unsetEnv)
+#endif
import Common
import Git.Types
diff --git a/GitAnnexShell.hs b/GitAnnexShell.hs
index 31912ebbe..6ce377896 100644..100755
--- a/GitAnnexShell.hs
+++ b/GitAnnexShell.hs
@@ -5,9 +5,13 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module GitAnnexShell where
+#if 0
import System.Posix.Env
+#endif
import System.Console.GetOpt
import Common.Annex
diff --git a/Remote/Rsync.hs b/Remote/Rsync.hs
index 58b66b74b..63e514199 100644..100755
--- a/Remote/Rsync.hs
+++ b/Remote/Rsync.hs
@@ -5,11 +5,15 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Remote.Rsync (remote) where
import qualified Data.ByteString.Lazy as L
import qualified Data.Map as M
+#if 0
import System.Posix.Process (getProcessID)
+#endif
import Common.Annex
import Types.Remote
diff --git a/Test.hs b/Test.hs
index 0acb136e3..6dbc89d90 100644..100755
--- a/Test.hs
+++ b/Test.hs
@@ -5,15 +5,19 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Test where
import Test.HUnit
import Test.QuickCheck
import Test.QuickCheck.Test
+#if 0
import System.Posix.Directory (changeWorkingDirectory)
import System.Posix.Files
import System.Posix.Env
+#endif
import Control.Exception.Extensible
import qualified Data.Map as M
import System.IO.HVFS (SystemFS(..))
diff --git a/Utility/Daemon.hs b/Utility/Daemon.hs
index ff13a3b8a..835b8f149 100644..100755
--- a/Utility/Daemon.hs
+++ b/Utility/Daemon.hs
@@ -5,12 +5,16 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Utility.Daemon where
import Common
import Utility.LogFile
+#if 0
import System.Posix
+#endif
{- Run an action as a daemon, with all output sent to a file descriptor.
-
diff --git a/Utility/FileMode.hs b/Utility/FileMode.hs
index b6bb579b5..cf9ec45a2 100644..100755
--- a/Utility/FileMode.hs
+++ b/Utility/FileMode.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Utility.FileMode where
import Common
@@ -17,6 +19,7 @@ import Foreign (complement)
{- Applies a conversion function to a file's mode. -}
modifyFileMode :: FilePath -> (FileMode -> FileMode) -> IO ()
modifyFileMode f convert = void $ modifyFileMode' f convert
+#if 0
modifyFileMode' :: FilePath -> (FileMode -> FileMode) -> IO FileMode
modifyFileMode' f convert = do
s <- getFileStatus f
@@ -25,6 +28,9 @@ modifyFileMode' f convert = do
when (new /= old) $
setFileMode f new
return old
+#else
+modifyFileMode' = error "modifyFileMode' TODO"
+#endif
{- Adds the specified FileModes to the input mode, leaving the rest
- unchanged. -}
@@ -33,7 +39,11 @@ addModes ms m = combineModes (m:ms)
{- Removes the specified FileModes from the input mode. -}
removeModes :: [FileMode] -> FileMode -> FileMode
+#if 0
removeModes ms m = m `intersectFileModes` complement (combineModes ms)
+#else
+removeModes = error "removeModes TODO"
+#endif
{- Runs an action after changing a file's mode, then restores the old mode. -}
withModifiedFileMode :: FilePath -> (FileMode -> FileMode) -> IO a -> IO a
@@ -44,43 +54,78 @@ withModifiedFileMode file convert a = bracket setup cleanup go
go _ = a
writeModes :: [FileMode]
+#if 0
writeModes = [ownerWriteMode, groupWriteMode, otherWriteMode]
+#else
+writeModes = []
+#endif
readModes :: [FileMode]
+#if 0
readModes = [ownerReadMode, groupReadMode, otherReadMode]
+#else
+readModes = []
+#endif
executeModes :: [FileMode]
+#if 0
executeModes = [ownerExecuteMode, groupExecuteMode, otherExecuteMode]
+#else
+executeModes = []
+#endif
{- Removes the write bits from a file. -}
preventWrite :: FilePath -> IO ()
+#if 0
preventWrite f = modifyFileMode f $ removeModes writeModes
+#else
+preventWrite _ = return ()
+#endif
{- Turns a file's owner write bit back on. -}
allowWrite :: FilePath -> IO ()
+#if 0
allowWrite f = modifyFileMode f $ addModes [ownerWriteMode]
+#else
+allowWrite _ = return ()
+#endif
{- Allows owner and group to read and write to a file. -}
groupWriteRead :: FilePath -> IO ()
+#if 0
groupWriteRead f = modifyFileMode f $ addModes
[ ownerWriteMode, groupWriteMode
, ownerReadMode, groupReadMode
]
+#else
+groupWriteRead _ = return ()
+#endif
+#if 0
checkMode :: FileMode -> FileMode -> Bool
checkMode checkfor mode = checkfor `intersectFileModes` mode == checkfor
+#endif
{- Checks if a file mode indicates it's a symlink. -}
isSymLink :: FileMode -> Bool
+#if 0
isSymLink = checkMode symbolicLinkMode
+#else
+isSymLink _ = False
+#endif
{- Checks if a file has any executable bits set. -}
isExecutable :: FileMode -> Bool
+#if 0
isExecutable mode = combineModes executeModes `intersectFileModes` mode /= 0
+#else
+isExecutable _ = False
+#endif
{- Runs an action without that pesky umask influencing it, unless the
- passed FileMode is the standard one. -}
noUmask :: FileMode -> IO a -> IO a
+#if 0
noUmask mode a
| mode == stdFileMode = a
| otherwise = bracket setup cleanup go
@@ -88,17 +133,28 @@ noUmask mode a
setup = setFileCreationMask nullFileMode
cleanup = setFileCreationMask
go _ = a
+#else
+noUmask _ a = a
+#endif
combineModes :: [FileMode] -> FileMode
+#if 0
combineModes [] = undefined
combineModes [m] = m
combineModes (m:ms) = foldl unionFileModes m ms
+#else
+combineModes _ = error "combineModes TODO"
+#endif
stickyMode :: FileMode
stickyMode = 512
isSticky :: FileMode -> Bool
+#if 0
isSticky = checkMode stickyMode
+#else
+isSticky _ = False
+#endif
setSticky :: FilePath -> IO ()
setSticky f = modifyFileMode f $ addModes [stickyMode]
@@ -110,6 +166,7 @@ setSticky f = modifyFileMode f $ addModes [stickyMode]
- as writeFile.
-}
writeFileProtected :: FilePath -> String -> IO ()
+#if 0
writeFileProtected file content = do
h <- openFile file WriteMode
void $ tryIO $
@@ -117,3 +174,6 @@ writeFileProtected file content = do
removeModes [groupReadMode, otherReadMode]
hPutStr h content
hClose h
+#else
+writeFileProtected = writeFile
+#endif
diff --git a/Utility/Gpg.hs b/Utility/Gpg.hs
index 4a13d456c..6fcf173b1 100644..100755
--- a/Utility/Gpg.hs
+++ b/Utility/Gpg.hs
@@ -5,13 +5,17 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Utility.Gpg where
import System.Posix.Types
import Control.Applicative
import Control.Concurrent
import Control.Exception (bracket)
+#if 0
import System.Posix.Env (setEnv, unsetEnv, getEnv)
+#endif
import Common
@@ -20,6 +24,7 @@ newtype KeyIds = KeyIds [String]
stdParams :: [CommandParam] -> IO [String]
stdParams params = do
+#ifndef __WINDOWS__
-- Enable batch mode if GPG_AGENT_INFO is set, to avoid extraneous
-- gpg output about password prompts. GPG_BATCH is set by the test
-- suite for a similar reason.
@@ -29,6 +34,9 @@ stdParams params = do
then []
else ["--batch", "--no-tty", "--use-agent"]
return $ batch ++ defaults ++ toCommand params
+#else
+ return $ defaults ++ toCommand params
+#endif
where
-- be quiet, even about checking the trustdb
defaults = ["--quiet", "--trust-model", "always"]
@@ -64,6 +72,7 @@ pipeStrict params input = do
- Note that to avoid deadlock with the cleanup stage,
- the reader must fully consume gpg's input before returning. -}
feedRead :: [CommandParam] -> String -> (Handle -> IO ()) -> (Handle -> IO a) -> IO a
+#ifndef __WINDOWS__
feedRead params passphrase feeder reader = do
-- pipe the passphrase into gpg on a fd
(frompipe, topipe) <- createPipe
@@ -83,6 +92,9 @@ feedRead params passphrase feeder reader = do
feeder to
hClose to
reader from
+#else
+feedRead = error "feedRead TODO"
+#endif
{- Finds gpg public keys matching some string. (Could be an email address,
- a key id, or a name; See the section 'HOW TO SPECIFY A USER ID' of
@@ -204,6 +216,7 @@ keyBlock public ls = unlines
| public = "PUBLIC"
| otherwise = "PRIVATE"
+#if 0
{- Runs an action using gpg in a test harness, in which gpg does
- not use ~/.gpg/, but a directory with the test key set up to be used. -}
testHarness :: IO a -> IO a
@@ -230,3 +243,4 @@ testTestHarness :: IO Bool
testTestHarness = do
keys <- testHarness $ findPubKeys testKeyId
return $ KeyIds [testKeyId] == keys
+#endif
diff --git a/Utility/LogFile.hs b/Utility/LogFile.hs
index 1ff3006fe..d608cd798 100644..100755
--- a/Utility/LogFile.hs
+++ b/Utility/LogFile.hs
@@ -5,11 +5,15 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Utility.LogFile where
import Common
+#if 0
import System.Posix
+#endif
openLog :: FilePath -> IO Fd
openLog logfile = do