Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-path-io for openSUSE:Factory checked in at 2022-02-15 23:57:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-path-io (Old) and /work/SRC/openSUSE:Factory/.ghc-path-io.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-path-io" Tue Feb 15 23:57:30 2022 rev:25 rq:954689 version:1.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-path-io/ghc-path-io.changes 2021-08-25 20:57:59.677178016 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-path-io.new.1956/ghc-path-io.changes 2022-02-15 23:57:57.224324092 +0100 @@ -1,0 +2,9 @@ +Sun Feb 13 14:33:46 UTC 2022 - Peter Simons <[email protected]> + +- Update path-io to version 1.7.0. + ## Path IO 1.7.0 + + * Added `doesPathExist`, `getFileSize`, `renamePath`, and + `removePathForcibly`. + +------------------------------------------------------------------- Old: ---- path-io-1.6.3.tar.gz path-io.cabal New: ---- path-io-1.7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-path-io.spec ++++++ --- /var/tmp/diff_new_pack.OL50eG/_old 2022-02-15 23:57:57.616325174 +0100 +++ /var/tmp/diff_new_pack.OL50eG/_new 2022-02-15 23:57:57.616325174 +0100 @@ -1,7 +1,7 @@ # # spec file for package ghc-path-io # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,12 @@ %global pkg_name path-io %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.6.3 +Version: 1.7.0 Release: 0 Summary: Interface to ???directory??? package for users of ???path??? License: BSD-3-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-containers-devel BuildRequires: ghc-directory-devel @@ -58,7 +57,6 @@ %prep %autosetup -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ path-io-1.6.3.tar.gz -> path-io-1.7.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-io-1.6.3/CHANGELOG.md new/path-io-1.7.0/CHANGELOG.md --- old/path-io-1.6.3/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 +++ new/path-io-1.7.0/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,8 @@ +## Path IO 1.7.0 + +* Added `doesPathExist`, `getFileSize`, `renamePath`, and + `removePathForcibly`. + ## Path IO 1.6.3 * Fixed a bug that caused `removeDirLink` fail on Linux because of a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-io-1.6.3/Path/IO.hs new/path-io-1.7.0/Path/IO.hs --- old/path-io-1.6.3/Path/IO.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/path-io-1.7.0/Path/IO.hs 2001-09-09 03:46:40.000000000 +0200 @@ -23,7 +23,9 @@ ensureDir, removeDir, removeDirRecur, + removePathForcibly, renameDir, + renamePath, listDir, listDirRel, listDirRecur, @@ -64,6 +66,7 @@ removeFile, renameFile, copyFile, + getFileSize, findExecutable, findFile, findFiles, @@ -86,6 +89,7 @@ createTempDir, -- * Existence tests + doesPathExist, doesFileExist, doesDirExist, isLocationOccupied, @@ -241,6 +245,27 @@ removeDirRecur :: MonadIO m => Path b Dir -> m () removeDirRecur = liftD D.removeDirectoryRecursive +-- | Remove a file or directory at /path/ together with its contents and +-- subdirectories. Symbolic links are removed without affecting their +-- targets. If the path does not exist, nothing happens. +-- +-- Unlike other removal functions, this function will also attempt to delete +-- files marked as read-only or otherwise made unremovable due to permissions. +-- As a result, if the removal is incomplete, the permissions or attributes on +-- the remaining files may be altered. If there are hard links in the +-- directory, then permissions on all related hard links may be altered. +-- +-- If an entry within the directory vanishes while @removePathForcibly@ is +-- running, it is silently ignored. +-- +-- If an exception occurs while removing an entry, @removePathForcibly@ will +-- still try to remove as many entries as it can before failing with an +-- exception. The first exception that it encountered is re-thrown. +-- +-- @since 1.7.0 +removePathForcibly :: MonadIO m => Path b t -> m () +removePathForcibly = liftD D.removePathForcibly + -- | @'renameDir' old new@ changes the name of an existing directory from -- @old@ to @new@. If the @new@ directory already exists, it is atomically -- replaced by the @old@ directory. If the @new@ directory is neither the @@ -295,6 +320,51 @@ m () renameDir = liftD2 D.renameDirectory +-- | Rename a file or directory. If the destination path already exists, it +-- is replaced atomically. The destination path must not point to an existing +-- directory. A conformant implementation need not support renaming files in +-- all situations (e.g. renaming across different physical devices), but the +-- constraints must be documented. +-- +-- The operation may fail with: +-- +-- * @HardwareFault@ +-- A physical I\/O error has occurred. +-- @[EIO]@ +-- +-- * @InvalidArgument@ +-- Either operand is not a valid file name. +-- @[ENAMETOOLONG, ELOOP]@ +-- +-- * 'isDoesNotExistError' +-- The original file does not exist, or there is no path to the target. +-- @[ENOENT, ENOTDIR]@ +-- +-- * 'isPermissionError' +-- The process has insufficient privileges to perform the operation. +-- @[EROFS, EACCES, EPERM]@ +-- +-- * 'System.IO.isFullError' +-- Insufficient resources are available to perform the operation. +-- @[EDQUOT, ENOSPC, ENOMEM, EMLINK]@ +-- +-- * @UnsatisfiedConstraints@ +-- Implementation-dependent constraints are not satisfied. +-- @[EBUSY]@ +-- +-- * @UnsupportedOperation@ +-- The implementation does not support renaming in this situation. +-- @[EXDEV]@ +-- +-- * @InappropriateType@ +-- Either the destination path refers to an existing directory, or one of the +-- parent segments in the destination path is not a directory. +-- @[ENOTDIR, EISDIR, EINVAL, EEXIST, ENOTEMPTY]@ +-- +-- @since 1.7.0 +renamePath :: MonadIO m => Path b0 t -> Path b1 t -> m () +renamePath = liftD2 D.renamePath + -- | @'listDir' dir@ returns a list of /all/ entries in @dir@ without the -- special entries (@.@ and @..@). Entries are not sorted. -- @@ -1175,6 +1245,12 @@ m () copyFile = liftD2 D.copyFile +-- | Obtain the size of a file in bytes. +-- +-- @since 1.7.0 +getFileSize :: MonadIO m => Path b File -> m Integer +getFileSize = liftD D.getFileSize + -- | Given an executable file name, search for such file in the directories -- listed in system @PATH@. The returned value is the path to the found -- executable or 'Nothing' if an executable with the given name was not @@ -1529,6 +1605,14 @@ ---------------------------------------------------------------------------- -- Existence tests +-- | Test whether the given path points to an existing filesystem object. If +-- the user lacks necessary permissions to search the parent directories, +-- this function may return false even if the file does actually exist. +-- +-- @since 1.7.0 +doesPathExist :: MonadIO m => Path b t -> m Bool +doesPathExist = liftD D.doesPathExist + -- | The operation 'doesFileExist' returns 'True' if the argument file -- exists and is not a directory, and 'False' otherwise. doesFileExist :: MonadIO m => Path b File -> m Bool diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-io-1.6.3/path-io.cabal new/path-io-1.7.0/path-io.cabal --- old/path-io-1.6.3/path-io.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/path-io-1.7.0/path-io.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,11 +1,11 @@ -cabal-version: 1.18 +cabal-version: 2.4 name: path-io -version: 1.6.3 -license: BSD3 +version: 1.7.0 +license: BSD-3-Clause license-file: LICENSE.md maintainer: Mark Karpov <[email protected]> author: Mark Karpov <[email protected]> -tested-with: ghc ==8.8.4 ghc ==8.10.4 ghc ==9.0.1 +tested-with: ghc ==8.10.7 ghc ==9.0.2 ghc ==9.2.1 homepage: https://github.com/mrkkrp/path-io bug-reports: https://github.com/mrkkrp/path-io/issues synopsis: Interface to ???directory??? package for users of ???path??? @@ -35,10 +35,10 @@ dlist >=0.8 && <2.0, exceptions >=0.8 && <0.11, filepath >=1.2 && <1.5, - path >=0.6 && <0.9, + path >=0.6 && <0.10, temporary >=1.1 && <1.4, - time >=1.4 && <1.11, - transformers >=0.3 && <0.6, + time >=1.4 && <1.13, + transformers >=0.3 && <0.7, unix-compat if flag(dev) @@ -63,9 +63,9 @@ exceptions >=0.8 && <0.11, hspec >=2.0 && <3.0, filepath >=1.2 && <1.5, - path >=0.6 && <0.9, + path >=0.6 && <0.10, path-io, - transformers >=0.3 && <0.6, + transformers >=0.3 && <0.7, unix-compat if flag(dev) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-io-1.6.3/tests/Main.hs new/path-io-1.7.0/tests/Main.hs --- old/path-io-1.6.3/tests/Main.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/path-io-1.7.0/tests/Main.hs 2001-09-09 03:46:40.000000000 +0200 @@ -16,6 +16,9 @@ main :: IO () main = hspec . around withSandbox $ do + +{- ORMOLU_DISABLE -} + #ifndef mingw32_HOST_OS beforeWith populatedDir $ do -- NOTE These tests fail on Windows as unix-compat does not implement @@ -37,7 +40,6 @@ describe "setCurrentDir" setCurrentDirSpec describe "withCurrentDir" withCurrentDirSpec describe "walkDirRel" walkDirRelSpec - #ifndef mingw32_HOST_OS -- NOTE We can't quite test this on Windows as well, because the -- environmental variables HOME and TMPDIR do not exist there. @@ -48,6 +50,8 @@ describe "getXdgDir Cache" getXdgCacheDirSpec #endif +{- ORMOLU_ENABLE -} + listDirSpec :: SpecWith (Path Abs Dir) listDirSpec = it "lists directory" $ \dir -> getDirStructure listDir dir `shouldReturn` populatedDirTop
