openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2018
- 1 participants
- 2073 discussions
Hello community,
here is the log from the commit of package ghc-mono-traversable for openSUSE:Factory checked in at 2018-12-28 12:35:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-mono-traversable (Old)
and /work/SRC/openSUSE:Factory/.ghc-mono-traversable.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-mono-traversable"
Fri Dec 28 12:35:12 2018 rev:16 rq:661497 version:1.0.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-mono-traversable/ghc-mono-traversable.changes 2018-10-25 08:27:33.155768615 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-mono-traversable.new.28833/ghc-mono-traversable.changes 2018-12-28 12:35:25.767958970 +0100
@@ -1,0 +2,10 @@
+Fri Dec 21 03:02:43 UTC 2018 - psimons(a)suse.com
+
+- Update mono-traversable to version 1.0.10.0.
+ ## 1.0.10.0
+
+ * Make index work on negative indices
+ [#172](https://github.com/snoyberg/mono-traversable/issues/172)
+ [#114](https://github.com/snoyberg/mono-traversable/issues/114)
+
+-------------------------------------------------------------------
Old:
----
mono-traversable-1.0.9.0.tar.gz
New:
----
mono-traversable-1.0.10.0.tar.gz
mono-traversable.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-mono-traversable.spec ++++++
--- /var/tmp/diff_new_pack.dwVtcY/_old 2018-12-28 12:35:26.371958548 +0100
+++ /var/tmp/diff_new_pack.dwVtcY/_new 2018-12-28 12:35:26.371958548 +0100
@@ -19,13 +19,14 @@
%global pkg_name mono-traversable
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.0.9.0
+Version: 1.0.10.0
Release: 0
Summary: Type classes for mapping, folding, and traversing monomorphic containers
License: MIT
Group: Development/Libraries/Haskell
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
@@ -62,6 +63,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ mono-traversable-1.0.9.0.tar.gz -> mono-traversable-1.0.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mono-traversable-1.0.9.0/ChangeLog.md new/mono-traversable-1.0.10.0/ChangeLog.md
--- old/mono-traversable-1.0.9.0/ChangeLog.md 2018-08-02 07:29:05.000000000 +0200
+++ new/mono-traversable-1.0.10.0/ChangeLog.md 2018-12-20 06:25:46.000000000 +0100
@@ -1,3 +1,9 @@
+## 1.0.10.0
+
+* Make index work on negative indices
+ [#172](https://github.com/snoyberg/mono-traversable/issues/172)
+ [#114](https://github.com/snoyberg/mono-traversable/issues/114)
+
## 1.0.9.0
* Added `filterMap` to `Data.Containers`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mono-traversable-1.0.9.0/mono-traversable.cabal new/mono-traversable-1.0.10.0/mono-traversable.cabal
--- old/mono-traversable-1.0.9.0/mono-traversable.cabal 2018-08-02 07:29:33.000000000 +0200
+++ new/mono-traversable-1.0.10.0/mono-traversable.cabal 2018-12-20 06:25:47.000000000 +0100
@@ -1,13 +1,13 @@
-cabal-version: >= 1.10
+cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.29.0.
+-- This file has been generated from package.yaml by hpack version 0.30.0.
--
-- see: https://github.com/sol/hpack
--
--- hash: 6bcc1ed72e15c5adb841eb249f106e08f6823d8dfb67f86e62a140618a3b93c0
+-- hash: dd6993a12a11dc33b47bd2f3d81ac5ab62e3168ad8a01582458b74b64f971031
name: mono-traversable
-version: 1.0.9.0
+version: 1.0.10.0
synopsis: Type classes for mapping, folding, and traversing monomorphic containers
description: Please see the README at <https://www.stackage.org/package/mono-traversable>
category: Data
@@ -19,8 +19,8 @@
license-file: LICENSE
build-type: Simple
extra-source-files:
- ChangeLog.md
README.md
+ ChangeLog.md
source-repository head
type: git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mono-traversable-1.0.9.0/src/Data/MonoTraversable.hs new/mono-traversable-1.0.10.0/src/Data/MonoTraversable.hs
--- old/mono-traversable-1.0.9.0/src/Data/MonoTraversable.hs 2018-08-02 07:29:05.000000000 +0200
+++ new/mono-traversable-1.0.10.0/src/Data/MonoTraversable.hs 2018-10-04 15:18:41.000000000 +0200
@@ -331,7 +331,7 @@
-- Note: this is a partial function. On an empty 'MonoFoldable', it will
-- throw an exception.
--
- -- /See 'Data.NonNull.ofoldr1Ex' from "Data.NonNull" for a total version of this function./
+ -- /See 'Data.NonNull.ofoldr1' from "Data.NonNull" for a total version of this function./
ofoldr1Ex :: (Element mono -> Element mono -> Element mono) -> mono -> Element mono
default ofoldr1Ex :: (t a ~ mono, a ~ Element (t a), F.Foldable t)
=> (Element mono -> Element mono -> Element mono) -> mono -> Element mono
@@ -344,7 +344,7 @@
-- Note: this is a partial function. On an empty 'MonoFoldable', it will
-- throw an exception.
--
- -- /See 'Data.NonNull.ofoldl1Ex'' from "Data.NonNull" for a total version of this function./
+ -- /See 'Data.NonNull.ofoldl1'' from "Data.NonNull" for a total version of this function./
ofoldl1Ex' :: (Element mono -> Element mono -> Element mono) -> mono -> Element mono
default ofoldl1Ex' :: (t a ~ mono, a ~ Element (t a), F.Foldable t)
=> (Element mono -> Element mono -> Element mono) -> mono -> Element mono
@@ -366,7 +366,7 @@
-- Note: this is a partial function. On an empty 'MonoFoldable', it will
-- throw an exception.
--
- -- /See 'Data.NonNull.last from "Data.NonNull" for a total version of this function./
+ -- /See 'Data.NonNull.last' from "Data.NonNull" for a total version of this function./
lastEx :: mono -> Element mono
lastEx = ofoldl1Ex' (flip const)
{-# INLINE lastEx #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mono-traversable-1.0.9.0/src/Data/NonNull.hs new/mono-traversable-1.0.10.0/src/Data/NonNull.hs
--- old/mono-traversable-1.0.9.0/src/Data/NonNull.hs 2018-02-02 14:46:36.000000000 +0100
+++ new/mono-traversable-1.0.10.0/src/Data/NonNull.hs 2018-10-04 15:18:41.000000000 +0200
@@ -162,17 +162,17 @@
fromMaybe (error "Data.NonNull.splitFirst: data structure is null, it should be non-null")
$ uncons (toNullable xs)
--- | Equivalent to @"Data.Sequence".'Data.Sequence.filter'@,
+-- | Equivalent to @"Data.Sequences".'Data.Sequences.filter'@,
-- but works on non-nullable sequences.
nfilter :: IsSequence seq => (Element seq -> Bool) -> NonNull seq -> seq
nfilter f = filter f . toNullable
--- | Equivalent to @"Data.Sequence".'Data.Sequence.filterM'@,
+-- | Equivalent to @"Data.Sequences".'Data.Sequences.filterM'@,
-- but works on non-nullable sequences.
nfilterM :: (Monad m, IsSequence seq) => (Element seq -> m Bool) -> NonNull seq -> m seq
nfilterM f = filterM f . toNullable
--- | Equivalent to @"Data.Sequence".'Data.Sequence.replicate'@
+-- | Equivalent to @"Data.Sequences".'Data.Sequences.replicate'@
--
-- @i@ must be @> 0@
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mono-traversable-1.0.9.0/src/Data/Sequences.hs new/mono-traversable-1.0.10.0/src/Data/Sequences.hs
--- old/mono-traversable-1.0.9.0/src/Data/Sequences.hs 2018-02-02 14:46:36.000000000 +0100
+++ new/mono-traversable-1.0.10.0/src/Data/Sequences.hs 2018-12-20 06:25:46.000000000 +0100
@@ -15,7 +15,7 @@
import qualified Data.List as List
import qualified Data.List.Split as List
import qualified Control.Monad (filterM, replicateM)
-import Prelude (Bool (..), Monad (..), Maybe (..), Ordering (..), Ord (..), Eq (..), Functor (..), fromIntegral, otherwise, (-), fst, snd, Integral, ($), flip, maybe, error)
+import Prelude (Bool (..), Monad (..), Maybe (..), Ordering (..), Ord (..), Eq (..), Functor (..), fromIntegral, otherwise, (-), fst, snd, Integral, ($), flip, maybe, error, (||))
import Data.Char (Char, isSpace)
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as L
@@ -447,7 +447,9 @@
-- 'Nothing'
-- @
index :: seq -> Index seq -> Maybe (Element seq)
- index seq' idx = headMay (drop idx seq')
+ index seq' idx
+ | idx < 0 = Nothing
+ | otherwise = headMay (drop idx seq')
-- | __Unsafe__
--
@@ -702,8 +704,8 @@
{-# INLINE splitWhen #-}
index bs i
- | i >= S.length bs = Nothing
- | otherwise = Just (S.index bs i)
+ | i < 0 || i >= S.length bs = Nothing
+ | otherwise = Just (SU.unsafeIndex bs i)
indexEx = S.index
unsafeIndex = SU.unsafeIndex
{-# INLINE index #-}
@@ -766,7 +768,7 @@
{-# INLINE splitWhen #-}
index t i
- | i >= T.length t = Nothing
+ | i < 0 || i >= T.length t = Nothing
| otherwise = Just (T.index t i)
indexEx = T.index
unsafeIndex = T.index
@@ -952,9 +954,7 @@
{-# INLINE tailEx #-}
{-# INLINE initEx #-}
- index seq' i
- | i >= Seq.length seq' = Nothing
- | otherwise = Just (Seq.index seq' i)
+ index = (Seq.!?)
indexEx = Seq.index
unsafeIndex = Seq.index
{-# INLINE index #-}
@@ -1027,9 +1027,7 @@
{-# INLINE unsafeTail #-}
{-# INLINE unsafeInit #-}
- index v i
- | i >= V.length v = Nothing
- | otherwise = Just (v V.! i)
+ index = (V.!?)
indexEx = (V.!)
unsafeIndex = V.unsafeIndex
{-# INLINE index #-}
@@ -1102,9 +1100,7 @@
{-# INLINE unsafeTail #-}
{-# INLINE unsafeInit #-}
- index v i
- | i >= U.length v = Nothing
- | otherwise = Just (v U.! i)
+ index = (U.!?)
indexEx = (U.!)
unsafeIndex = U.unsafeIndex
{-# INLINE index #-}
@@ -1177,9 +1173,7 @@
{-# INLINE unsafeTail #-}
{-# INLINE unsafeInit #-}
- index v i
- | i >= VS.length v = Nothing
- | otherwise = Just (v VS.! i)
+ index = (VS.!?)
indexEx = (VS.!)
unsafeIndex = VS.unsafeIndex
{-# INLINE index #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mono-traversable-1.0.9.0/test/Spec.hs new/mono-traversable-1.0.10.0/test/Spec.hs
--- old/mono-traversable-1.0.9.0/test/Spec.hs 2018-02-02 14:46:36.000000000 +0100
+++ new/mono-traversable-1.0.10.0/test/Spec.hs 2018-12-20 06:25:46.000000000 +0100
@@ -154,7 +154,7 @@
describe "index" $ do
let test name dummy = prop name $
- \(NonNegative i') (QCM.NonEmpty xs) ->
+ \i' (QCM.NonEmpty xs) ->
let seq' = fromListAs xs dummy
mx = index xs (fromIntegral i)
i = fromIntegral (i' :: Int)
++++++ mono-traversable.cabal ++++++
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.30.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: dd6993a12a11dc33b47bd2f3d81ac5ab62e3168ad8a01582458b74b64f971031
name: mono-traversable
version: 1.0.10.0
x-revision: 1
synopsis: Type classes for mapping, folding, and traversing monomorphic containers
description: Please see the README at <https://www.stackage.org/package/mono-traversable>
category: Data
homepage: https://github.com/snoyberg/mono-traversable#readme
bug-reports: https://github.com/snoyberg/mono-traversable/issues
author: Michael Snoyman, John Wiegley, Greg Weber
maintainer: michael(a)snoyman.com
license: MIT
license-file: LICENSE
build-type: Simple
extra-source-files:
README.md
ChangeLog.md
source-repository head
type: git
location: https://github.com/snoyberg/mono-traversable
library
hs-source-dirs:
src
ghc-options: -Wall
build-depends:
base >=4.9 && <5
, bytestring >=0.9
, containers >=0.5.8
, hashable
, split >=0.2
, text >=0.11
, transformers >=0.3
, unordered-containers >=0.2
, vector >=0.10
, vector-algorithms >=0.6
if impl(ghc <8.0)
build-depends:
semigroups >=0.10
exposed-modules:
Data.Containers
Data.MonoTraversable
Data.MonoTraversable.Unprefixed
Data.NonNull
Data.Sequences
other-modules:
Paths_mono_traversable
default-language: Haskell2010
test-suite test
type: exitcode-stdio-1.0
main-is: main.hs
hs-source-dirs:
test
ghc-options: -O0
build-depends:
HUnit
, QuickCheck
, base
, bytestring
, containers
, foldl
, hspec
, mono-traversable
, semigroups
, text
, transformers
, unordered-containers
, vector
other-modules:
Spec
Paths_mono_traversable
default-language: Haskell2010
benchmark sorting
type: exitcode-stdio-1.0
main-is: sorting.hs
hs-source-dirs:
bench
ghc-options: -Wall -O2
build-depends:
base
, gauge
, mono-traversable
, mwc-random
, vector
other-modules:
Paths_mono_traversable
default-language: Haskell2010
1
0
Hello community,
here is the log from the commit of package ghc-pandoc-citeproc for openSUSE:Factory checked in at 2018-12-28 12:35:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-pandoc-citeproc (Old)
and /work/SRC/openSUSE:Factory/.ghc-pandoc-citeproc.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-pandoc-citeproc"
Fri Dec 28 12:35:14 2018 rev:2 rq:661498 version:0.15.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-pandoc-citeproc/ghc-pandoc-citeproc.changes 2018-12-24 11:37:24.317664399 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-pandoc-citeproc.new.28833/ghc-pandoc-citeproc.changes 2018-12-28 12:35:26.551958422 +0100
@@ -1,0 +2,6 @@
+Sat Dec 22 08:17:59 UTC 2018 - ptrommler(a)icloud.com
+
+- Add _constraints file to fix build on powerpc64le
+* need almost 5 GB disk space
+
+-------------------------------------------------------------------
New:
----
_constraints
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _constraints ++++++
<constraints>
<hardware>
<disk>
<size unit="G">6</size>
</disk>
</hardware>
</constraints>
1
0
Hello community,
here is the log from the commit of package ghc-mime-types for openSUSE:Factory checked in at 2018-12-28 12:35:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-mime-types (Old)
and /work/SRC/openSUSE:Factory/.ghc-mime-types.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-mime-types"
Fri Dec 28 12:35:11 2018 rev:8 rq:661496 version:0.1.0.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-mime-types/ghc-mime-types.changes 2018-10-25 08:27:13.219777843 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-mime-types.new.28833/ghc-mime-types.changes 2018-12-28 12:35:24.579959800 +0100
@@ -1,0 +2,8 @@
+Mon Dec 24 03:01:07 UTC 2018 - psimons(a)suse.com
+
+- Update mime-types to version 0.1.0.9.
+ ## 0.1.0.9
+
+ * Add mjs mime type
+
+-------------------------------------------------------------------
Old:
----
mime-types-0.1.0.8.tar.gz
New:
----
mime-types-0.1.0.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-mime-types.spec ++++++
--- /var/tmp/diff_new_pack.PAlWaZ/_old 2018-12-28 12:35:25.107959431 +0100
+++ /var/tmp/diff_new_pack.PAlWaZ/_new 2018-12-28 12:35:25.111959428 +0100
@@ -18,7 +18,7 @@
%global pkg_name mime-types
Name: ghc-%{pkg_name}
-Version: 0.1.0.8
+Version: 0.1.0.9
Release: 0
Summary: Basic mime-type handling types and functions
License: MIT
++++++ mime-types-0.1.0.8.tar.gz -> mime-types-0.1.0.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mime-types-0.1.0.8/ChangeLog.md new/mime-types-0.1.0.9/ChangeLog.md
--- old/mime-types-0.1.0.8/ChangeLog.md 2018-06-24 09:39:49.000000000 +0200
+++ new/mime-types-0.1.0.9/ChangeLog.md 2018-12-23 11:33:29.000000000 +0100
@@ -1,3 +1,7 @@
+## 0.1.0.9
+
+* Add mjs mime type
+
## 0.1.0.8
* Add wasm mime type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mime-types-0.1.0.8/Network/Mime.hs new/mime-types-0.1.0.9/Network/Mime.hs
--- old/mime-types-0.1.0.8/Network/Mime.hs 2018-06-24 09:39:49.000000000 +0200
+++ new/mime-types-0.1.0.9/Network/Mime.hs 2018-12-23 11:33:29.000000000 +0100
@@ -531,6 +531,7 @@
, ("mime", "message/rfc822")
, ("mj2", "video/mj2")
, ("mjp2", "video/mj2")
+ , ("mjs", "application/javascript")
, ("mk3d", "video/x-matroska")
, ("mka", "audio/x-matroska")
, ("mks", "video/x-matroska")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mime-types-0.1.0.8/mime-types.cabal new/mime-types-0.1.0.9/mime-types.cabal
--- old/mime-types-0.1.0.8/mime-types.cabal 2018-06-24 09:39:49.000000000 +0200
+++ new/mime-types-0.1.0.9/mime-types.cabal 2018-12-23 11:33:29.000000000 +0100
@@ -1,5 +1,5 @@
name: mime-types
-version: 0.1.0.8
+version: 0.1.0.9
synopsis: Basic mime-type handling types and functions
description: API docs and the README are available at <http://www.stackage.org/package/mime-types>.
homepage: https://github.com/yesodweb/wai
1
0
Hello community,
here is the log from the commit of package ghc-json for openSUSE:Factory checked in at 2018-12-28 12:35:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-json (Old)
and /work/SRC/openSUSE:Factory/.ghc-json.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-json"
Fri Dec 28 12:35:09 2018 rev:7 rq:661495 version:0.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-json/ghc-json.changes 2018-10-25 08:26:55.695785941 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-json.new.28833/ghc-json.changes 2018-12-28 12:35:23.859960303 +0100
@@ -1,0 +2,7 @@
+Fri Dec 21 03:02:49 UTC 2018 - psimons(a)suse.com
+
+- Update json to version 0.9.3.
+ Upstream has not updated the file "CHANGES" since the last
+ release.
+
+-------------------------------------------------------------------
Old:
----
json-0.9.2.tar.gz
New:
----
json-0.9.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-json.spec ++++++
--- /var/tmp/diff_new_pack.boG8PP/_old 2018-12-28 12:35:24.407959920 +0100
+++ /var/tmp/diff_new_pack.boG8PP/_new 2018-12-28 12:35:24.411959918 +0100
@@ -18,7 +18,7 @@
%global pkg_name json
Name: ghc-%{pkg_name}
-Version: 0.9.2
+Version: 0.9.3
Release: 0
Summary: Support for serialising Haskell to and from JSON
License: BSD-3-Clause
++++++ json-0.9.2.tar.gz -> json-0.9.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON/Generic.hs new/json-0.9.3/Text/JSON/Generic.hs
--- old/json-0.9.2/Text/JSON/Generic.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON/Generic.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,15 +1,5 @@
{-# LANGUAGE PatternGuards #-}
---------------------------------------------------------------------
--- |
--- Module : Text.JSON.Generic
--- Copyright : (c) Lennart Augustsson, 2008-2009
--- License : BSD3
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
--- JSON serializer and deserializer using Data.Generics.
+-- | JSON serializer and deserializer using Data.Generics.
-- The functions here handle algebraic data types and primitive types.
-- It uses the same representation as "Text.JSON" for "Prelude" types.
module Text.JSON.Generic
@@ -107,7 +97,7 @@
mungeField ('_':cs) = cs
mungeField cs = cs
- jsObject :: [(String, JSValue)] -> JSValue
+ jsObject :: [(String, JSValue)] -> JSValue
jsObject = JSObject . toJSObject
@@ -117,7 +107,7 @@
fromJSON :: (Data a) => JSValue -> Result a
fromJSON j = fromJSON_generic j
`ext1R` jList
- --
+
`extR` (value :: F Integer)
`extR` (value :: F Int)
`extR` (value :: F Word8)
@@ -132,11 +122,11 @@
`extR` (value :: F Float)
`extR` (value :: F Char)
`extR` (value :: F String)
- --
+
`extR` (value :: F Bool)
`extR` (value :: F ())
`extR` (value :: F Ordering)
- --
+
`extR` (value :: F I.IntSet)
`extR` (value :: F S.ByteString)
`extR` (value :: F L.ByteString)
@@ -162,9 +152,9 @@
getConstr t (JSObject o) | [(s, j')] <- fromJSObject o = do c <- readConstr' t s; return (c, j')
getConstr t (JSString js) = do c <- readConstr' t (fromJSString js); return (c, JSNull) -- handle nullare constructor
getConstr _ _ = Error "fromJSON: bad constructor encoding"
- readConstr' t s =
- maybe (Error $ "fromJSON: unknown constructor: " ++ s ++ " " ++ show t)
- return $ readConstr t s
+ readConstr' t s =
+ maybe (Error $ "fromJSON: unknown constructor: " ++ s ++ " " ++ show t)
+ return $ readConstr t s
decodeArgs c = decodeArgs' (numConstrArgs (resType generic) c) c (constrFields c)
decodeArgs' 0 c _ JSNull = construct c [] -- nullary constructor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON/Parsec.hs new/json-0.9.3/Text/JSON/Parsec.hs
--- old/json-0.9.2/Text/JSON/Parsec.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON/Parsec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,13 +1,4 @@
---------------------------------------------------------------------
--- |
--- Module : Text.JSON.Parsec
--- Copyright : (c) Galois, Inc. 2007-2009
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
--- Parse JSON values using the Parsec combinators.
+-- | Parse JSON values using the Parsec combinators.
module Text.JSON.Parsec
( p_value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON/Pretty.hs new/json-0.9.3/Text/JSON/Pretty.hs
--- old/json-0.9.2/Text/JSON/Pretty.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON/Pretty.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,14 +1,4 @@
---------------------------------------------------------------------
--- |
--- Module : Text.JSON.Pretty
--- Copyright : (c) Galois, Inc. 2007-2009
--- License : BSD3
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
--- Display JSON values using pretty printing combinators.
+-- | Display JSON values using pretty printing combinators.
module Text.JSON.Pretty
( module Text.JSON.Pretty
@@ -50,7 +40,7 @@
pp_string x = doubleQuotes $ hcat $ map pp_char x
where pp_char '\\' = text "\\\\"
pp_char '"' = text "\\\""
- pp_char c | isControl c || fromEnum c >= 0x7f = uni_esc c
+ pp_char c | isControl c = uni_esc c
pp_char c = char c
uni_esc c = text "\\u" PP.<> text (pad 4 (showHex (fromEnum c) ""))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON/ReadP.hs new/json-0.9.3/Text/JSON/ReadP.hs
--- old/json-0.9.2/Text/JSON/ReadP.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON/ReadP.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,14 +1,4 @@
---------------------------------------------------------------------
--- |
--- Module : Text.JSON.ReadP
--- Copyright : (c) Galois, Inc. 2007-2009
--- License : BSD3
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
--- Parse JSON values using the ReadP combinators.
+-- | Parse JSON values using the ReadP combinators.
module Text.JSON.ReadP
( p_value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON/String.hs new/json-0.9.3/Text/JSON/String.hs
--- old/json-0.9.2/Text/JSON/String.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON/String.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,17 +1,4 @@
---------------------------------------------------------------------
--- |
--- Module : Text.JSON.String
--- Copyright : (c) Galois, Inc. 2007-2009
--- License : BSD3
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
---------------------------------------------------------------------
---
--- Basic support for working with JSON values.
---
+-- | Basic support for working with JSON values.
module Text.JSON.String
(
@@ -173,12 +160,12 @@
'0' -> frac 0 cs
_
| not (isDigit c) -> fail $ "Unable to parse JSON Rational: " ++ context cs
- | otherwise -> readDigits (digitToIntI c) cs
+ | otherwise -> readDigits (digitToIntI c) cs
readDigits acc [] = frac (fromInteger acc) []
readDigits acc (x:xs)
| isDigit x = let acc' = 10*acc + digitToIntI x in
- acc' `seq` readDigits acc' xs
+ acc' `seq` readDigits acc' xs
| otherwise = frac (fromInteger acc) (x:xs)
frac n ('.' : ds) =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON/Types.hs new/json-0.9.3/Text/JSON/Types.hs
--- old/json-0.9.2/Text/JSON/Types.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON/Types.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,18 +1,5 @@
{-# LANGUAGE DeriveDataTypeable #-}
---------------------------------------------------------------------
--- |
--- Module : Text.JSON.Types
--- Copyright : (c) Galois, Inc. 2007-2009
--- License : BSD3
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
---------------------------------------------------------------------
---
--- Basic support for working with JSON values.
---
+-- | Basic support for working with JSON values.
module Text.JSON.Types (
@@ -32,6 +19,7 @@
) where
import Data.Typeable ( Typeable )
+import Data.String(IsString(..))
--
-- | JSON values
@@ -72,6 +60,12 @@
toJSString = JSONString
-- Note: we don't encode the string yet, that's done when serializing.
+instance IsString JSString where
+ fromString = toJSString
+
+instance IsString JSValue where
+ fromString = JSString . fromString
+
-- | As can association lists
newtype JSObject e = JSONObject { fromJSObject :: [(String, e)] }
deriving (Eq, Ord, Show, Read, Typeable )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/Text/JSON.hs new/json-0.9.3/Text/JSON.hs
--- old/json-0.9.2/Text/JSON.hs 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/Text/JSON.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,19 +1,5 @@
{-# LANGUAGE CPP, TypeSynonymInstances, FlexibleInstances #-}
---------------------------------------------------------------------
--- |
--- Module : Text.JSON
--- Copyright : (c) Galois, Inc. 2007-2009
--- License : BSD3
---
--- Maintainer: Sigbjorn Finne <sof(a)galois.com>
--- Stability : provisional
--- Portability: portable
---
---------------------------------------------------------------------
---
--- Serialising Haskell values to and from JSON values.
---
-
+-- | Serialising Haskell values to and from JSON values.
module Text.JSON (
-- * JSON Types
JSValue(..)
@@ -216,9 +202,9 @@
readOrd x =
case x of
"LT" -> return Prelude.LT
- "EQ" -> return Prelude.EQ
- "GT" -> return Prelude.GT
- _ -> mkError ("Unable to read Ordering")
+ "EQ" -> return Prelude.EQ
+ "GT" -> return Prelude.GT
+ _ -> mkError ("Unable to read Ordering")
-- -----------------------------------------------------------------
-- Integral types
@@ -399,16 +385,14 @@
arrayFromList :: (Array.Ix i) => [(i,e)] -> Array.Array i e
arrayFromList [] = Array.array undefined []
arrayFromList ls@((i,_):xs) = Array.array bnds ls
- where
- bnds =
- foldr (\ (ix,_) (mi,ma) ->
- let
- mi1 = min ix mi
- ma1 = max ix ma
- in
- mi1 `seq` ma1 `seq` (mi1,ma1))
- (i,i)
- xs
+ where
+ bnds = foldr step (i,i) xs
+
+ step (ix,_) (mi,ma) =
+ let mi1 = min ix mi
+ ma1 = max ix ma
+ in mi1 `seq` ma1 `seq` (mi1,ma1)
+
-- -----------------------------------------------------------------
-- ByteStrings
@@ -440,7 +424,7 @@
valFromObj :: JSON a => String -> JSObject JSValue -> Result a
valFromObj k o = maybe (Error $ "valFromObj: Could not find key: " ++ show k)
readJSON
- (lookup k (fromJSObject o))
+ (lookup k (fromJSObject o))
encJSString :: (a -> String) -> a -> JSValue
encJSString f v = JSString (toJSString (f v))
@@ -484,8 +468,8 @@
-- | Decode a 'JSObject' value into an association list.
decJSDict :: (JSKey a, JSON b)
=> String
- -> JSValue
- -> Result [(a,b)]
+ -> JSValue
+ -> Result [(a,b)]
decJSDict l (JSObject o) = mapM rd (fromJSObject o)
where rd (a,b) = case fromJSKey a of
Just pa -> readJSON b >>= \pb -> return (pa,pb)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-0.9.2/json.cabal new/json-0.9.3/json.cabal
--- old/json-0.9.2/json.cabal 2018-03-17 20:49:55.000000000 +0100
+++ new/json-0.9.3/json.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
name: json
-version: 0.9.2
+version: 0.9.3
synopsis: Support for serialising Haskell to and from JSON
description:
JSON (JavaScript Object Notation) is a lightweight data-interchange
@@ -15,7 +15,7 @@
license-file: LICENSE
author: Galois Inc.
maintainer: Iavor S. Diatchki (iavor.diatchki(a)gmail.com)
-Copyright: (c) 2007-2009 Galois Inc.
+Copyright: (c) 2007-2018 Galois Inc.
cabal-version: >= 1.6
build-type: Simple
extra-source-files:
@@ -114,3 +114,6 @@
if flag(mapdict)
cpp-options: -DMAP_AS_DICT
+
+
+
1
0
Hello community,
here is the log from the commit of package ghc-fast-logger for openSUSE:Factory checked in at 2018-12-28 12:35:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-fast-logger (Old)
and /work/SRC/openSUSE:Factory/.ghc-fast-logger.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-fast-logger"
Fri Dec 28 12:35:08 2018 rev:14 rq:661494 version:2.4.13
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-fast-logger/ghc-fast-logger.changes 2018-10-25 08:25:27.595826463 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-fast-logger.new.28833/ghc-fast-logger.changes 2018-12-28 12:35:22.975960921 +0100
@@ -1,0 +2,14 @@
+Tue Dec 25 03:01:34 UTC 2018 - psimons(a)suse.com
+
+- Update fast-logger to version 2.4.13.
+ Upstream has not updated the file "ChangeLog.md" since the last
+ release.
+
+-------------------------------------------------------------------
+Thu Dec 20 03:01:13 UTC 2018 - psimons(a)suse.com
+
+- Update fast-logger to version 2.4.12.
+ Upstream has not updated the file "ChangeLog.md" since the last
+ release.
+
+-------------------------------------------------------------------
Old:
----
fast-logger-2.4.11.tar.gz
New:
----
fast-logger-2.4.13.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-fast-logger.spec ++++++
--- /var/tmp/diff_new_pack.2LcHKK/_old 2018-12-28 12:35:23.659960443 +0100
+++ /var/tmp/diff_new_pack.2LcHKK/_new 2018-12-28 12:35:23.663960440 +0100
@@ -19,7 +19,7 @@
%global pkg_name fast-logger
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 2.4.11
+Version: 2.4.13
Release: 0
Summary: A fast logging system
License: BSD-3-Clause
@@ -35,7 +35,7 @@
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-text-devel
-BuildRequires: ghc-unix-devel
+BuildRequires: ghc-unix-compat-devel
BuildRequires: ghc-unix-time-devel
%if %{with tests}
BuildRequires: ghc-hspec-devel
++++++ fast-logger-2.4.11.tar.gz -> fast-logger-2.4.13.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/System/Log/FastLogger/Date.hs new/fast-logger-2.4.13/System/Log/FastLogger/Date.hs
--- old/fast-logger-2.4.11/System/Log/FastLogger/Date.hs 2018-02-05 03:01:32.000000000 +0100
+++ new/fast-logger-2.4.13/System/Log/FastLogger/Date.hs 2018-12-25 03:45:26.000000000 +0100
@@ -4,56 +4,27 @@
-- |
-- Formatting time is slow.
-- This package provides mechanisms to cache formatted date.
-module System.Log.FastLogger.Date (
- -- * Types
- TimeFormat
- , FormattedTime
- -- * Date cacher
- , newTimeCache
+module System.Log.FastLogger.Date
+ ( -- * Date cacher
+ newTimeCache
, simpleTimeFormat
, simpleTimeFormat'
) where
import Control.AutoUpdate (mkAutoUpdate, defaultUpdateSettings, updateAction)
-import Data.ByteString (ByteString)
-#if WINDOWS
-import qualified Data.ByteString.Char8 as BS
-import Data.Time (UTCTime, formatTime, getCurrentTime, utcToLocalZonedTime)
-# if MIN_VERSION_time(1,5,0)
-import Data.Time (defaultTimeLocale)
-# else
-import System.Locale (defaultTimeLocale)
-# endif
-#else
+import System.Log.FastLogger.Types (TimeFormat, FormattedTime)
import Data.UnixTime (formatUnixTime, fromEpochTime)
-import System.Posix (EpochTime, epochTime)
-#endif
+import System.PosixCompat.Types (EpochTime)
+import System.PosixCompat.Time (epochTime)
----------------------------------------------------------------
--- | Type aliaes for date format and formatted date.
-type FormattedTime = ByteString
-type TimeFormat = ByteString
-
-----------------------------------------------------------------
-
-#if WINDOWS
--- | Get date using UTC.
-getTime :: IO UTCTime
-getTime = getCurrentTime
--- | Format UTC date.
-formatDate :: TimeFormat -> UTCTime -> IO FormattedTime
-formatDate fmt ut = do
- zt <- utcToLocalZonedTime ut
- return $ BS.pack $ formatTime defaultTimeLocale (BS.unpack fmt) zt
-#else
-- | Get date using UnixTime.
getTime :: IO EpochTime
getTime = epochTime
-- | Format unix EpochTime date.
formatDate :: TimeFormat -> EpochTime -> IO FormattedTime
formatDate fmt = formatUnixTime fmt . fromEpochTime
-#endif
----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/System/Log/FastLogger/File.hs new/fast-logger-2.4.13/System/Log/FastLogger/File.hs
--- old/fast-logger-2.4.11/System/Log/FastLogger/File.hs 2018-02-05 03:01:32.000000000 +0100
+++ new/fast-logger-2.4.13/System/Log/FastLogger/File.hs 2018-12-25 03:45:26.000000000 +0100
@@ -1,10 +1,18 @@
{-# LANGUAGE Safe #-}
-module System.Log.FastLogger.File where
+module System.Log.FastLogger.File
+ ( FileLogSpec(..)
+ , TimedFileLogSpec (..)
+ , check
+ , rotate
+ , prefixTime
+ ) where
import Control.Monad (unless, when)
+import Data.ByteString.Char8 (unpack)
import System.Directory (doesFileExist, doesDirectoryExist, getPermissions, writable, renameFile)
-import System.FilePath (takeDirectory)
+import System.FilePath (takeDirectory, dropFileName, takeFileName, (</>))
+import System.Log.FastLogger.Types (TimeFormat, FormattedTime)
-- | The spec for logging files
data FileLogSpec = FileLogSpec {
@@ -13,6 +21,31 @@
, log_backup_number :: Int -- ^ Max number of rotated log files to keep around before overwriting the oldest one.
}
+-- | The spec for time based rotation. It supports post processing of log files. Does
+-- not delete any logs. Example:
+--
+-- @
+-- timeRotate fname = LogFileTimedRotate
+-- (TimedFileLogSpec fname timeFormat sametime compressFile)
+-- defaultBufSize
+-- where
+-- timeFormat = "%FT%H%M%S"
+-- sametime = (==) `on` C8.takeWhile (/='T')
+-- compressFile fp = void . forkIO $
+-- callProcess "tar" [ "--remove-files", "-caf", fp <> ".gz", fp ]
+-- @
+data TimedFileLogSpec = TimedFileLogSpec {
+ timed_log_file :: FilePath -- ^ base file path
+ , timed_timefmt :: TimeFormat -- ^ time format to prepend
+ , timed_same_timeframe :: FormattedTime -> FormattedTime -> Bool
+ -- ^ function that compares two
+ -- formatted times as specified by
+ -- timed_timefmt and decides if a
+ -- new rotation is supposed to
+ -- begin
+ , timed_post_process :: FilePath -> IO () -- ^ processing function called asynchronously after a file is added to the rotation
+ }
+
-- | Checking if a log file can be written.
check :: FilePath -> IO ()
check file = do
@@ -40,3 +73,7 @@
move (src,dst) = do
exist <- doesFileExist src
when exist $ renameFile src dst
+
+-- | Prefix file name with formatted time
+prefixTime :: FormattedTime -> FilePath -> FilePath
+prefixTime time path = dropFileName path </> unpack time ++ "-" ++ takeFileName path
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/System/Log/FastLogger/FileIO.hs new/fast-logger-2.4.13/System/Log/FastLogger/FileIO.hs
--- old/fast-logger-2.4.11/System/Log/FastLogger/FileIO.hs 2018-02-05 03:01:32.000000000 +0100
+++ new/fast-logger-2.4.13/System/Log/FastLogger/FileIO.hs 2018-12-25 03:45:26.000000000 +0100
@@ -1,49 +1,10 @@
-{-# LANGUAGE CPP #-}
-
module System.Log.FastLogger.FileIO where
-import Foreign.Ptr (Ptr)
import Data.Word (Word8)
-
-#ifdef mingw32_HOST_OS
-import System.Win32.Types (HANDLE, UINT)
-import System.Win32.File
-import Graphics.Win32.Misc (getStdHandle, sTD_OUTPUT_HANDLE, sTD_ERROR_HANDLE)
-import Data.Bits ((.|.))
-
-type FD = HANDLE
-#if !MIN_VERSION_Win32(2,4,0)
--- This flag is not defined in System.Win32.File
-fILE_APPEND_DATA :: UINT
-fILE_APPEND_DATA = 0x0004
-#endif
-
-closeFD :: FD -> IO ()
-closeFD = closeHandle
-
-openFileFD :: FilePath -> IO FD
-openFileFD f = createFile f
- fILE_APPEND_DATA
- (fILE_SHARE_READ .|. fILE_SHARE_DELETE)
- Nothing
- oPEN_ALWAYS
- fILE_ATTRIBUTE_NORMAL
- Nothing
-
-getStderrFD :: IO FD
-getStderrFD = getStdHandle sTD_ERROR_HANDLE
-
-getStdoutFD :: IO FD
-getStdoutFD = getStdHandle sTD_OUTPUT_HANDLE
-
-writeRawBufferPtr2FD :: FD -> Ptr Word8 -> Int -> IO Int
-writeRawBufferPtr2FD h bf len = fromIntegral `fmap` win32_WriteFile h bf (fromIntegral len) Nothing
-
-#else
-
+import Foreign.Ptr (Ptr)
import GHC.IO.Device (close)
-import qualified GHC.IO.FD as POSIX (FD(..))
import GHC.IO.FD (openFile, stderr, stdout, writeRawBufferPtr)
+import qualified GHC.IO.FD as POSIX (FD(..))
import GHC.IO.IOMode (IOMode(..))
type FD = POSIX.FD
@@ -62,5 +23,3 @@
writeRawBufferPtr2FD :: FD -> Ptr Word8 -> Int -> IO Int
writeRawBufferPtr2FD fd bf len = fromIntegral `fmap` writeRawBufferPtr "write" fd bf 0 (fromIntegral len)
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/System/Log/FastLogger/LogStr.hs new/fast-logger-2.4.13/System/Log/FastLogger/LogStr.hs
--- old/fast-logger-2.4.11/System/Log/FastLogger/LogStr.hs 2018-02-05 03:01:32.000000000 +0100
+++ new/fast-logger-2.4.13/System/Log/FastLogger/LogStr.hs 2018-12-25 03:45:26.000000000 +0100
@@ -76,6 +76,8 @@
toLogStr bs = LogStr (BS.length bs) (toBuilder bs)
instance ToLogStr BL.ByteString where
toLogStr = toLogStr . S8.concat . BL.toChunks
+instance ToLogStr Builder where
+ toLogStr x = let b = B.toLazyByteString x in LogStr (fromIntegral (BL.length b)) (B.lazyByteString b)
instance ToLogStr String where
toLogStr = toLogStr . TL.pack
instance ToLogStr T.Text where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/System/Log/FastLogger/Types.hs new/fast-logger-2.4.13/System/Log/FastLogger/Types.hs
--- old/fast-logger-2.4.11/System/Log/FastLogger/Types.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/fast-logger-2.4.13/System/Log/FastLogger/Types.hs 2018-12-25 03:45:26.000000000 +0100
@@ -0,0 +1,13 @@
+module System.Log.FastLogger.Types (
+ -- * Types
+ TimeFormat
+ , FormattedTime
+ ) where
+
+import Data.ByteString (ByteString)
+
+----------------------------------------------------------------
+
+-- | Type aliaes for date format and formatted date.
+type FormattedTime = ByteString
+type TimeFormat = ByteString
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/System/Log/FastLogger.hs new/fast-logger-2.4.13/System/Log/FastLogger.hs
--- old/fast-logger-2.4.11/System/Log/FastLogger.hs 2018-02-05 03:01:32.000000000 +0100
+++ new/fast-logger-2.4.13/System/Log/FastLogger.hs 2018-12-25 03:45:26.000000000 +0100
@@ -43,6 +43,8 @@
, module System.Log.FastLogger.Date
-- * File rotation
, module System.Log.FastLogger.File
+ -- * Types
+ , module System.Log.FastLogger.Types
) where
#if __GLASGOW_HASKELL__ < 709
@@ -53,6 +55,7 @@
import Control.Exception (handle, SomeException(..), bracket)
import Control.Monad (when, replicateM)
import Data.Array (Array, listArray, (!), bounds)
+import Data.Foldable (forM_)
import Data.Maybe (isJust)
import System.EasyFile (getFileSize)
import System.Log.FastLogger.File
@@ -62,6 +65,7 @@
import System.Log.FastLogger.LogStr
import System.Log.FastLogger.Logger
import System.Log.FastLogger.Date
+import System.Log.FastLogger.Types
----------------------------------------------------------------
@@ -175,6 +179,15 @@
type FastLogger = LogStr -> IO ()
-- | 'TimedFastLogger' pass 'FormattedTime' to callback and simply log its result.
-- this can be used to customize how to log timestamp.
+--
+-- Usually, one would write a wrapper on top of 'TimedFastLogger', for example:
+--
+-- @
+-- {-# LANGUAGE OverloadedStrings #-}
+--
+-- log :: TimedFastLogger -> LogStr -> IO ()
+-- log logger msg = logger (\time -> toLogStr (show time) <> " " <> msg <> "\n")
+-- @
type TimedFastLogger = (FormattedTime -> LogStr) -> IO ()
-- | Logger Type.
@@ -194,6 +207,11 @@
-- 'BufSize' is a buffer size
-- for each capability.
-- File rotation is done on-demand.
+ | LogFileTimedRotate TimedFileLogSpec BufSize -- ^ Logging to a file.
+ -- 'BufSize' is a buffer size
+ -- for each capability.
+ -- Rotation happens based on check specified
+ -- in 'TimedFileLogSpec'.
| LogCallback (LogStr -> IO ()) (IO ()) -- ^ Logging with a log and flush action.
-- run flush after log each message.
@@ -201,12 +219,13 @@
-- a tuple of logger and clean up action are returned.
newFastLogger :: LogType -> IO (FastLogger, IO ())
newFastLogger 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
- LogFile fspec bsize -> rotateLoggerInit fspec bsize
- LogCallback cb flush -> return (\str -> cb str >> flush, noOp)
+ LogNone -> return (const noOp, noOp)
+ LogStdout bsize -> newStdoutLoggerSet bsize >>= stdLoggerInit
+ LogStderr bsize -> newStderrLoggerSet bsize >>= stdLoggerInit
+ LogFileNoRotate fp bsize -> newFileLoggerSet bsize fp >>= fileLoggerInit
+ LogFile fspec bsize -> rotateLoggerInit fspec bsize
+ LogFileTimedRotate fspec bsize -> timedRotateLoggerInit fspec bsize
+ LogCallback cb flush -> return (\str -> cb str >> flush, noOp)
where
stdLoggerInit lgrset = return (pushLogStr lgrset, rmLoggerSet lgrset)
fileLoggerInit lgrset = return (pushLogStr lgrset, rmLoggerSet lgrset)
@@ -219,6 +238,18 @@
pushLogStr lgrset str
when (cnt <= 0) $ tryRotate lgrset fspec ref mvar
return (logger, rmLoggerSet lgrset)
+ timedRotateLoggerInit fspec bsize = do
+ cache <- newTimeCache $ timed_timefmt fspec
+ now <- cache
+ lgrset <- newFileLoggerSet bsize $ prefixTime now $ timed_log_file fspec
+ ref <- newIORef now
+ mvar <- newMVar lgrset
+ let logger str = do
+ ct <- cache
+ updated <- updateTime (timed_same_timeframe fspec) ref ct
+ when updated $ tryTimedRotate fspec ct mvar
+ pushLogStr lgrset str
+ return (logger, rmLoggerSet lgrset)
-- | 'bracket' version of 'newFastLogger'
withFastLogger :: LogType -> (FastLogger -> IO a) -> IO a
@@ -231,12 +262,13 @@
-- "System.Log.FastLogger.Date" provide cached formatted time.
-> LogType -> IO (TimedFastLogger, IO ())
newTimedFastLogger tgetter 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
- LogFile fspec bsize -> rotateLoggerInit fspec bsize
- LogCallback cb flush -> return (\f -> tgetter >>= cb . f >> flush, noOp)
+ LogNone -> return (const noOp, noOp)
+ LogStdout bsize -> newStdoutLoggerSet bsize >>= stdLoggerInit
+ LogStderr bsize -> newStderrLoggerSet bsize >>= stdLoggerInit
+ LogFileNoRotate fp bsize -> newFileLoggerSet bsize fp >>= fileLoggerInit
+ LogFile fspec bsize -> rotateLoggerInit fspec bsize
+ LogFileTimedRotate fspec bsize -> timedRotateLoggerInit fspec bsize
+ LogCallback cb flush -> return (\f -> tgetter >>= cb . f >> flush, noOp)
where
stdLoggerInit lgrset = return ( \f -> tgetter >>= pushLogStr lgrset . f, rmLoggerSet lgrset)
fileLoggerInit lgrset = return (\f -> tgetter >>= pushLogStr lgrset . f, rmLoggerSet lgrset)
@@ -250,6 +282,19 @@
pushLogStr lgrset (f t)
when (cnt <= 0) $ tryRotate lgrset fspec ref mvar
return (logger, rmLoggerSet lgrset)
+ timedRotateLoggerInit fspec bsize = do
+ cache <- newTimeCache $ timed_timefmt fspec
+ now <- cache
+ lgrset <- newFileLoggerSet bsize $ prefixTime now $ timed_log_file fspec
+ ref <- newIORef now
+ mvar <- newMVar lgrset
+ let logger f = do
+ ct <- cache
+ updated <- updateTime (timed_same_timeframe fspec) ref ct
+ when updated $ tryTimedRotate fspec ct mvar
+ t <- tgetter
+ pushLogStr lgrset (f t)
+ return (logger, rmLoggerSet lgrset)
-- | 'bracket' version of 'newTimeFastLogger'
withTimedFastLogger :: IO FormattedTime -> LogType -> (TimedFastLogger -> IO a) -> IO a
@@ -263,6 +308,10 @@
decrease :: IORef Int -> IO Int
decrease ref = atomicModifyIORef' ref (\x -> (x - 1, x - 1))
+-- updateTime returns whether the timeframe has changed
+updateTime :: (FormattedTime -> FormattedTime -> Bool) -> IORef FormattedTime -> FormattedTime -> IO Bool
+updateTime cmp ref newTime = atomicModifyIORef' ref (\x -> (newTime, not $ cmp x newTime))
+
tryRotate :: LoggerSet -> FileLogSpec -> IORef Int -> MVar () -> IO ()
tryRotate lgrset spec ref mvar = bracket lock unlock rotateFiles
where
@@ -292,3 +341,17 @@
Just . fromIntegral <$> getFileSize file
-- 200 is an ad-hoc value for the length of log line.
estimate x = fromInteger (x `div` 200)
+
+
+tryTimedRotate :: TimedFileLogSpec -> FormattedTime -> MVar LoggerSet -> IO ()
+tryTimedRotate spec now mvar = bracket lock unlock rotateFiles
+ where
+ lock = tryTakeMVar mvar
+ unlock Nothing = return ()
+ unlock (Just (LoggerSet current_path a b c)) = do
+ putMVar mvar $ LoggerSet (Just new_file_path) a b c
+ forM_ current_path (timed_post_process spec)
+ rotateFiles Nothing = return ()
+ rotateFiles (Just (LoggerSet _ a b c)) = renewLoggerSet $ LoggerSet (Just new_file_path) a b c
+ new_file_path = prefixTime now $ timed_log_file spec
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fast-logger-2.4.11/fast-logger.cabal new/fast-logger-2.4.13/fast-logger.cabal
--- old/fast-logger-2.4.11/fast-logger.cabal 2018-02-05 03:01:32.000000000 +0100
+++ new/fast-logger-2.4.13/fast-logger.cabal 2018-12-25 03:45:26.000000000 +0100
@@ -1,5 +1,5 @@
Name: fast-logger
-Version: 2.4.11
+Version: 2.4.13
Author: Kazu Yamamoto <kazu(a)iij.ad.jp>
Maintainer: Kazu Yamamoto <kazu(a)iij.ad.jp>
License: BSD3
@@ -10,13 +10,15 @@
Category: System
Cabal-Version: >= 1.8
Build-Type: Simple
-extra-source-files: README.md ChangeLog.md
+Extra-Source-Files: README.md ChangeLog.md
+Tested-With: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.3
Library
GHC-Options: -Wall
Exposed-Modules: System.Log.FastLogger
System.Log.FastLogger.File
System.Log.FastLogger.Date
+ System.Log.FastLogger.Types
Other-Modules: System.Log.FastLogger.IO
System.Log.FastLogger.FileIO
System.Log.FastLogger.IORef
@@ -30,16 +32,10 @@
, directory
, filepath
, text
+ , unix-time >= 0.4.4
+ , unix-compat
if impl(ghc < 7.8)
Build-Depends: bytestring-builder
- if os(windows)
- Cpp-Options: -DWINDOWS
- Build-Depends: time
- , Win32
- , old-locale
- else
- Build-Depends: unix
- , unix-time >= 0.2.2
Test-Suite spec
Main-Is: Spec.hs
1
0
Hello community,
here is the log from the commit of package ghc for openSUSE:Factory checked in at 2018-12-28 12:35:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc (Old)
and /work/SRC/openSUSE:Factory/.ghc.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc"
Fri Dec 28 12:35:05 2018 rev:70 rq:661492 version:8.6.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc/ghc.changes 2018-12-10 12:29:33.246454060 +0100
+++ /work/SRC/openSUSE:Factory/.ghc.new.28833/ghc.changes 2018-12-28 12:35:21.791961749 +0100
@@ -1,0 +2,5 @@
+Mon Dec 17 13:26:47 UTC 2018 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- use python3-Sphinx instead deprecated python-sphinx [boo#1119686]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc.spec ++++++
--- /var/tmp/diff_new_pack.3brAeo/_old 2018-12-28 12:35:22.687961123 +0100
+++ /var/tmp/diff_new_pack.3brAeo/_new 2018-12-28 12:35:22.691961120 +0100
@@ -71,7 +71,7 @@
%endif
%endif
%if %{undefined without_manual}
-BuildRequires: python-sphinx
+BuildRequires: python3-Sphinx
%endif
%if %with_libnuma
1
0
Hello community,
here is the log from the commit of package 0ad for openSUSE:Factory checked in at 2018-12-28 12:35:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/0ad (Old)
and /work/SRC/openSUSE:Factory/.0ad.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "0ad"
Fri Dec 28 12:35:02 2018 rev:8 rq:661488 version:0.0.23b
Changes:
--------
--- /work/SRC/openSUSE:Factory/0ad/0ad.changes 2018-05-29 16:48:22.504428243 +0200
+++ /work/SRC/openSUSE:Factory/.0ad.new.28833/0ad.changes 2018-12-28 12:35:20.699962512 +0100
@@ -1,0 +2,6 @@
+Tue Dec 25 12:18:12 UTC 2018 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 0.0.23b:
+ See https://play0ad.com/re-release-of-0-a-d-alpha-23-ken-wood/
+
+-------------------------------------------------------------------
Old:
----
0ad-0.0.23-alpha-unix-build.tar.xz
New:
----
0ad-0.0.23b-alpha-unix-build.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ 0ad.spec ++++++
--- /var/tmp/diff_new_pack.ttuWJW/_old 2018-12-28 12:35:21.615961871 +0100
+++ /var/tmp/diff_new_pack.ttuWJW/_new 2018-12-28 12:35:21.615961871 +0100
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -24,13 +24,15 @@
%endif
Name: 0ad
-Version: 0.0.23
+Version: 0.0.23b
Release: 0
Summary: A real-time strategy game of ancient warfare
-License: GPL-2.0+ and LGPL-3.0+ and CC-BY-SA-3.0 and MIT and ISC and MPL-2.0 and BSD-3-Clause
+License: GPL-2.0-or-later AND LGPL-3.0-or-later AND CC-BY-SA-3.0 AND MIT AND ISC AND MPL-2.0 AND BSD-3-Clause
Group: Amusements/Games/Strategy/Real Time
Url: http://play0ad.com/
-Source: http://sourceforge.net/projects/zero-ad/files/releases/%{name}-%{version}-a…
+#Source: http://sourceforge.net/projects/zero-ad/files/releases/%{name}-%{version}-a…
+# SF is repeatedly not up to date. Let's use their site
+Source: http://releases.wildfiregames.com/%{name}-%{version}-alpha-unix-build.tar.xz
Source99: %{name}.changes
BuildRequires: cmake
BuildRequires: gcc-c++
@@ -57,7 +59,7 @@
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libenet)
-BuildRequires: pkgconfig(libsodium)
+BuildRequires: pkgconfig(libsodium) >= 1.0.13
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(mozjs-38)
BuildRequires: pkgconfig(openal)
++++++ 0ad-0.0.23-alpha-unix-build.tar.xz -> 0ad-0.0.23b-alpha-unix-build.tar.xz ++++++
/work/SRC/openSUSE:Factory/0ad/0ad-0.0.23-alpha-unix-build.tar.xz /work/SRC/openSUSE:Factory/.0ad.new.28833/0ad-0.0.23b-alpha-unix-build.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package clipgrab for openSUSE:Factory checked in at 2018-12-28 12:35:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clipgrab (Old)
and /work/SRC/openSUSE:Factory/.clipgrab.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clipgrab"
Fri Dec 28 12:35:00 2018 rev:6 rq:661442 version:3.7.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/clipgrab/clipgrab.changes 2018-10-29 14:58:57.306023372 +0100
+++ /work/SRC/openSUSE:Factory/.clipgrab.new.28833/clipgrab.changes 2018-12-28 12:35:15.703966003 +0100
@@ -1,0 +2,7 @@
+Tue Dec 25 23:36:13 UTC 2018 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 3.7.2 (no changelog supplied)
+- Fix build with Qt 5.12
+- Refreshed clipgrab-qt5.patch
+
+-------------------------------------------------------------------
Old:
----
clipgrab-3.7.1.tar.gz
New:
----
clipgrab-3.7.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clipgrab.spec ++++++
--- /var/tmp/diff_new_pack.a5gxwZ/_old 2018-12-28 12:35:16.191965663 +0100
+++ /var/tmp/diff_new_pack.a5gxwZ/_new 2018-12-28 12:35:16.191965663 +0100
@@ -18,7 +18,7 @@
Name: clipgrab
-Version: 3.7.1
+Version: 3.7.2
Release: 0
Summary: Video downloader
License: GPL-3.0-or-later
@@ -46,6 +46,9 @@
%setup -q
%patch0 -p1
chmod 0644 COPYING
+%if 0%{?suse_version} > 1500
+sed -i 's|QtWebKit/QWebView|QtWebKitWidgets/QWebView|' mainwindow.ui
+%endif
%build
# none too clean, but it beats depending on icns-utils which has problems on non-x86 archs
++++++ clipgrab-3.7.1.tar.gz -> clipgrab-3.7.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/ClipGrab.plist new/clipgrab-3.7.2/ClipGrab.plist
--- old/clipgrab-3.7.1/ClipGrab.plist 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/ClipGrab.plist 2018-11-16 23:22:10.000000000 +0100
@@ -17,6 +17,6 @@
<key>NSHighResolutionCapable</key>
<string>True</string>
<key>CFBundleVersion</key>
- <string>3.7.1</string>
+ <string>3.7.2</string>
</dict>
</plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/README new/clipgrab-3.7.2/README
--- old/clipgrab-3.7.1/README 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/README 2018-11-16 23:22:10.000000000 +0100
@@ -1,10 +1,21 @@
-Compiling ClipGrab is really easy.
+#Compiling ClipGrab
-You will only need the Qt4 developer libraries in order to compile the program.
-In addition, ffmpeg (no developer libs necessary) needs to be installed.
+Pre-compiled packages for ClipGrab are available on https://clipgrab.org
+But compiling ClipGrab is really easy!
+
+##Prerequisites
+
+You need to install the Qt4 developer libraries in order to compile the program.
+On Ubuntu and Debian-based system, you can install the necessary libraries like this:
+sudo apt install libqt4-dev libqt4-bin libqtwebkit-dev
+
+Other Linux distributions might have slightly different package names. Packages for Windows and macOS can be downloaded here: https://download.qt.io/archive/qt/4.8/4.8.7/
+
+In addition, ffmpeg (no developer libs necessary) needs to be installed.
-To compile ClipGrab, simply execute
+##Compiling
+To compile ClipGrab, simply execute the following command:
qmake clipgrab.pro && make
-This will create an executable "clipgrab" that you can start via ./clipgrab.
\ No newline at end of file
+This will create an executable "clipgrab" that you can start via ./clipgrab.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/clipgrab.pro new/clipgrab-3.7.2/clipgrab.pro
--- old/clipgrab-3.7.1/clipgrab.pro 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/clipgrab.pro 2018-11-16 23:22:10.000000000 +0100
@@ -94,5 +94,5 @@
OBJECTIVE_SOURCES += savedialog_mac.mm
LIBS += -framework AppKit -framework Foundation
}
-VERSION = 3.7.1
+VERSION = 3.7.2
DEFINES += CLIPGRAB_VERSION=$$VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/mainwindow.cpp new/clipgrab-3.7.2/mainwindow.cpp
--- old/clipgrab-3.7.1/mainwindow.cpp 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/mainwindow.cpp 2018-11-16 23:22:10.000000000 +0100
@@ -280,7 +280,7 @@
if (cg->settings.value("saveLastPath", true) == true)
{
QString targetDir = target;
- targetDir.remove(targetDir.split("/", QString::SkipEmptyParts).last()).replace(QRegExp("/+"), "/");
+ targetDir.remove(targetDir.split("/", QString::SkipEmptyParts).last()).replace(QRegExp("/+$"), "/");
ui.settingsSavedPath->setText(targetDir);
}
currentVideo->setTargetPath(target);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/video.cpp new/clipgrab-3.7.2/video.cpp
--- old/clipgrab-3.7.1/video.cpp 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/video.cpp 2018-11-16 23:22:10.000000000 +0100
@@ -334,7 +334,7 @@
if (title.size() > 0)
{
QStringList charsToBeRemoved;
- charsToBeRemoved << "\\" << "/" << ":" << "*" << "?" << "<" << ">" << "|" << "'" << "\"" << "&quot;";
+ charsToBeRemoved << "\\" << "/" << ":" << "*" << "?" << "<" << ">" << "|" << "'" << "\"" << "&quot;" << "~" << "^";
title = title.simplified();
if (title[0] == QChar('.'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/video_dailymotion.cpp new/clipgrab-3.7.2/video_dailymotion.cpp
--- old/clipgrab-3.7.1/video_dailymotion.cpp 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/video_dailymotion.cpp 2018-11-16 23:22:10.000000000 +0100
@@ -44,7 +44,7 @@
{
_originalUrl = url;
- for (uint i = 0; i < this->_urlRegExp.length(); i++)
+ for (int i = 0; i < this->_urlRegExp.length(); i++)
{
if (this->_urlRegExp.at(i).indexIn((url)) == -1)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clipgrab-3.7.1/video_youtube.cpp new/clipgrab-3.7.2/video_youtube.cpp
--- old/clipgrab-3.7.1/video_youtube.cpp 2018-10-03 08:13:44.000000000 +0200
+++ new/clipgrab-3.7.2/video_youtube.cpp 2018-11-16 23:22:10.000000000 +0100
@@ -98,10 +98,10 @@
QString video_youtube::getUrlFromFmtLink(QString link)
{
- QRegExp urlExpression;
- urlExpression = QRegExp("(http[s]?[^,]+)");
+ QRegExp clen0 = QRegExp("clen=0");
+ QRegExp urlExpression = QRegExp("(http[s]?[^,]+)");
- if (urlExpression.indexIn(link) > -1)
+ if (clen0.indexIn(link) == -1 && urlExpression.indexIn(link) > -1)
{
QString url = QUrl::fromEncoded(QUrl::fromEncoded(urlExpression.cap(1).toAscii()).toString().toAscii()).toString();
@@ -537,7 +537,6 @@
}
//Extract links
- bool videoIsFmt = true, audioIsFmt = true;
QString videoLink = getFmtLink(qualityLinks, q.video);
QString audioLink = !q.audio.isEmpty() ? getFmtLink(qualityLinks, q.audio) : "";
QStringList videoLinkSegments, audioLinkSegments;
@@ -555,6 +554,13 @@
}
}
+ if (!videoLink.isEmpty()) {
+ videoLink = getUrlFromFmtLink(videoLink);
+ }
+ if (!audioLink.isEmpty()) {
+ audioLink = getUrlFromFmtLink(audioLink);
+ }
+
//Try MPEG-Dash if Fmt link wasn’t found
if (videoLink.isEmpty() || (!q.audio.isEmpty() && audioLink.isEmpty()))
{
@@ -571,14 +577,12 @@
videoLink = dashQualityLinks.at(j).at(0);
videoLinkSegments = QStringList(dashQualityLinks.at(j));
videoLinkSegments.removeFirst();
- videoIsFmt = false;
}
else if (audioLink.isEmpty() && itagExpression.cap(1) == q.audio)
{
audioLink = dashQualityLinks.at(j).at(0);
audioLinkSegments = QStringList(dashQualityLinks.at(j));
audioLinkSegments.removeFirst();
- audioIsFmt = false;
}
}
@@ -595,7 +599,6 @@
audioLink = dashQualityLinks.at(j).at(0);
audioLinkSegments = QStringList(dashQualityLinks.at(j));
audioLinkSegments.removeFirst();
- audioIsFmt = false;
}
}
@@ -624,23 +627,19 @@
}
}
- if (videoIsFmt)
- {
- newQuality.videoUrl = getUrlFromFmtLink(videoLink);
- }
- else
+ newQuality.videoUrl = videoLink;
+ if (!videoLinkSegments.isEmpty())
{
- newQuality.videoUrl = videoLink;
newQuality.videoSegments = videoLinkSegments;
}
- if (!audioLink.isEmpty() && audioIsFmt)
+ if (!audioLink.isEmpty())
{
- newQuality.audioUrl = getUrlFromFmtLink(audioLink);
- }
- else if (!audioLink.isEmpty()) {
newQuality.audioUrl = audioLink;
- newQuality.audioSegments = audioLinkSegments;
+ if (!audioLinkSegments.isEmpty())
+ {
+ newQuality.audioSegments = audioLinkSegments;
+ }
}
++++++ clipgrab-qt5.patch ++++++
--- /var/tmp/diff_new_pack.a5gxwZ/_old 2018-12-28 12:35:16.295965590 +0100
+++ /var/tmp/diff_new_pack.a5gxwZ/_new 2018-12-28 12:35:16.299965586 +0100
@@ -15,9 +15,10 @@
from the Arch AUR project.
---
-diff -udp clipgrab-3.7.1.orig/clipgrab.cpp clipgrab-3.7.1/clipgrab.cpp
---- clipgrab-3.7.1.orig/clipgrab.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/clipgrab.cpp 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/clipgrab.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/clipgrab.cpp
++++ clipgrab-3.7.2/clipgrab.cpp
@@ -23,6 +23,13 @@
#include "clipgrab.h"
@@ -59,9 +60,10 @@
QNetworkAccessManager* updateInfoNAM = new QNetworkAccessManager;
updateInfoNAM->get(updateInfoRequest);
connect(updateInfoNAM, SIGNAL(finished(QNetworkReply*)), this, SLOT(parseUpdateInfo(QNetworkReply*)));
-diff -udp clipgrab-3.7.1.orig/clipgrab.h clipgrab-3.7.1/clipgrab.h
---- clipgrab-3.7.1.orig/clipgrab.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/clipgrab.h 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/clipgrab.h
+===================================================================
+--- clipgrab-3.7.2.orig/clipgrab.h
++++ clipgrab-3.7.2/clipgrab.h
@@ -29,6 +29,10 @@
#include <QtXml>
#include <QtDebug>
@@ -73,9 +75,10 @@
#include "video.h"
#include "video_youtube.h"
#include "video_vimeo.h"
-diff -udp clipgrab-3.7.1.orig/clipgrab.pro clipgrab-3.7.1/clipgrab.pro
---- clipgrab-3.7.1.orig/clipgrab.pro 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/clipgrab.pro 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/clipgrab.pro
+===================================================================
+--- clipgrab-3.7.2.orig/clipgrab.pro
++++ clipgrab-3.7.2/clipgrab.pro
@@ -1,16 +1,24 @@
# #####################################################################
# Automatically generated by qmake (2.01a) Mo 26. Okt 18:26:00 2009
@@ -127,9 +130,10 @@
CODECFORTR = UTF-8
win32:RC_FILE = windows_icon.rc
macx {
-diff -udp clipgrab-3.7.1.orig/http_handler.cpp clipgrab-3.7.1/http_handler.cpp
---- clipgrab-3.7.1.orig/http_handler.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/http_handler.cpp 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/http_handler.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/http_handler.cpp
++++ clipgrab-3.7.2/http_handler.cpp
@@ -45,14 +45,22 @@ QNetworkRequest http_handler::createRequ
QNetworkReply* http_handler::addDownload(QString url, bool chunked, QByteArray postData, QStringList segments)
{
@@ -206,9 +210,10 @@
for (int j = 0; j < parsedCookies.length(); j++)
{
cookies.append(parsedCookies.at(j));
-diff -udp clipgrab-3.7.1.orig/main.cpp clipgrab-3.7.1/main.cpp
---- clipgrab-3.7.1.orig/main.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/main.cpp 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/main.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/main.cpp
++++ clipgrab-3.7.2/main.cpp
@@ -19,9 +19,14 @@
along with ClipGrab. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -262,9 +267,10 @@
cg.getUpdateInfo();
return app.exec();
}
-diff -udp clipgrab-3.7.1.orig/mainwindow.cpp clipgrab-3.7.1/mainwindow.cpp
---- clipgrab-3.7.1.orig/mainwindow.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/mainwindow.cpp 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/mainwindow.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/mainwindow.cpp
++++ clipgrab-3.7.2/mainwindow.cpp
@@ -23,7 +23,23 @@
#include "mainwindow.h"
@@ -378,9 +384,10 @@
#endif
setWindowTitle("ClipGrab - " + QString::number(downloadProgress.first*100/downloadProgress.second) + " %");
}
-diff -udp clipgrab-3.7.1.orig/mainwindow.h clipgrab-3.7.1/mainwindow.h
---- clipgrab-3.7.1.orig/mainwindow.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/mainwindow.h 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/mainwindow.h
+===================================================================
+--- clipgrab-3.7.2.orig/mainwindow.h
++++ clipgrab-3.7.2/mainwindow.h
@@ -24,10 +24,14 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
@@ -409,9 +416,10 @@
~MainWindow();
void init();
-diff -udp clipgrab-3.7.1.orig/message_dialog.h clipgrab-3.7.1/message_dialog.h
---- clipgrab-3.7.1.orig/message_dialog.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/message_dialog.h 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/message_dialog.h
+===================================================================
+--- clipgrab-3.7.2.orig/message_dialog.h
++++ clipgrab-3.7.2/message_dialog.h
@@ -1,9 +1,14 @@
#ifndef MESSAGE_DIALOG_H
#define MESSAGE_DIALOG_H
@@ -428,9 +436,10 @@
namespace Ui {
class messageDialog;
-diff -udp clipgrab-3.7.1.orig/notifications.h clipgrab-3.7.1/notifications.h
---- clipgrab-3.7.1.orig/notifications.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/notifications.h 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/notifications.h
+===================================================================
+--- clipgrab-3.7.2.orig/notifications.h
++++ clipgrab-3.7.2/notifications.h
@@ -25,6 +25,11 @@
#define FOO_H
@@ -443,9 +452,10 @@
#ifdef Q_WS_MAC64
#include "notifications_mac.h"
-diff -udp clipgrab-3.7.1.orig/video.cpp clipgrab-3.7.1/video.cpp
---- clipgrab-3.7.1.orig/video.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video.cpp 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/video.cpp
++++ clipgrab-3.7.2/video.cpp
@@ -195,7 +195,11 @@ void video::changeProgress(qint64 bytesR
this->_progressBar->setFormat("%p%");
this->_progressBar->setMaximum(bytesTotal);
@@ -458,9 +468,10 @@
}
}
else
-diff -udp clipgrab-3.7.1.orig/video_dailymotion.cpp clipgrab-3.7.1/video_dailymotion.cpp
---- clipgrab-3.7.1.orig/video_dailymotion.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_dailymotion.cpp 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/video_dailymotion.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/video_dailymotion.cpp
++++ clipgrab-3.7.2/video_dailymotion.cpp
@@ -22,6 +22,9 @@
@@ -471,9 +482,10 @@
video_dailymotion::video_dailymotion()
{
-diff -udp clipgrab-3.7.1.orig/video_dailymotion.h clipgrab-3.7.1/video_dailymotion.h
---- clipgrab-3.7.1.orig/video_dailymotion.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_dailymotion.h 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/video_dailymotion.h
+===================================================================
+--- clipgrab-3.7.2.orig/video_dailymotion.h
++++ clipgrab-3.7.2/video_dailymotion.h
@@ -23,8 +23,9 @@
#ifndef VIDEO_DAILYMOTION_H
@@ -485,9 +497,10 @@
struct dailymotion_quality
{
-diff -udp clipgrab-3.7.1.orig/video_facebook.cpp clipgrab-3.7.1/video_facebook.cpp
---- clipgrab-3.7.1.orig/video_facebook.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_facebook.cpp 2018-10-27 20:16:12.351022193 +0200
+Index: clipgrab-3.7.2/video_facebook.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/video_facebook.cpp
++++ clipgrab-3.7.2/video_facebook.cpp
@@ -22,6 +22,10 @@
@@ -523,9 +536,10 @@
return;
}
-diff -udp clipgrab-3.7.1.orig/video_facebook.h clipgrab-3.7.1/video_facebook.h
---- clipgrab-3.7.1.orig/video_facebook.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_facebook.h 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video_facebook.h
+===================================================================
+--- clipgrab-3.7.2.orig/video_facebook.h
++++ clipgrab-3.7.2/video_facebook.h
@@ -24,9 +24,9 @@
#ifndef VIDEO_FACEBOOK_H
#define VIDEO_FACEBOOK_H
@@ -537,9 +551,10 @@
class video_facebook : public video
{
-diff -udp clipgrab-3.7.1.orig/video.h clipgrab-3.7.1/video.h
---- clipgrab-3.7.1.orig/video.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video.h 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video.h
+===================================================================
+--- clipgrab-3.7.2.orig/video.h
++++ clipgrab-3.7.2/video.h
@@ -26,6 +26,10 @@
#include <QtGui>
@@ -551,9 +566,10 @@
#include "converter.h"
#include "converter_ffmpeg.h"
#include "http_handler.h"
-diff -udp clipgrab-3.7.1.orig/video_heuristic.cpp clipgrab-3.7.1/video_heuristic.cpp
---- clipgrab-3.7.1.orig/video_heuristic.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_heuristic.cpp 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video_heuristic.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/video_heuristic.cpp
++++ clipgrab-3.7.2/video_heuristic.cpp
@@ -124,7 +124,11 @@ void video_heuristic::parseVideo(QString
{
videoQuality newQuality;
@@ -578,9 +594,10 @@
newQuality.quality = tr("normal");
_supportedQualities.append(newQuality);
emit analysingFinished();
-diff -udp clipgrab-3.7.1.orig/video_vimeo.h clipgrab-3.7.1/video_vimeo.h
---- clipgrab-3.7.1.orig/video_vimeo.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_vimeo.h 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video_vimeo.h
+===================================================================
+--- clipgrab-3.7.2.orig/video_vimeo.h
++++ clipgrab-3.7.2/video_vimeo.h
@@ -24,10 +24,15 @@
#ifndef video_vimeo_H
#define video_vimeo_H
@@ -600,9 +617,10 @@
#include "ui_login_dialog.h"
class video_vimeo : public video
-diff -udp clipgrab-3.7.1.orig/video_youtube.cpp clipgrab-3.7.1/video_youtube.cpp
---- clipgrab-3.7.1.orig/video_youtube.cpp 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_youtube.cpp 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video_youtube.cpp
+===================================================================
+--- clipgrab-3.7.2.orig/video_youtube.cpp
++++ clipgrab-3.7.2/video_youtube.cpp
@@ -22,7 +22,11 @@
@@ -617,7 +635,7 @@
{
@@ -103,7 +107,11 @@ QString video_youtube::getUrlFromFmtLink
- if (urlExpression.indexIn(link) > -1)
+ if (clen0.indexIn(link) == -1 && urlExpression.indexIn(link) > -1)
{
+#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
QString url = QUrl::fromEncoded(QUrl::fromEncoded(urlExpression.cap(1).toAscii()).toString().toAscii()).toString();
@@ -627,7 +645,7 @@
QRegExp sigExpression;
sigExpression = QRegExp("(?:^|[^a-zA-Z])[,]?s(ig)?=([^,]+)");
-@@ -674,7 +682,11 @@ void video_youtube::parseVideo(QString h
+@@ -673,7 +681,11 @@ void video_youtube::parseVideo(QString h
{
videoQuality newQuality;
newQuality.quality = tr("normal");
@@ -639,9 +657,10 @@
_supportedQualities.append(newQuality);
}
else
-diff -udp clipgrab-3.7.1.orig/video_youtube.h clipgrab-3.7.1/video_youtube.h
---- clipgrab-3.7.1.orig/video_youtube.h 2018-10-03 08:13:44.000000000 +0200
-+++ clipgrab-3.7.1/video_youtube.h 2018-10-27 20:16:12.355021553 +0200
+Index: clipgrab-3.7.2/video_youtube.h
+===================================================================
+--- clipgrab-3.7.2.orig/video_youtube.h
++++ clipgrab-3.7.2/video_youtube.h
@@ -24,13 +24,17 @@
#ifndef video_YOUTUBE_H
#define video_YOUTUBE_H
1
0
Hello community,
here is the log from the commit of package WoeUSB for openSUSE:Factory checked in at 2018-12-28 12:34:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/WoeUSB (Old)
and /work/SRC/openSUSE:Factory/.WoeUSB.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "WoeUSB"
Fri Dec 28 12:34:58 2018 rev:10 rq:661436 version:3.2.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/WoeUSB/WoeUSB.changes 2018-09-20 11:42:17.824827069 +0200
+++ /work/SRC/openSUSE:Factory/.WoeUSB.new.28833/WoeUSB.changes 2018-12-28 12:35:14.299966984 +0100
@@ -1,0 +2,15 @@
+Tue Dec 25 09:34:06 UTC 2018 - Yunhe Guo <i(a)guoyunhe.me>
+
+- Version 3.2.12
+ * This release features some minor improvements to the code.
+- Version 3.2.11
+ * This release fixes a big regression causing source image with
+ >4GiB file can't be installed on disks with NTFS target filesystem
+ using --partition USB preparation mode, refer Issue #226 for more
+ info.
+ * We would like to thank Luke Anderson(@spble) that brought up the
+ issue, @0xC1A551C for confirming it and providing mitigation,
+ and everyone in the discussion thread that helped to escalate
+ the issue.
+
+-------------------------------------------------------------------
Old:
----
WoeUSB-3.2.10.tar.gz
New:
----
WoeUSB-3.2.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ WoeUSB.spec ++++++
--- /var/tmp/diff_new_pack.x9z36s/_old 2018-12-28 12:35:14.695966708 +0100
+++ /var/tmp/diff_new_pack.x9z36s/_new 2018-12-28 12:35:14.699966705 +0100
@@ -17,7 +17,7 @@
Name: WoeUSB
-Version: 3.2.10
+Version: 3.2.12
Release: 0
Summary: Windows USB installation media creator
License: GPL-3.0-or-later
++++++ WoeUSB-3.2.10.tar.gz -> WoeUSB-3.2.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WoeUSB-3.2.10/.github/issue_template.md new/WoeUSB-3.2.12/.github/issue_template.md
--- old/WoeUSB-3.2.10/.github/issue_template.md 2018-09-18 17:36:41.000000000 +0200
+++ new/WoeUSB-3.2.12/.github/issue_template.md 2018-12-24 09:28:06.000000000 +0100
@@ -1,5 +1,5 @@
## Good Habit Checklist for Issue Reporting
-Checkout [Mastering Markdown · GitHub Guides](https://guides.github.com/features/mastering-markdown/#GitHub-flavo… if you needs help on the GitHub-flavored Markdown syntax. You may remove sections and contents that don't apply.
+Checkout [Mastering Markdown · GitHub Guides](https://guides.github.com/features/mastering-markdown/#GitHub-flavo… if you need help on the GitHub-flavored Markdown syntax. You may remove sections and contents that don't apply.
* [ ] I've searched the issue tracker and is pretty sure that there's no duplicate issue already filed
* [ ] I've built the latest development snapshot using the instructions in README and verified that the issue can still be reproduced (for bug reports)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WoeUSB-3.2.10/README.md new/WoeUSB-3.2.12/README.md
--- old/WoeUSB-3.2.10/README.md 2018-09-18 17:36:41.000000000 +0200
+++ new/WoeUSB-3.2.12/README.md 2018-12-24 09:28:06.000000000 +0100
@@ -29,6 +29,8 @@
#### Official Distribution Packages
* [Fedora](https://src.fedoraproject.org/rpms/WoeUSB) packages maintained by mprahl
+* [openSUSE](https://software.opensuse.org/package/WoeUSB) packages maintained by [guoyunhe](https://guoyunhe.me/)
+* [Gentoo](https://packages.gentoo.org/packages/sys-boot/woeusb) packages maintained by pacho
#### Third-party Distribution Packages
* [Arch Linux](https://aur.archlinux.org/packages/woeusb-git/) packages maintained by darkfm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WoeUSB-3.2.10/src/woeusb new/WoeUSB-3.2.12/src/woeusb
--- old/WoeUSB-3.2.10/src/woeusb 2018-09-18 17:36:41.000000000 +0200
+++ new/WoeUSB-3.2.12/src/woeusb 2018-12-24 09:28:06.000000000 +0100
@@ -236,7 +236,8 @@
"${install_mode}" \
"${target_media}" \
target_device \
- target_partition
+ target_partition \
+ target_filesystem_type
check_source_and_target_not_busy \
"${install_mode}" \
@@ -831,16 +832,46 @@
}; declare -fr check_runtime_parameters
determine_target_parameters(){
- util_check_function_parameters_quantity 4 $#
+ util_check_function_parameters_quantity 5 $#
local install_mode="${1}"; shift
local target_media="${1}"; shift
local -n target_device_ref="${1}"; shift
local -n target_partition_ref="${1}"; shift
+ local -n target_filesystem_type_ref="${1}"; shift
if [ "${install_mode}" = partition ]; then
+ local target_filesystem_type_libblkid
+
target_partition_ref="${target_media}"
# BASHDOC: Basic Shell Features » Shell Expansions » Shell Parameter Expansion(`${PARAMETER/PATTERN/STRING}')
target_device_ref="${target_media/%[0-9]/}"
+
+ # Detect target filesystem
+ target_filesystem_type_libblkid="$(
+ lsblk \
+ --noheadings \
+ --output FSTYPE \
+ "${target_partition_ref}"
+ )"
+
+ case "${target_filesystem_type_libblkid}" in
+ vfat)
+ target_filesystem_type_ref=FS_FAT
+ ;;
+ ntfs)
+ target_filesystem_type_ref=FS_NTFS
+ ;;
+ *)
+ printf -- \
+ '%s: Error: Unsupported target filesystem "%s", currently supported target filesystems: %s, %s' \
+ "${FUNCNAME[0]}" \
+ "${target_filesystem_type_libblkid}" \
+ "${ENUM_SUPPORTED_FILESYSTEMS[FS_FAT]}" \
+ "${ENUM_SUPPORTED_FILESYSTEMS[FS_NTFS]}"
+ return 1
+ ;;
+ esac
+ unset target_filesystem_type_libblkid
else # install_mode = device
target_device_ref="${target_media}"
target_partition_ref="${target_device}1"
@@ -849,6 +880,9 @@
if [ "${verbose}" = true ]; then
echo "${FUNCNAME[0]}: Info: Target device is '${target_device_ref}'."
echo "${FUNCNAME[0]}: Info: Target partition is '${target_partition_ref}'."
+ if [ "${install_mode}" = partition ]; then
+ echo "${FUNCNAME[0]}: Info: Target filesystem is '${ENUM_SUPPORTED_FILESYSTEMS[$target_filesystem_type]}'."
+ fi
fi
return 0
}; declare -fr determine_target_parameters
@@ -928,15 +962,16 @@
'Ensure that %s is really wiped...\n' \
"${target_device}"
- if [ \
- "$(lsblk \
- --pairs \
- --output NAME,TYPE \
- "${target_device}" \
- | grep \
- --count \
- --fixed-strings \
- ' TYPE="part"'
+ if [ "$(
+ env LANG=C \
+ lsblk \
+ --noheadings \
+ --output TYPE \
+ "${target_device}" \
+ | grep \
+ --count \
+ --fixed-strings \
+ part
)" -ne 0 ]; then
printf_with_color \
red \
1
0
Hello community,
here is the log from the commit of package newlib for openSUSE:Factory checked in at 2018-12-28 12:34:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/newlib (Old)
and /work/SRC/openSUSE:Factory/.newlib.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "newlib"
Fri Dec 28 12:34:50 2018 rev:6 rq:661356 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/newlib/cross-arm-none-newlib-devel.changes 2018-04-16 12:52:04.542375988 +0200
+++ /work/SRC/openSUSE:Factory/.newlib.new.28833/cross-arm-none-newlib-devel.changes 2018-12-28 12:35:11.595968874 +0100
@@ -1,0 +2,15 @@
+Mon Dec 24 13:49:40 UTC 2018 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Trim redundant license mention.
+
+-------------------------------------------------------------------
+Sat May 12 21:46:42 UTC 2018 - afaerber(a)suse.de
+
+- Add riscv64 target
+
+-------------------------------------------------------------------
+Sat May 12 20:31:49 UTC 2018 - afaerber(a)suse.de
+
+- Update SPDX syntax
+
+-------------------------------------------------------------------
cross-epiphany-newlib-devel.changes: same change
New Changes file:
--- /dev/null 2018-10-29 14:05:42.522318975 +0100
+++ /work/SRC/openSUSE:Factory/.newlib.new.28833/cross-riscv64-newlib-devel.changes 2018-12-28 12:35:11.675968817 +0100
@@ -0,0 +1,108 @@
+-------------------------------------------------------------------
+Mon Dec 24 13:49:40 UTC 2018 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Trim redundant license mention.
+
+-------------------------------------------------------------------
+Sat May 12 21:46:42 UTC 2018 - afaerber(a)suse.de
+
+- Add riscv64 target
+
+-------------------------------------------------------------------
+Sat May 12 20:31:49 UTC 2018 - afaerber(a)suse.de
+
+- Update SPDX syntax
+
+-------------------------------------------------------------------
+Sun Mar 11 18:44:09 UTC 2018 - afaerber(a)suse.de
+
+- Add arm-none-eabi target
+
+-------------------------------------------------------------------
+Sun Mar 11 17:44:01 UTC 2018 - afaerber(a)suse.de
+
+- Update to v3.0.0
+
+-------------------------------------------------------------------
+Sun Mar 11 16:50:55 UTC 2018 - afaerber(a)suse.de
+
+- Prepare for %cross_arch with dashes by consistently quoting
+- Leave the choice of cross-*-binutils to cross-*-gcc*
+- Update to v2.5.0
+
+-------------------------------------------------------------------
+Wed Jan 24 09:29:00 UTC 2018 - rguenther(a)suse.com
+
+- Handle debugsources.list to debugsourcefiles.list rename of new rpm.
+
+-------------------------------------------------------------------
+Fri Jul 1 12:32:49 UTC 2016 - rguenther(a)suse.com
+
+- Add rx and epiphany targets
+
+-------------------------------------------------------------------
+Tue May 17 17:55:35 UTC 2016 - afaerber(a)suse.de
+
+- Drop newlib-rpmlintrc
+
+-------------------------------------------------------------------
+Sat May 14 00:18:57 UTC 2016 - afaerber(a)suse.de
+
+- Apply epiphany-fixes.diff not only to cross builds (.spec.in) but
+ also in newlib.spec, to please factory-auto checker (sr#395228)
+
+-------------------------------------------------------------------
+Fri May 13 16:57:05 UTC 2016 - afaerber(a)suse.de
+
+- Prepare rl78 target
+- Update to 2.4.0
+* Info files are no longer built
+* Package all license and read-me files
+- Clean up makeinfo dependency
+- Drop cross .spec files in preparation for Factory submission
+
+-------------------------------------------------------------------
+Mon Jul 20 21:52:07 UTC 2015 - afaerber(a)suse.de
+
+- Update to 2.2.0.20150623
+- Add cross-rx-newlib-devel package
+- Revert installing files to sysroot
+
+-------------------------------------------------------------------
+Fri Jul 10 21:50:42 UTC 2015 - afaerber(a)suse.de
+
+- Switch cross template to gcc5
+
+-------------------------------------------------------------------
+Mon Apr 6 15:53:44 UTC 2015 - afaerber(a)suse.de
+
+- Install target files to sysroot
+
+-------------------------------------------------------------------
+Sat Nov 1 00:52:40 UTC 2014 - afaerber(a)suse.de
+
+- Enable native builds
+
+-------------------------------------------------------------------
+Fri Oct 31 21:08:45 UTC 2014 - afaerber(a)suse.de
+
+- epiphany-fixes.diff: Drop executable permissions of
+ libepiphany.a and crt0.o
+
+-------------------------------------------------------------------
+Fri Oct 31 20:05:26 UTC 2014 - afaerber(a)suse.de
+
+- Turn cross-epiphany-newlib into generic newlib package
+* Rename packages to -devel to avoid empty -newlib packages
+
+-------------------------------------------------------------------
+Tue Oct 21 07:21:21 UTC 2014 - afaerber(a)suse.de
+
+- Update to official 2.1.0 tarball
+* Drop portability.patch
+
+-------------------------------------------------------------------
+Tue Sep 30 02:29:16 UTC 2014 - afaerber(a)suse.de
+
+- Initial
+
--- /work/SRC/openSUSE:Factory/newlib/cross-rx-newlib-devel.changes 2018-04-16 12:52:04.706370023 +0200
+++ /work/SRC/openSUSE:Factory/.newlib.new.28833/cross-rx-newlib-devel.changes 2018-12-28 12:35:11.719968787 +0100
@@ -1,0 +2,15 @@
+Mon Dec 24 13:49:40 UTC 2018 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Trim redundant license mention.
+
+-------------------------------------------------------------------
+Sat May 12 21:46:42 UTC 2018 - afaerber(a)suse.de
+
+- Add riscv64 target
+
+-------------------------------------------------------------------
+Sat May 12 20:31:49 UTC 2018 - afaerber(a)suse.de
+
+- Update SPDX syntax
+
+-------------------------------------------------------------------
newlib.changes: same change
New:
----
cross-riscv64-newlib-devel.changes
cross-riscv64-newlib-devel.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-arm-none-newlib-devel.spec ++++++
--- /var/tmp/diff_new_pack.C1bspq/_old 2018-12-28 12:35:12.447968278 +0100
+++ /var/tmp/diff_new_pack.C1bspq/_new 2018-12-28 12:35:12.447968278 +0100
@@ -12,24 +12,29 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cross_arch arm-none
+%define gcc_cross_arch %{cross_arch}
+%if "%{cross_arch}" == "riscv64"
+%define gcc_cross_arch %{cross_arch}-elf
+%endif
+
Name: cross-%{cross_arch}-newlib-devel
Version: 3.0.0
Release: 0
Summary: C library intended for use on %{cross_arch} embedded systems
-License: BSD-3-Clause and MIT and LGPL-2.0+ and ISC
+License: BSD-3-Clause AND MIT AND LGPL-2.0-or-later AND ISC
Group: Development/Tools
Url: https://sourceware.org/newlib/
Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz
Patch1: epiphany-fixes.diff
-BuildRequires: cross-%{cross_arch}-gcc%{gcc_version}-bootstrap
+BuildRequires: cross-%{gcc_cross_arch}-gcc%{gcc_version}-bootstrap
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
@@ -38,11 +43,10 @@
%description
Newlib is a C library intended for use on embedded systems. It is a
-conglomeration of several library parts, all under free software licenses
-that make them easily usable on embedded products.
+conglomeration of several library parts.
%define target %{cross_arch}
-%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
+%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "riscv32" || "%{cross_arch}" == "riscv64" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
%define target %{cross_arch}-elf
%endif
%if "%{cross_arch}" == "arm-none"
++++++ cross-epiphany-newlib-devel.spec ++++++
--- /var/tmp/diff_new_pack.C1bspq/_old 2018-12-28 12:35:12.459968270 +0100
+++ /var/tmp/diff_new_pack.C1bspq/_new 2018-12-28 12:35:12.459968270 +0100
@@ -12,24 +12,29 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cross_arch epiphany
+%define gcc_cross_arch %{cross_arch}
+%if "%{cross_arch}" == "riscv64"
+%define gcc_cross_arch %{cross_arch}-elf
+%endif
+
Name: cross-%{cross_arch}-newlib-devel
Version: 3.0.0
Release: 0
Summary: C library intended for use on %{cross_arch} embedded systems
-License: BSD-3-Clause and MIT and LGPL-2.0+ and ISC
+License: BSD-3-Clause AND MIT AND LGPL-2.0-or-later AND ISC
Group: Development/Tools
Url: https://sourceware.org/newlib/
Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz
Patch1: epiphany-fixes.diff
-BuildRequires: cross-%{cross_arch}-gcc%{gcc_version}-bootstrap
+BuildRequires: cross-%{gcc_cross_arch}-gcc%{gcc_version}-bootstrap
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
@@ -38,11 +43,10 @@
%description
Newlib is a C library intended for use on embedded systems. It is a
-conglomeration of several library parts, all under free software licenses
-that make them easily usable on embedded products.
+conglomeration of several library parts.
%define target %{cross_arch}
-%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
+%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "riscv32" || "%{cross_arch}" == "riscv64" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
%define target %{cross_arch}-elf
%endif
%if "%{cross_arch}" == "arm-none"
++++++ cross-riscv64-newlib-devel.spec ++++++
#
# spec file for package cross-riscv64-newlib-devel
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cross_arch riscv64
%define gcc_cross_arch %{cross_arch}
%if "%{cross_arch}" == "riscv64"
%define gcc_cross_arch %{cross_arch}-elf
%endif
Name: cross-%{cross_arch}-newlib-devel
Version: 3.0.0
Release: 0
Summary: C library intended for use on %{cross_arch} embedded systems
License: BSD-3-Clause AND MIT AND LGPL-2.0-or-later AND ISC
Group: Development/Tools
Url: https://sourceware.org/newlib/
Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz
Patch1: epiphany-fixes.diff
BuildRequires: cross-%{gcc_cross_arch}-gcc%{gcc_version}-bootstrap
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
%description
Newlib is a C library intended for use on embedded systems. It is a
conglomeration of several library parts.
%define target %{cross_arch}
%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "riscv32" || "%{cross_arch}" == "riscv64" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
%define target %{cross_arch}-elf
%endif
%if "%{cross_arch}" == "arm-none"
%define target %{cross_arch}-eabi
%endif
%if "%{cross_arch}" == "spu"
%define sysroot /usr/spu
%else
%define sysroot %{_prefix}/%{target}/sys-root
%endif
%prep
%setup -q -n newlib-%{version}
%patch1 -p1
%build
mkdir build-dir
cd build-dir
../configure \
--prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \
--target=%{target} \
%if "%{cross_arch}" == "arm-none"
--with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r \
%endif
--with-build-sysroot=%{sysroot}
make %{?_smp_mflags}
%install
# All binaries built are for the target architecture - don't damage them.
export NO_BRP_STRIP_DEBUG=true
export NO_DEBUGINFO_STRIP_DEBUG=true
%define __debug_install_post %{nil}
: >debugfiles.list
: >debugsourcefiles.list
: >debugsources.list
cd build-dir
make install DESTDIR=%{buildroot}
%files
%defattr(-,root,root,-)
%{_prefix}/%{target}/
%changelog
++++++ cross-rx-newlib-devel.spec ++++++
--- /var/tmp/diff_new_pack.C1bspq/_old 2018-12-28 12:35:12.483968253 +0100
+++ /var/tmp/diff_new_pack.C1bspq/_new 2018-12-28 12:35:12.483968253 +0100
@@ -12,24 +12,29 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cross_arch rx
+%define gcc_cross_arch %{cross_arch}
+%if "%{cross_arch}" == "riscv64"
+%define gcc_cross_arch %{cross_arch}-elf
+%endif
+
Name: cross-%{cross_arch}-newlib-devel
Version: 3.0.0
Release: 0
Summary: C library intended for use on %{cross_arch} embedded systems
-License: BSD-3-Clause and MIT and LGPL-2.0+ and ISC
+License: BSD-3-Clause AND MIT AND LGPL-2.0-or-later AND ISC
Group: Development/Tools
Url: https://sourceware.org/newlib/
Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz
Patch1: epiphany-fixes.diff
-BuildRequires: cross-%{cross_arch}-gcc%{gcc_version}-bootstrap
+BuildRequires: cross-%{gcc_cross_arch}-gcc%{gcc_version}-bootstrap
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
@@ -38,11 +43,10 @@
%description
Newlib is a C library intended for use on embedded systems. It is a
-conglomeration of several library parts, all under free software licenses
-that make them easily usable on embedded products.
+conglomeration of several library parts.
%define target %{cross_arch}
-%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
+%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "riscv32" || "%{cross_arch}" == "riscv64" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
%define target %{cross_arch}-elf
%endif
%if "%{cross_arch}" == "arm-none"
++++++ newlib.spec ++++++
--- /var/tmp/diff_new_pack.C1bspq/_old 2018-12-28 12:35:12.495968245 +0100
+++ /var/tmp/diff_new_pack.C1bspq/_new 2018-12-28 12:35:12.499968242 +0100
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -20,7 +20,7 @@
Version: 3.0.0
Release: 0
Summary: C library intended for use on embedded systems
-License: BSD-3-Clause and MIT and LGPL-2.0+ and ISC
+License: BSD-3-Clause AND MIT AND LGPL-2.0-or-later AND ISC
Group: Development/Tools
Url: https://sourceware.org/newlib/
Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz
++++++ newlib.spec.in ++++++
--- /var/tmp/diff_new_pack.C1bspq/_old 2018-12-28 12:35:12.527968222 +0100
+++ /var/tmp/diff_new_pack.C1bspq/_new 2018-12-28 12:35:12.531968219 +0100
@@ -1,16 +1,21 @@
+%define gcc_cross_arch %{cross_arch}
+%if "%{cross_arch}" == "riscv64"
+%define gcc_cross_arch %{cross_arch}-elf
+%endif
+
Name: cross-%{cross_arch}-newlib-devel
Version: 3.0.0
Release: 0
Summary: C library intended for use on %{cross_arch} embedded systems
Group: Development/Tools
-License: BSD-3-Clause and MIT and LGPL-2.0+ and ISC
-URL: https://sourceware.org/newlib/
+License: BSD-3-Clause AND MIT AND LGPL-2.0-or-later AND ISC
+Url: https://sourceware.org/newlib/
Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz
Patch1: epiphany-fixes.diff
-BuildRequires: cross-%{cross_arch}-gcc%{gcc_version}-bootstrap
+BuildRequires: cross-%{gcc_cross_arch}-gcc%{gcc_version}-bootstrap
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
@@ -19,11 +24,10 @@
%description
Newlib is a C library intended for use on embedded systems. It is a
-conglomeration of several library parts, all under free software licenses
-that make them easily usable on embedded products.
+conglomeration of several library parts.
%define target %{cross_arch}
-%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
+%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "riscv32" || "%{cross_arch}" == "riscv64" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx"
%define target %{cross_arch}-elf
%endif
%if "%{cross_arch}" == "arm-none"
++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.C1bspq/_old 2018-12-28 12:35:12.539968214 +0100
+++ /var/tmp/diff_new_pack.C1bspq/_new 2018-12-28 12:35:12.539968214 +0100
@@ -2,7 +2,7 @@
rm -f cross*.spec cross*.changes
-for arch in arm-none epiphany rx; do
+for arch in arm-none epiphany riscv64 rx; do
pkgname=cross-$arch-newlib-devel
outfile=$pkgname.spec
echo "%define cross_arch $arch" > $outfile
1
0