Name : ghc-atomic-write
| |
Version : 0.2.0.6
| Vendor : obs://build_opensuse_org/devel:languages:haskell
|
Release : 1.4
| Date : 2019-02-13 04:25:08
|
Group : Development/Libraries/Haskell
| Source RPM : ghc-atomic-write-0.2.0.6-1.4.src.rpm
|
Size : 0.05 MB
| |
Packager : (none)
| |
Summary : Atomically write to a file
|
Description :
Atomically write to a file on POSIX-compliant systems while preserving permissions.
On most Unix systems, `mv` is an atomic operation. This makes it simple to write to a file atomically just by using the mv operation. However, this will destroy the permissions on the original file. This library does the following to preserve permissions while atomically writing to a file:
* If an original file exists, take those permissions and apply them to the temp file before `mv`ing the file into place.
* If the original file does not exist, create a following with default permissions (based on the currently-active umask).
This way, when the file is `mv`\'ed into place, the permissions will be the ones held by the original file.
This library is based on similar implementations found in common libraries in Ruby and Python:
* < http://apidock.com/rails/File/atomic_write/class Ruby on Rails includes a similar method called atomic_write>
* < https://github.com/chef/chef/blob/c4631816132fcfefaba3d123a1d0dfe8bc2866bb/lib/chef/file_content_management/deploy/mv_unix.rb#L23:L71 Chef includes atomic update functionality>
* < https://github.com/sashka/atomicfile There is a python library for atomically updating a file>
To use `atomic-write`, import the module corresponding to the type you wish to write atomically, e.g., to write a (strict) ByteString atomically:
> import System.AtomicWrite.Writer.ByteString
Then you can use the atomicWriteFile function that accepts a `FilePath` and a `ByteString`, e.g.:
> atomicWriteFile myFilePath myByteString.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/haskell:/lts:/13/openSUSE_Tumbleweed/x86_64 |
Hmm ... It's impossible ;-) This RPM doesn't exist on any FTP server
Provides :
ghc-atomic-write
ghc-atomic-write(x86-64)
libHSatomic-write-0.2.0.6-IIy8UKUtQqX4jW8B7fT1R4-ghc8.6.3.so()(64bit)
Requires :