Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-fast-logger for openSUSE:Factory
checked in at 2021-05-05 20:40:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-fast-logger (Old)
and /work/SRC/openSUSE:Factory/.ghc-fast-logger.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-fast-logger"
Wed May 5 20:40:29 2021 rev:25 rq:890697 version:3.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-fast-logger/ghc-fast-logger.changes
2021-03-10 08:56:46.446859182 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-fast-logger.new.2988/ghc-fast-logger.changes
2021-05-05 20:40:54.258679659 +0200
@@ -1,0 +2,17 @@
+Fri Apr 30 08:30:09 UTC 2021 - [email protected]
+
+- Update fast-logger to version 3.0.5.
+ ## 3.0.5
+
+ * recovering backward compatibility for newFileLoggerSet.
+
+-------------------------------------------------------------------
+Wed Apr 28 08:49:15 UTC 2021 - [email protected]
+
+- Update fast-logger to version 3.0.4.
+ ## 3.0.4
+
+ * New API: `newFastLogger1` which use only one capability.
+ * Making `FD` safer with `invalidFD`.
+
+-------------------------------------------------------------------
Old:
----
fast-logger-3.0.3.tar.gz
New:
----
fast-logger-3.0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-fast-logger.spec ++++++
--- /var/tmp/diff_new_pack.FXZVEo/_old 2021-05-05 20:40:54.754677475 +0200
+++ /var/tmp/diff_new_pack.FXZVEo/_new 2021-05-05 20:40:54.762677440 +0200
@@ -19,7 +19,7 @@
%global pkg_name fast-logger
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 3.0.3
+Version: 3.0.5
Release: 0
Summary: A fast logging system
License: BSD-3-Clause
++++++ fast-logger-3.0.3.tar.gz -> fast-logger-3.0.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fast-logger-3.0.3/ChangeLog.md
new/fast-logger-3.0.5/ChangeLog.md
--- old/fast-logger-3.0.3/ChangeLog.md 2021-02-17 02:02:54.000000000 +0100
+++ new/fast-logger-3.0.5/ChangeLog.md 2021-04-30 07:48:58.000000000 +0200
@@ -1,3 +1,12 @@
+## 3.0.5
+
+* recovering backward compatibility for newFileLoggerSet.
+
+## 3.0.4
+
+* New API: `newFastLogger1` which use only one capability.
+* Making `FD` safer with `invalidFD`.
+
## 3.0.3
* Dropping support of GHC 7.x.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fast-logger-3.0.3/System/Log/FastLogger/FileIO.hs
new/fast-logger-3.0.5/System/Log/FastLogger/FileIO.hs
--- old/fast-logger-3.0.3/System/Log/FastLogger/FileIO.hs 2021-02-17
02:02:54.000000000 +0100
+++ new/fast-logger-3.0.5/System/Log/FastLogger/FileIO.hs 2021-04-30
07:48:58.000000000 +0200
@@ -25,4 +25,13 @@
writeRawBufferPtr2FD :: IORef FD -> Ptr Word8 -> Int -> IO Int
writeRawBufferPtr2FD fdref bf len = do
fd <- readIORef fdref
- fromIntegral <$> writeRawBufferPtr "write" fd bf 0 (fromIntegral len)
+ if isFDValid fd then
+ fromIntegral <$> writeRawBufferPtr "write" fd bf 0 (fromIntegral len)
+ else
+ return (-1)
+
+invalidFD :: POSIX.FD
+invalidFD = stdout { POSIX.fdFD = -1 }
+
+isFDValid :: POSIX.FD -> Bool
+isFDValid fd = POSIX.fdFD fd /= -1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fast-logger-3.0.3/System/Log/FastLogger/Logger.hs
new/fast-logger-3.0.5/System/Log/FastLogger/Logger.hs
--- old/fast-logger-3.0.3/System/Log/FastLogger/Logger.hs 2021-02-17
02:02:54.000000000 +0100
+++ new/fast-logger-3.0.5/System/Log/FastLogger/Logger.hs 2021-04-30
07:48:58.000000000 +0200
@@ -83,5 +83,5 @@
where
loop bf !len = do
written <- writeRawBufferPtr2FD fdref bf len
- when (written < len) $
+ when (0 <= written && written < len) $
loop (bf `plusPtr` fromIntegral written) (len - written)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fast-logger-3.0.3/System/Log/FastLogger/LoggerSet.hs
new/fast-logger-3.0.5/System/Log/FastLogger/LoggerSet.hs
--- old/fast-logger-3.0.3/System/Log/FastLogger/LoggerSet.hs 2021-02-17
02:02:54.000000000 +0100
+++ new/fast-logger-3.0.5/System/Log/FastLogger/LoggerSet.hs 2021-04-30
07:48:58.000000000 +0200
@@ -4,6 +4,7 @@
-- * Creating a logger set
LoggerSet
, newFileLoggerSet
+ , newFileLoggerSetN
, newStdoutLoggerSet
, newStderrLoggerSet
, newLoggerSet
@@ -39,28 +40,34 @@
-- | Creating a new 'LoggerSet' using a file.
newFileLoggerSet :: BufSize -> FilePath -> IO LoggerSet
-newFileLoggerSet size file = openFileFD file >>= newFDLoggerSet size (Just
file)
+newFileLoggerSet size file = openFileFD file >>= newFDLoggerSet size Nothing
(Just file)
+
+-- | Creating a new 'LoggerSet' using a file.
+newFileLoggerSetN :: BufSize -> Maybe Int -> FilePath -> IO LoggerSet
+newFileLoggerSetN size mn file = openFileFD file >>= newFDLoggerSet size mn
(Just file)
-- | Creating a new 'LoggerSet' using stdout.
newStdoutLoggerSet :: BufSize -> IO LoggerSet
-newStdoutLoggerSet size = getStdoutFD >>= newFDLoggerSet size Nothing
+newStdoutLoggerSet size = getStdoutFD >>= newFDLoggerSet size Nothing Nothing
-- | Creating a new 'LoggerSet' using stderr.
newStderrLoggerSet :: BufSize -> IO LoggerSet
-newStderrLoggerSet size = getStderrFD >>= newFDLoggerSet size Nothing
+newStderrLoggerSet size = getStderrFD >>= newFDLoggerSet size Nothing Nothing
{-# DEPRECATED newLoggerSet "Use newFileLoggerSet etc instead" #-}
-- | Creating a new 'LoggerSet'.
-- If 'Nothing' is specified to the second argument,
-- stdout is used.
-- Please note that the minimum 'BufSize' is 1.
-newLoggerSet :: BufSize -> Maybe FilePath -> IO LoggerSet
-newLoggerSet size = maybe (newStdoutLoggerSet size) (newFileLoggerSet size)
+newLoggerSet :: BufSize -> Maybe Int -> Maybe FilePath -> IO LoggerSet
+newLoggerSet size mn = maybe (newStdoutLoggerSet size) (newFileLoggerSetN size
mn)
-- | Creating a new 'LoggerSet' using a FD.
-newFDLoggerSet :: BufSize -> Maybe FilePath -> FD -> IO LoggerSet
-newFDLoggerSet size mfile fd = do
- n <- getNumCapabilities
+newFDLoggerSet :: BufSize -> Maybe Int -> Maybe FilePath -> FD -> IO LoggerSet
+newFDLoggerSet size mn mfile fd = do
+ n <- case mn of
+ Just n' -> return n'
+ Nothing -> getNumCapabilities
loggers <- replicateM n $ newLogger (max 1 size)
let arr = listArray (0,n-1) loggers
fref <- newIORef fd
@@ -121,12 +128,14 @@
-- and freeing the buffers.
rmLoggerSet :: LoggerSet -> IO ()
rmLoggerSet (LoggerSet mfile fdref arr _) = do
- let (l,u) = bounds arr
- let nums = [l .. u]
- mapM_ flushIt nums
- mapM_ freeIt nums
fd <- readIORef fdref
- when (isJust mfile) $ closeFD fd
+ when (isFDValid fd) $ do
+ let (l,u) = bounds arr
+ let nums = [l .. u]
+ mapM_ flushIt nums
+ mapM_ freeIt nums
+ when (isJust mfile) $ closeFD fd
+ writeIORef fdref invalidFD
where
flushIt i = flushLog fdref (arr ! i)
freeIt i = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fast-logger-3.0.3/System/Log/FastLogger.hs
new/fast-logger-3.0.5/System/Log/FastLogger.hs
--- old/fast-logger-3.0.3/System/Log/FastLogger.hs 2021-02-17
02:02:54.000000000 +0100
+++ new/fast-logger-3.0.5/System/Log/FastLogger.hs 2021-04-30
07:48:58.000000000 +0200
@@ -15,6 +15,7 @@
, LogType
, LogType'(..)
, newFastLogger
+ , newFastLogger1
, withFastLogger
-- * Timed FastLogger
, TimedFastLogger
@@ -101,11 +102,17 @@
--
-- > newFastLogger :: LogType -> IO (FastLogger, IO ())
newFastLogger :: LogType' v -> IO (v -> IO (), IO ())
-newFastLogger typ = case typ of
+newFastLogger typ = newFastLoggerCore Nothing typ
+
+newFastLogger1 :: LogType' v -> IO (v -> IO (), IO ())
+newFastLogger1 typ = newFastLoggerCore (Just 1) typ
+
+newFastLoggerCore :: Maybe Int -> LogType' v -> IO (v -> IO (), IO ())
+newFastLoggerCore mn typ = case typ of
LogNone -> return (const noOp, noOp)
LogStdout bsize -> newStdoutLoggerSet bsize >>=
stdLoggerInit
LogStderr bsize -> newStderrLoggerSet bsize >>=
stdLoggerInit
- LogFileNoRotate fp bsize -> newFileLoggerSet bsize fp >>=
fileLoggerInit
+ LogFileNoRotate fp bsize -> newFileLoggerSetN bsize mn fp >>=
fileLoggerInit
LogFile fspec bsize -> rotateLoggerInit fspec bsize
LogFileTimedRotate fspec bsize -> timedRotateLoggerInit fspec bsize
LogCallback cb flush -> return (\str -> cb str >> flush, noOp)
@@ -113,7 +120,7 @@
stdLoggerInit lgrset = return (pushLogStr lgrset, rmLoggerSet lgrset)
fileLoggerInit lgrset = return (pushLogStr lgrset, rmLoggerSet lgrset)
rotateLoggerInit fspec bsize = do
- lgrset <- newFileLoggerSet bsize $ log_file fspec
+ lgrset <- newFileLoggerSetN bsize mn $ log_file fspec
ref <- newIORef (0 :: Int)
mvar <- newMVar ()
let logger str = do
@@ -124,7 +131,7 @@
timedRotateLoggerInit fspec bsize = do
cache <- newTimeCache $ timed_timefmt fspec
now <- cache
- lgrset <- newFileLoggerSet bsize $ prefixTime now $ timed_log_file
fspec
+ lgrset <- newFileLoggerSetN bsize mn $ prefixTime now $ timed_log_file
fspec
ref <- newIORef now
mvar <- newMVar lgrset
let logger str = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/fast-logger-3.0.3/fast-logger.cabal
new/fast-logger-3.0.5/fast-logger.cabal
--- old/fast-logger-3.0.3/fast-logger.cabal 2021-02-17 02:02:54.000000000
+0100
+++ new/fast-logger-3.0.5/fast-logger.cabal 2021-04-30 07:48:58.000000000
+0200
@@ -1,5 +1,5 @@
Name: fast-logger
-Version: 3.0.3
+Version: 3.0.5
Author: Kazu Yamamoto <[email protected]>
Maintainer: Kazu Yamamoto <[email protected]>
License: BSD3