packages feed

tar-conduit 0.3.1 → 0.3.2

raw patch · 6 files changed

+17/−3 lines, 6 filesbinary-added

Files

ChangeLog.md view
@@ -1,3 +1,6 @@+## 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  * Fixed modification time restoration on Windows for read-only files [#25](https://github.com/snoyberg/tar-conduit/pull/25). 
src/Data/Conduit/Tar/Unix.hs view
@@ -81,6 +81,7 @@             excs <- liftIO $ do                 -- Try to unlink any existing file/symlink                 void $ tryAny $ Posix.removeLink fpStr+                when lenient $ Dir.createDirectoryIfMissing True $ Posix.takeDirectory fpStr                 Posix.createSymbolicLink (decodeFilePath link) fpStr                 eExc1 <- tryAnyCond $ Posix.setSymbolicLinkOwnerAndGroup fpStr fileUserId fileGroupId #if MIN_VERSION_unix(2,7,0)@@ -111,6 +112,7 @@                     return (either ((excs ++) . pure) (const excs) eExc)             unless (null excs) $ yield (return (fi, excs))         FTNormal -> do+            when lenient $ liftIO $ Dir.createDirectoryIfMissing True $ Posix.takeDirectory fpStr             sinkFile fpStr             excs <- liftIO $ do                 excs <- restorePermissions
src/Data/Conduit/Tar/Windows.hs view
@@ -16,6 +16,7 @@ import           Foreign.C.Types          (CTime (..)) import qualified System.Directory         as Dir import qualified System.PosixCompat.Files as Posix+import qualified System.FilePath as FilePath   getFileInfo :: FilePath -> IO FileInfo@@ -67,6 +68,7 @@                                     (`when` Dir.setModificationTime fpStr modTime))                 return (fi, either ((excs ++) . pure) (const excs) eExc)         FTNormal -> do+            when lenient $ liftIO $ Dir.createDirectoryIfMissing True $ FilePath.takeDirectory fpStr             sinkFile fpStr             excs <- liftIO $ restoreTimeAndMode             unless (null excs) $ yield $ return (fi, excs)
tar-conduit.cabal view
@@ -1,5 +1,5 @@ name:                tar-conduit-version:             0.3.1+version:             0.3.2 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,8 +9,8 @@ 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-cabal-version:       >= 1.24.0.0+extra-source-files:  README.md ChangeLog.md tests/files/libpq-0.3.tar.gz tests/files/subdir.tar+cabal-version:       1.24  library   if impl(ghc < 8)
tests/Spec.hs view
@@ -65,6 +65,13 @@                     P.length tb1 `shouldBe` P.length tb2                     zipWithM_ shouldBe (fmap fst tb2) (fmap fst tb1)                     zipWithM_ shouldBe (fmap snd tb2) (fmap snd tb1)+        describe "untar" $ do+            around (withTempTarFiles baseTmp) $+                it "create-intermediate" $ \(fpIn, hIn, outDir, fpOut) -> do+                    hClose hIn+                    extractTarballLenient "tests/files/subdir.tar" (Just outDir)+                    curDir <- getCurrentDirectory+                    collectContent (outDir Posix.</> "dir/subdir/") `shouldReturn` "Hello World\n"         describe "ustar" ustarSpec         describe "GNUtar" gnutarSpec         describe "unsupported headers" $ do
+ tests/files/subdir.tar view

binary file changed (absent → 10240 bytes)