More FreeBSD build fixes.
Untested, on FreeBSD but enough to fix the listed build errors. Seems that System.Posix.Files must have used to export this stuff and it was split. This commit was sponsored by Peter on Patreon.
This commit is contained in:
parent
dfcaf2389b
commit
cc82f81227
4 changed files with 18 additions and 7 deletions
|
@ -11,6 +11,7 @@ git-annex (6.20180914) UNRELEASED; urgency=medium
|
||||||
as the rest of git's interface is used in newline-safe ways.
|
as the rest of git's interface is used in newline-safe ways.
|
||||||
* Added -z option to git-annex commands that use --batch, useful for
|
* Added -z option to git-annex commands that use --batch, useful for
|
||||||
supporting filenames containing newlines.
|
supporting filenames containing newlines.
|
||||||
|
* More FreeBSD build fixes.
|
||||||
|
|
||||||
[ Yaroslav Halchenko ]
|
[ Yaroslav Halchenko ]
|
||||||
* debian/control
|
* debian/control
|
||||||
|
|
|
@ -27,7 +27,8 @@ import Foreign.Ptr
|
||||||
import Foreign.Marshal
|
import Foreign.Marshal
|
||||||
import qualified Data.Map.Strict as M
|
import qualified Data.Map.Strict as M
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
import qualified System.Posix.Files as Files
|
import qualified System.Posix.Files as Posix
|
||||||
|
import qualified System.Posix.IO as Posix
|
||||||
import Control.Concurrent
|
import Control.Concurrent
|
||||||
|
|
||||||
data Change
|
data Change
|
||||||
|
@ -109,7 +110,7 @@ scanRecursive topdir prune = M.fromList <$> walk [] [topdir]
|
||||||
Nothing -> walk c rest
|
Nothing -> walk c rest
|
||||||
Just info -> do
|
Just info -> do
|
||||||
mfd <- catchMaybeIO $
|
mfd <- catchMaybeIO $
|
||||||
Files.openFd dir Files.ReadOnly Nothing Files.defaultFileFlags
|
Posix.openFd dir Posix.ReadOnly Nothing Posix.defaultFileFlags
|
||||||
case mfd of
|
case mfd of
|
||||||
Nothing -> walk c rest
|
Nothing -> walk c rest
|
||||||
Just fd -> do
|
Just fd -> do
|
||||||
|
@ -129,7 +130,7 @@ addSubDirs dirmap prune dirs = do
|
||||||
{- Removes a subdirectory (and all its children) from a directory map. -}
|
{- Removes a subdirectory (and all its children) from a directory map. -}
|
||||||
removeSubDir :: DirMap -> FilePath -> IO DirMap
|
removeSubDir :: DirMap -> FilePath -> IO DirMap
|
||||||
removeSubDir dirmap dir = do
|
removeSubDir dirmap dir = do
|
||||||
mapM_ Files.closeFd $ M.keys toremove
|
mapM_ Posix.closeFd $ M.keys toremove
|
||||||
return rest
|
return rest
|
||||||
where
|
where
|
||||||
(toremove, rest) = M.partition (dirContains dir . dirName) dirmap
|
(toremove, rest) = M.partition (dirContains dir . dirName) dirmap
|
||||||
|
@ -167,7 +168,7 @@ updateKqueue (Kqueue h _ dirmap _) =
|
||||||
{- Stops a Kqueue. Note: Does not directly close the Fds in the dirmap,
|
{- Stops a Kqueue. Note: Does not directly close the Fds in the dirmap,
|
||||||
- so it can be reused. -}
|
- so it can be reused. -}
|
||||||
stopKqueue :: Kqueue -> IO ()
|
stopKqueue :: Kqueue -> IO ()
|
||||||
stopKqueue = Files.closeFd . kqueueFd
|
stopKqueue = Posix.closeFd . kqueueFd
|
||||||
|
|
||||||
{- Waits for a change on a Kqueue.
|
{- Waits for a change on a Kqueue.
|
||||||
- May update the Kqueue.
|
- May update the Kqueue.
|
||||||
|
@ -249,9 +250,9 @@ runHooks kq hooks = do
|
||||||
withstatus change $ dispatchadd dirmap
|
withstatus change $ dispatchadd dirmap
|
||||||
|
|
||||||
dispatchadd dirmap change s
|
dispatchadd dirmap change s
|
||||||
| Files.isSymbolicLink s = callhook addSymlinkHook (Just s) change
|
| Posix.isSymbolicLink s = callhook addSymlinkHook (Just s) change
|
||||||
| Files.isDirectory s = recursiveadd dirmap change
|
| Posix.isDirectory s = recursiveadd dirmap change
|
||||||
| Files.isRegularFile s = callhook addHook (Just s) change
|
| Posix.isRegularFile s = callhook addHook (Just s) change
|
||||||
| otherwise = noop
|
| otherwise = noop
|
||||||
|
|
||||||
recursiveadd dirmap change = do
|
recursiveadd dirmap change = do
|
||||||
|
|
|
@ -51,3 +51,5 @@ Compilation failure is as follows:
|
||||||
/usr/home/duncan/code/git-annex/.stack-work/dist/x86_64-freebsd/Cabal-1.24.2.0/setup/setup --builddir=.stack-work/dist/x86_64-freebsd/Cabal-1.24.2.0 build exe:git
|
/usr/home/duncan/code/git-annex/.stack-work/dist/x86_64-freebsd/Cabal-1.24.2.0/setup/setup --builddir=.stack-work/dist/x86_64-freebsd/Cabal-1.24.2.0 build exe:git
|
||||||
-annex --ghc-options " -ddump-hi -ddump-to-file"
|
-annex --ghc-options " -ddump-hi -ddump-to-file"
|
||||||
Process exited with code: ExitFailure 1
|
Process exited with code: ExitFailure 1
|
||||||
|
|
||||||
|
> [[done]] --[[Joey]]
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 1"""
|
||||||
|
date="2018-09-24T15:24:30Z"
|
||||||
|
content="""
|
||||||
|
Seems it also needs to import System.Posix.IO, which I've now committed.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue