packages feed

tar-conduit 0.3.2 → 0.3.2.1

raw patch · 4 files changed

+27/−5 lines, 4 files

Files

ChangeLog.md view
@@ -1,4 +1,9 @@+## 0.3.2.1 - 2023-06-25++* `unix-2.8` compatibility [#32](https://github.com/snoyberg/tar-conduit/pull/32)+ ## 0.3.2 - 2019-01-14+ * Create a prefix directory whenever a directory type entry is missing from the tarball itself. Fixes [#26](https://github.com/snoyberg/tar-conduit/issues/26).  ## 0.3.1 - 2018-11-19
src/Data/Conduit/Tar/Unix.hs view
@@ -19,6 +19,9 @@ import qualified System.Posix.Files            as Posix import qualified System.Posix.User             as Posix import qualified System.FilePath.Posix         as Posix+#if MIN_VERSION_unix(2,8,0)+import qualified System.Posix.User.ByteString as UBS+#endif  getFileInfo :: FilePath -> IO FileInfo getFileInfo fpStr = do@@ -29,8 +32,19 @@     -- Allow for username/group retrieval failure, especially useful for non-tty environment.     -- Workaround for: https://ghc.haskell.org/trac/ghc/ticket/1487     -- Moreover, names are non-critical as they are not used during unarchival process+#if MIN_VERSION_unix(2,8,0)+    euEntry :: Either IOException UBS.UserEntry <- try $ Posix.getUserEntryForID uid+    egEntry :: Either IOException UBS.GroupEntry <- try $ Posix.getGroupEntryForID gid+    let+      fileUserName = either (const "") UBS.userName euEntry+      fileGroupName = either (const "") UBS.groupName egEntry+#else     euEntry :: Either IOException Posix.UserEntry <- try $ Posix.getUserEntryForID uid     egEntry :: Either IOException Posix.GroupEntry <- try $ Posix.getGroupEntryForID gid+    let+      fileUserName = either (const "") (S8.pack . Posix.userName) euEntry+      fileGroupName = either (const "") (S8.pack . Posix.groupName) egEntry+#endif     (fType, fSize) <-         case () of             () | Posix.isRegularFile fs     -> return (FTNormal, Posix.fileSize fs)@@ -45,9 +59,9 @@     return $! FileInfo         { filePath      = fp         , fileUserId    = uid-        , fileUserName  = either (const "") (S8.pack . Posix.userName) euEntry+        , fileUserName  = fileUserName         , fileGroupId   = gid-        , fileGroupName = either (const "") (S8.pack . Posix.groupName) egEntry+        , fileGroupName = fileGroupName         , fileMode      = Posix.fileMode fs .&. 0o7777         , fileSize      = fSize         , fileType      = fType
tar-conduit.cabal view
@@ -1,5 +1,5 @@ name:                tar-conduit-version:             0.3.2+version:             0.3.2.1 synopsis:            Extract and create tar files using conduit for streaming description:         Please see README.md. This is just filler to avoid warnings. homepage:            https://github.com/snoyberg/tar-conduit#readme@@ -9,7 +9,10 @@ maintainer:          michael@snoyman.com, bartavelle@gmail.com, alexey@kuleshevi.ch category:            Data Conduit build-type:          Simple-extra-source-files:  README.md ChangeLog.md tests/files/libpq-0.3.tar.gz tests/files/subdir.tar+extra-source-files:  README.md+                     ChangeLog.md+                     tests/files/libpq-0.3.tar.gz+                     tests/files/subdir.tar cabal-version:       1.24  library
tests/Spec.hs view
@@ -40,7 +40,7 @@     let testPaths =             ["src", "./tests", "README.md", "ChangeLog.md", "LICENSE"] ++             if isStack-                then [".stack-work", "./sample"]+                then [".stack-work"]                 else []     hspec $ do         describe "tar/untar" $ do