openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- 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
May 2016
- 1 participants
- 1722 discussions
Hello community,
here is the log from the commit of package ghc-foldl for openSUSE:Factory checked in at 2016-05-31 12:25:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-foldl (Old)
and /work/SRC/openSUSE:Factory/.ghc-foldl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-foldl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-foldl/ghc-foldl.changes 2016-03-16 10:36:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-foldl.new/ghc-foldl.changes 2016-05-31 12:25:03.000000000 +0200
@@ -1,0 +2,10 @@
+Mon May 30 09:50:26 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 1.2.1
+
+-------------------------------------------------------------------
+Mon Apr 4 07:38:46 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 1.2.0
+
+-------------------------------------------------------------------
Old:
----
foldl-1.1.6.tar.gz
New:
----
foldl-1.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-foldl.spec ++++++
--- /var/tmp/diff_new_pack.JWW5OY/_old 2016-05-31 12:25:04.000000000 +0200
+++ /var/tmp/diff_new_pack.JWW5OY/_new 2016-05-31 12:25:04.000000000 +0200
@@ -18,7 +18,7 @@
%global pkg_name foldl
Name: ghc-foldl
-Version: 1.1.6
+Version: 1.2.1
Release: 0
Summary: Composable, streaming, and efficient left folds
Group: System/Libraries
@@ -34,6 +34,7 @@
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-comonad-devel
BuildRequires: ghc-containers-devel
+BuildRequires: ghc-contravariant-devel
BuildRequires: ghc-mwc-random-devel
BuildRequires: ghc-primitive-devel
BuildRequires: ghc-profunctors-devel
++++++ foldl-1.1.6.tar.gz -> foldl-1.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foldl-1.1.6/foldl.cabal new/foldl-1.2.1/foldl.cabal
--- old/foldl-1.1.6/foldl.cabal 2016-03-12 21:01:49.000000000 +0100
+++ new/foldl-1.2.1/foldl.cabal 2016-05-28 08:46:25.000000000 +0200
@@ -1,5 +1,5 @@
Name: foldl
-Version: 1.1.6
+Version: 1.2.1
Cabal-Version: >=1.8.0.2
Build-Type: Simple
License: BSD3
@@ -7,6 +7,7 @@
Copyright: 2013 Gabriel Gonzalez
Author: Gabriel Gonzalez
Maintainer: Gabriel439(a)gmail.com
+Tested-With: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1
Bug-Reports: https://github.com/Gabriel439/Haskell-Foldl-Library/issues
Synopsis: Composable, streaming, and efficient left folds
Description: This library provides strict left folds that stream in constant
@@ -26,9 +27,10 @@
mwc-random >= 0.13.1.0 && < 0.14,
primitive < 0.7 ,
text >= 0.11.2.0 && < 1.3 ,
- transformers >= 0.2.0.0 && < 0.5 ,
+ transformers >= 0.2.0.0 && < 0.6 ,
vector >= 0.7 && < 0.12,
containers < 0.6 ,
+ contravariant < 1.5 ,
profunctors < 5.3 ,
comonad >= 4.0 && < 6
Exposed-Modules:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foldl-1.1.6/src/Control/Foldl.hs new/foldl-1.2.1/src/Control/Foldl.hs
--- old/foldl-1.1.6/src/Control/Foldl.hs 2016-03-12 21:01:49.000000000 +0100
+++ new/foldl-1.2.1/src/Control/Foldl.hs 2016-05-28 08:22:59.000000000 +0200
@@ -19,7 +19,7 @@
Taking the sum, the sum of squares, ..., upto the sum of x^5
>>> import Data.Traversable
->>> let powerSums = sequenceA [premap (^n) L.sum | n <- [1..5]]
+>>> let powerSums = sequenceA [L.premap (^n) L.sum | n <- [1..5]]
>>> L.fold powerSums [1..10]
[55,385,3025,25333,220825]
@@ -108,6 +108,8 @@
, EndoM(..)
, HandlerM
, handlesM
+ , folded
+ , filtered
-- * Re-exports
-- $reexports
@@ -118,12 +120,12 @@
import Control.Applicative
import Control.Foldl.Internal (Maybe'(..), lazy, Either'(..), hush)
-import Control.Monad ((>=>))
+import Control.Monad ((<=<))
import Control.Monad.Primitive (PrimMonad, RealWorld)
import Control.Comonad
import Data.Foldable (Foldable)
-import Data.Functor.Constant (Constant(Constant, getConstant))
import Data.Functor.Identity (Identity, runIdentity)
+import Data.Functor.Contravariant (Contravariant(..))
import Data.Monoid
import Data.Profunctor
import Data.Sequence ((|>))
@@ -171,7 +173,7 @@
instance Functor (Fold a) where
fmap f (Fold step begin done) = Fold step begin (f . done)
- {-# INLINABLE fmap #-}
+ {-# INLINE fmap #-}
instance Profunctor Fold where
lmap = premap
@@ -186,14 +188,14 @@
instance Applicative (Fold a) where
pure b = Fold (\() _ -> ()) () (\() -> b)
- {-# INLINABLE pure #-}
+ {-# INLINE pure #-}
(Fold stepL beginL doneL) <*> (Fold stepR beginR doneR) =
let step (Pair xL xR) a = Pair (stepL xL a) (stepR xR a)
begin = Pair beginL beginR
done (Pair xL xR) = doneL xL (doneR xR)
in Fold step begin done
- {-# INLINABLE (<*>) #-}
+ {-# INLINE (<*>) #-}
instance Monoid b => Monoid (Fold a b) where
mempty = pure mempty
@@ -556,7 +558,7 @@
-}
maximumBy :: (a -> a -> Ordering) -> Fold a (Maybe a)
maximumBy cmp = _Fold1 max'
- where
+ where
max' x y = case cmp x y of
GT -> x
_ -> y
@@ -572,7 +574,7 @@
-}
minimumBy :: (a -> a -> Ordering) -> Fold a (Maybe a)
minimumBy cmp = _Fold1 min'
- where
+ where
min' x y = case cmp x y of
GT -> y
_ -> x
@@ -797,17 +799,46 @@
function to accept a 'Fold' or 'FoldM' using the 'purely' or 'impurely'
combinators.
- For example, the @pipes@ library implements a @foldM@ function in
+ For example, the @pipes@ library implements @fold@ and @foldM@ functions in
@Pipes.Prelude@ with the following type:
-> foldM
+> Pipes.Prelude.fold
+> :: Monad m
+> -> (x -> a -> x) -> x -> (x -> b) -> Producer a m () -> m b
+>
+> Pipes.Prelude.foldM
> :: Monad m
> => (x -> a -> m x) -> m x -> (x -> m b) -> Producer a m () -> m b
- @foldM@ is set up so that you can wrap it with 'impurely' to accept a
- 'FoldM' instead:
+ Both @fold@ and @foldM@ is set up so that you can wrap them with either
+ 'purely' or 'impurely' to accept a 'Fold' or 'FoldM', respectively:
+
+> purely Pipes.Prelude.fold
+> :: Monad m => Fold a b -> Producer a m () -> m b
+>
+> impurely Pipes.Prelude.foldM
+> :: Monad m => FoldM m a b -> Producer a m () -> m b
+
+ Similarly the @ofoldlUnwrap@ and @ofoldMUnwrap@ functions from the
+ @monotraversable@ package are written to interoperate with this library:
-> impurely foldM :: Monad m => FoldM m a b -> Producer a m () -> m b
+> ofoldlUnwrap
+> :: MonoFoldable mono
+> => (x -> Element mono -> x) -> x -> (x -> b) -> mono -> b
+>
+> ofoldMUnwrap
+> :: (Monad m, MonoFoldable mono)
+> => (x -> Element mono -> m x) -> m x -> (x -> m b) -> mono -> m b
+
+ You can wrap these to accept 'Fold' or 'FoldM', too:
+
+> purely ofoldlUnwrap
+> :: MonoFoldable mono
+> => Fold (Element mono) b -> mono -> b
+>
+> impurely ofoldMUnwrap
+> :: MonoFoldable mono
+> => FoldM m (Element mono) b -> mono -> m b
-}
-- | Upgrade a fold to accept the 'Fold' type
@@ -943,7 +974,7 @@
Any lens, traversal, or prism will type-check as a `Handler`
-}
type Handler a b =
- forall x . (b -> Constant (Endo x) b) -> a -> Constant (Endo x) a
+ forall x . (b -> Const (Dual (Endo x)) b) -> a -> Const (Dual (Endo x)) a
{-| @(handles t folder)@ transforms the input of a `Fold` using a lens,
traversal, or prism:
@@ -960,7 +991,7 @@
42
>>> fold (handles (filtered even) sum) [1..10]
-42
+30
>>> fold (handles _2 mconcat) [(1,"Hello "),(2,"World"),(3,"!")]
"Hello World!"
@@ -976,26 +1007,26 @@
handles :: Handler a b -> Fold b r -> Fold a r
handles k (Fold step begin done) = Fold step' begin done
where
- step' = flip (appEndo . getConstant . k (Constant . Endo . flip step))
+ step' = flip (appEndo . getDual . getConst . k (Const . Dual . Endo . flip step))
{-# INLINABLE handles #-}
{-|
> instance Monad m => Monoid (EndoM m a) where
> mempty = EndoM return
-> mappend (EndoM f) (EndoM g) = EndoM (f >=> g)
+> mappend (EndoM f) (EndoM g) = EndoM (f <=< g)
-}
newtype EndoM m a = EndoM { appEndoM :: a -> m a }
instance Monad m => Monoid (EndoM m a) where
mempty = EndoM return
- mappend (EndoM f) (EndoM g) = EndoM (f >=> g)
+ mappend (EndoM f) (EndoM g) = EndoM (f <=< g)
{-| A Handler for the upstream input of `FoldM`
Any lens, traversal, or prism will type-check as a `HandlerM`
-}
type HandlerM m a b =
- forall x . (b -> Constant (EndoM m x) b) -> a -> Constant (EndoM m x) a
+ forall x . (b -> Const (Dual (EndoM m x)) b) -> a -> Const (Dual (EndoM m x)) a
{-| @(handlesM t folder)@ transforms the input of a `FoldM` using a lens,
traversal, or prism:
@@ -1018,9 +1049,37 @@
handlesM :: Monad m => HandlerM m a b -> FoldM m b r -> FoldM m a r
handlesM k (FoldM step begin done) = FoldM step' begin done
where
- step' = flip (appEndoM . getConstant . k (Constant . EndoM . flip step))
+ step' = flip (appEndoM . getDual . getConst . k (Const . Dual . EndoM . flip step))
{-# INLINABLE handlesM #-}
+{-|
+> folded :: Foldable t => Fold (t a) a
+>
+> handles folded :: Foldable t => Fold a r -> Fold (t a) r
+-}
+folded
+ :: (Contravariant f, Applicative f, Foldable t)
+ => (a -> f a) -> (t a -> f (t a))
+folded k ts = contramap (\_ -> ()) (F.traverse_ k ts)
+
+{-|
+>>> fold (handles (filtered even) sum) [1..10]
+30
+
+>>> foldM (handlesM (filtered even) (mapM_ print)) [1..10]
+2
+4
+6
+8
+10
+
+-}
+filtered :: Monoid m => (a -> Bool) -> (a -> m) -> a -> m
+filtered p k x
+ | p x = k x
+ | otherwise = mempty
+{-# INLINABLE filtered #-}
+
{- $reexports
@Control.Monad.Primitive@ re-exports the 'PrimMonad' type class
1
0
Hello community,
here is the log from the commit of package ghc-extra for openSUSE:Factory checked in at 2016-05-31 12:25:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-extra (Old)
and /work/SRC/openSUSE:Factory/.ghc-extra.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-extra"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-extra/ghc-extra.changes 2016-05-25 21:28:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-extra.new/ghc-extra.changes 2016-05-31 12:25:02.000000000 +0200
@@ -1,0 +2,6 @@
+Mon May 30 09:49:03 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 1.4.8
+* Add displayException
+
+-------------------------------------------------------------------
Old:
----
extra-1.4.7.tar.gz
New:
----
extra-1.4.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-extra.spec ++++++
--- /var/tmp/diff_new_pack.sWE5rn/_old 2016-05-31 12:25:03.000000000 +0200
+++ /var/tmp/diff_new_pack.sWE5rn/_new 2016-05-31 12:25:03.000000000 +0200
@@ -21,7 +21,7 @@
%global debug_package %{nil}
%bcond_with tests
Name: ghc-extra
-Version: 1.4.7
+Version: 1.4.8
Release: 0
Summary: Extra functions I use
License: BSD-3-Clause
++++++ extra-1.4.7.tar.gz -> extra-1.4.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.4.7/CHANGES.txt new/extra-1.4.8/CHANGES.txt
--- old/extra-1.4.7/CHANGES.txt 2016-05-22 21:10:19.000000000 +0200
+++ new/extra-1.4.8/CHANGES.txt 2016-05-26 21:39:07.000000000 +0200
@@ -1,5 +1,7 @@
Changelog for Extra
+1.4.8
+ Add displayException
1.4.7
#21, add concatForM
1.4.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.4.7/README.md new/extra-1.4.8/README.md
--- old/extra-1.4.7/README.md 2016-05-22 21:10:19.000000000 +0200
+++ new/extra-1.4.8/README.md 2016-05-26 21:39:07.000000000 +0200
@@ -9,6 +9,7 @@
The module `Extra` documents all functions provided by this library. Modules such as `Data.List.Extra` provide extra functions over `Data.List` and also reexport `Data.List`. Users are recommended to replace `Data.List` imports with `Data.List.Extra` if they need the extra functionality.
+
## Which functions?
When producing a library of extra functions I have been guided by a few principles. I encourage others with small useful utility functions contribute them here, perhaps as a temporary stop before proposing they join the standard libraries.
@@ -17,3 +18,15 @@
* The functions follow the spirit of the original Prelude/base libraries. I am happy to provide partial functions (e.g. `fromRight`), and functions which are specialisations of more generic functions (`whenJust`).
* Most of the functions have trivial implementations. If a beginner couldn't write the function, it probably doesn't belong here.
* I have defined only a few new data types or type aliases. It's a package for defining new utilities on existing types, not new types or concepts.
+
+
+## Base versions
+
+The following GHC versions correspond to the following base library versions:
+
+* base 4.9 == GHC 8.0
+* base 4.8 == GHC 7.10
+* base 4.7 == GHC 7.8
+* base 4.6 == GHC 7.6
+* base 4.5 == GHC 7.4
+* base 4.4 == GHC 7.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.4.7/extra.cabal new/extra-1.4.8/extra.cabal
--- old/extra-1.4.7/extra.cabal 2016-05-22 21:10:19.000000000 +0200
+++ new/extra-1.4.8/extra.cabal 2016-05-26 21:39:07.000000000 +0200
@@ -1,7 +1,7 @@
cabal-version: >= 1.10
build-type: Simple
name: extra
-version: 1.4.7
+version: 1.4.8
license: BSD3
license-file: LICENSE
category: Development
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.4.7/src/Control/Exception/Extra.hs new/extra-1.4.8/src/Control/Exception/Extra.hs
--- old/extra-1.4.7/src/Control/Exception/Extra.hs 2016-05-22 21:10:19.000000000 +0200
+++ new/extra-1.4.8/src/Control/Exception/Extra.hs 2016-05-26 21:39:07.000000000 +0200
@@ -1,4 +1,5 @@
-{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE ScopedTypeVariables, CPP #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-- | Extra functions for "Control.Exception".
-- These functions provide retrying, showing in the presence of exceptions,
@@ -7,7 +8,7 @@
module Control.Exception,
retry, retryBool,
showException, stringException,
- errorIO,
+ errorIO, displayException,
-- * Exception catching/ignoring
ignore,
catch_, handle_, try_,
@@ -43,6 +44,14 @@
showException = stringException . show
+#if __GLASGOW_HASKELL__ < 710
+-- | Render this exception value in a human-friendly manner.
+-- Part of the 'Exception' class in GHC 7.10 onwards.
+displayException :: Exception e => e -> String
+displayException = show
+#endif
+
+
-- | Ignore any exceptions thrown by the action.
--
-- > ignore (print 1) == print 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.4.7/src/Extra.hs new/extra-1.4.8/src/Extra.hs
--- old/extra-1.4.7/src/Extra.hs 2016-05-22 21:10:19.000000000 +0200
+++ new/extra-1.4.8/src/Extra.hs 2016-05-26 21:39:07.000000000 +0200
@@ -11,7 +11,7 @@
getNumCapabilities, setNumCapabilities, withNumCapabilities, forkFinally, once, onceFork, Lock, newLock, withLock, withLockTry, Var, newVar, readVar, modifyVar, modifyVar_, withVar, Barrier, newBarrier, signalBarrier, waitBarrier, waitBarrierMaybe,
-- * Control.Exception.Extra
-- | Extra functions available in @"Control.Exception.Extra"@.
- retry, retryBool, showException, stringException, errorIO, ignore, catch_, handle_, try_, catchJust_, handleJust_, tryJust_, catchBool, handleBool, tryBool,
+ retry, retryBool, showException, stringException, errorIO, displayException, ignore, catch_, handle_, try_, catchJust_, handleJust_, tryJust_, catchBool, handleBool, tryBool,
-- * Control.Monad.Extra
-- | Extra functions available in @"Control.Monad.Extra"@.
whenJust, whenJustM, unit, maybeM, eitherM, loopM, whileM, partitionM, concatMapM, concatForM, mconcatMapM, mapMaybeM, findM, firstJustM, whenM, unlessM, ifM, notM, (||^), (&&^), orM, andM, anyM, allM,
1
0
Hello community,
here is the log from the commit of package php7 for openSUSE:Factory checked in at 2016-05-31 12:24:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/php7 (Old)
and /work/SRC/openSUSE:Factory/.php7.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php7"
Changes:
--------
--- /work/SRC/openSUSE:Factory/php7/php7.changes 2016-04-30 23:31:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.php7.new/php7.changes 2016-05-31 12:25:00.000000000 +0200
@@ -1,0 +2,6 @@
+Mon May 30 09:30:57 UTC 2016 - pgajdos(a)suse.com
+
+- updated to 7.0.7: This is a security release. Several security
+ bugs were fixed in this release.
+
+-------------------------------------------------------------------
Old:
----
php-7.0.6.tar.xz
php-7.0.6.tar.xz.asc
New:
----
php-7.0.7.tar.xz
php-7.0.7.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ php7.spec ++++++
--- /var/tmp/diff_new_pack.B4qUIb/_old 2016-05-31 12:25:02.000000000 +0200
+++ /var/tmp/diff_new_pack.B4qUIb/_new 2016-05-31 12:25:02.000000000 +0200
@@ -51,7 +51,7 @@
%define need_libxml2_hack %(if [ -e %{_includedir}/libxml/parser.h ]; then if grep -q XML_PARSE_OLDSAX %{_includedir}/libxml/parser.h; then echo 1; else echo 0; fi; else echo 0; fi)
Name: php7
-Version: 7.0.6
+Version: 7.0.7
Release: 0
Summary: PHP7 Core Files
License: PHP-3.01
++++++ php-7.0.6.tar.xz -> php-7.0.7.tar.xz ++++++
/work/SRC/openSUSE:Factory/php7/php-7.0.6.tar.xz /work/SRC/openSUSE:Factory/.php7.new/php-7.0.7.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package yast2-geo-cluster for openSUSE:Factory checked in at 2016-05-31 12:24:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-geo-cluster (Old)
and /work/SRC/openSUSE:Factory/.yast2-geo-cluster.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-geo-cluster"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-geo-cluster/yast2-geo-cluster.changes 2016-02-18 12:36:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-geo-cluster.new/yast2-geo-cluster.changes 2016-05-31 12:24:59.000000000 +0200
@@ -1,0 +2,6 @@
+Mon May 30 08:39:27 UTC 2016 - nwang(a)suse.com
+
+- bsc#982166. Disable "Edit" and "Del" buttons when no conf.
+- Version 3.1.13
+
+-------------------------------------------------------------------
Old:
----
yast2-geo-cluster-3.1.12.tar.bz2
New:
----
yast2-geo-cluster-3.1.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-geo-cluster.spec ++++++
--- /var/tmp/diff_new_pack.Isi7Bg/_old 2016-05-31 12:24:59.000000000 +0200
+++ /var/tmp/diff_new_pack.Isi7Bg/_new 2016-05-31 12:24:59.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-geo-cluster
-Version: 3.1.12
+Version: 3.1.13
Release: 0
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
++++++ yast2-geo-cluster-3.1.12.tar.bz2 -> yast2-geo-cluster-3.1.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-geo-cluster-3.1.12/package/yast2-geo-cluster.changes new/yast2-geo-cluster-3.1.13/package/yast2-geo-cluster.changes
--- old/yast2-geo-cluster-3.1.12/package/yast2-geo-cluster.changes 2016-02-18 04:25:09.000000000 +0100
+++ new/yast2-geo-cluster-3.1.13/package/yast2-geo-cluster.changes 2016-05-30 10:46:06.000000000 +0200
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon May 30 08:39:27 UTC 2016 - nwang(a)suse.com
+
+- bsc#982166. Disable "Edit" and "Del" buttons when no conf.
+- Version 3.1.13
+
+-------------------------------------------------------------------
Thu Feb 18 01:46:25 UTC 2016 - nwang(a)suse.com
- bsc#967024. Correct the popup message.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-geo-cluster-3.1.12/package/yast2-geo-cluster.spec new/yast2-geo-cluster-3.1.13/package/yast2-geo-cluster.spec
--- old/yast2-geo-cluster-3.1.12/package/yast2-geo-cluster.spec 2016-02-18 04:25:09.000000000 +0100
+++ new/yast2-geo-cluster-3.1.13/package/yast2-geo-cluster.spec 2016-05-30 10:46:06.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-geo-cluster
-Version: 3.1.12
+Version: 3.1.13
Release: 0
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-geo-cluster-3.1.12/src/include/geo-cluster/dialogs.rb new/yast2-geo-cluster-3.1.13/src/include/geo-cluster/dialogs.rb
--- old/yast2-geo-cluster-3.1.12/src/include/geo-cluster/dialogs.rb 2016-02-18 04:25:09.000000000 +0100
+++ new/yast2-geo-cluster-3.1.13/src/include/geo-cluster/dialogs.rb 2016-05-30 10:46:06.000000000 +0200
@@ -406,6 +406,16 @@
deep_copy(conf_list)
end
+ def configuration_button_switch
+ if GeoCluster.global_files.size == 0
+ UI.ChangeWidget(Id(:conf_edit), :Enabled, false)
+ UI.ChangeWidget(Id(:conf_del), :Enabled, false)
+ else
+ UI.ChangeWidget(Id(:conf_edit), :Enabled, true)
+ UI.ChangeWidget(Id(:conf_del), :Enabled, true)
+ end
+ end
+
def ServiceDialog
ret = nil
event = {}
@@ -831,6 +841,7 @@
)
conf_list = fill_conf_entries
+ configuration_button_switch
ret = UI.UserInput
if ret == :conf_add
1
0
Hello community,
here is the log from the commit of package frescobaldi for openSUSE:Factory checked in at 2016-05-31 12:24:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frescobaldi (Old)
and /work/SRC/openSUSE:Factory/.frescobaldi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frescobaldi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/frescobaldi/frescobaldi.changes 2015-12-29 12:59:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.frescobaldi.new/frescobaldi.changes 2016-05-31 12:24:55.000000000 +0200
@@ -1,0 +2,7 @@
+Sun May 29 20:52:51 UTC 2016 - cornelis(a)solcon.nl
+
+- Update frescobaldi to 2.19.0:
+ Changes: https://github.com/wbsoft/frescobaldi/blob/master/ChangeLog
+- Update python-ly to 0.9.4
+
+-------------------------------------------------------------------
Old:
----
frescobaldi-2.18.2.tar.gz
python-ly-0.9.3.tar.gz
New:
----
frescobaldi-2.19.0.tar.gz
python-ly-0.9.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ frescobaldi.spec ++++++
--- /var/tmp/diff_new_pack.dGP6a5/_old 2016-05-31 12:24:56.000000000 +0200
+++ /var/tmp/diff_new_pack.dGP6a5/_new 2016-05-31 12:24:56.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package frescobaldi
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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
@@ -20,7 +20,7 @@
Summary: Lilypond editor
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Editors and Convertors
-Version: 2.18.2
+Version: 2.19.0
Release: 0
Url: http://www.frescobaldi.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -28,7 +28,7 @@
# New package, was before part of frescobaldi
# Url: https://pypi.python.org/pypi/python-ly
# Split off into separate package?
-Source1: python-ly-0.9.3.tar.gz
+Source1: python-ly-0.9.4.tar.gz
BuildRequires: hicolor-icon-theme
BuildRequires: python3-devel
BuildRequires: update-desktop-files
@@ -59,7 +59,7 @@
%install
%suse_update_desktop_file %{name} Multimedia AudioVideoEditing
# first install python-ly
-cd python-ly-0.9.3
+cd python-ly-0.9.4
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
cd ..
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
@@ -69,7 +69,7 @@
%doc README.md THANKS COPYING ChangeLog
%doc %{_mandir}/man1/frescobaldi*
%{_bindir}/frescobaldi
-%{_bindir}/ly
+%{_bindir}/ly*
%{_datadir}/applications/frescobaldi.desktop
%{_datadir}/icons/hicolor/scalable/apps/frescobaldi.svg
%{python3_sitelib}/*
++++++ frescobaldi-2.18.2.tar.gz -> frescobaldi-2.19.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/frescobaldi/frescobaldi-2.18.2.tar.gz /work/SRC/openSUSE:Factory/.frescobaldi.new/frescobaldi-2.19.0.tar.gz differ: char 16, line 1
++++++ python-ly-0.9.3.tar.gz -> python-ly-0.9.4.tar.gz ++++++
++++ 8556 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package mosh for openSUSE:Factory checked in at 2016-05-31 12:24:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mosh (Old)
and /work/SRC/openSUSE:Factory/.mosh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mosh"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mosh/mosh.changes 2016-04-30 23:29:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mosh.new/mosh.changes 2016-05-31 12:24:54.000000000 +0200
@@ -1,0 +2,5 @@
+Fri May 27 07:57:45 UTC 2016 - mpluskal(a)suse.com
+
+- Update dependencies for Tumbleweed
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mosh.spec ++++++
--- /var/tmp/diff_new_pack.Pfaf62/_old 2016-05-31 12:24:55.000000000 +0200
+++ /var/tmp/diff_new_pack.Pfaf62/_new 2016-05-31 12:24:55.000000000 +0200
@@ -38,6 +38,9 @@
Requires: perl-IO-Socket-INET6
Requires: perl-IO-Tty
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%if 0%{?suse_version} > 1320
+BuildRequires: bash-completion-devel
+%endif
%description
Remote terminal application that allows roaming, supports
1
0
Hello community,
here is the log from the commit of package ndctl for openSUSE:Factory checked in at 2016-05-31 12:24:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ndctl (Old)
and /work/SRC/openSUSE:Factory/.ndctl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ndctl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ndctl/ndctl.changes 2016-04-30 23:31:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ndctl.new/ndctl.changes 2016-05-31 12:24:53.000000000 +0200
@@ -1,0 +2,93 @@
+Mon May 30 06:58:28 UTC 2016 - jthumshirn(a)suse.com
+
+- Update to v53.1
+ This release incorporates the capabilities of the 4.7-rc1 kernel (most
+ prominently in that kernel 'Device DAX', DAX error handling, and
+ third-party DSM support). The ndctl updates include:
+
+ New commands / options:
+ bash completion for ndctl commands
+ DIMM SMART data retrieval (ndctl list --dimms --health)
+ ndctl destroy-namespace
+ ndctl read-labels
+
+ New tests:
+ DAX error handling unit test (dax-errors.sh)
+
+ Command fixes:
+ ndctl list
+ ndctl create-namespace
+
+ New apis:
+ ndctl_cmd_smart_get_alarm_flags
+ ndctl_cmd_smart_get_flags
+ ndctl_cmd_smart_get_health
+ ndctl_cmd_smart_get_life_used
+ ndctl_cmd_smart_get_shutdown_state
+ ndctl_cmd_smart_get_spares
+ ndctl_cmd_smart_get_temperature
+ ndctl_cmd_smart_get_vendor_data
+ ndctl_cmd_smart_get_vendor_size
+ ndctl_cmd_smart_threshold_get_alarm_control
+ ndctl_cmd_smart_threshold_get_spares
+ ndctl_cmd_smart_threshold_get_temperature
+ ndctl_dax_delete
+ ndctl_dax_enable
+ ndctl_dax_get_align
+ ndctl_dax_get_bus
+ ndctl_dax_get_ctx
+ ndctl_dax_get_daxctl_region
+ ndctl_dax_get_devname
+ ndctl_dax_get_first
+ ndctl_dax_get_id
+ ndctl_dax_get_location
+ ndctl_dax_get_namespace
+ ndctl_dax_get_next
+ ndctl_dax_get_region
+ ndctl_dax_get_resource
+ ndctl_dax_get_size
+ ndctl_dax_get_uuid
+ ndctl_dax_is_configured
+ ndctl_dax_is_enabled
+ ndctl_dax_is_valid
+ ndctl_dax_set_align
+ ndctl_dax_set_location
+ ndctl_dax_set_namespace
+ ndctl_dax_set_uuid
+ ndctl_dimm_cmd_new_smart
+ ndctl_dimm_cmd_new_smart_threshold
+ ndctl_dimm_get_formatN
+ ndctl_dimm_get_formats
+ ndctl_dimm_get_subsystem_device
+ ndctl_dimm_get_subsystem_revision
+ ndctl_dimm_get_subsystem_vendor
+ ndctl_dimm_get_unique_id
+ ndctl_get_daxctl_ctx
+ ndctl_namespace_get_dax
+ ndctl_namespace_get_dax
+ ndctl_region_get_dax_seed
+ daxctl_dev_get_devname
+ daxctl_dev_get_first
+ daxctl_dev_get_id
+ daxctl_dev_get_major
+ daxctl_dev_get_minor
+ daxctl_dev_get_next
+ daxctl_dev_get_region
+ daxctl_dev_get_size
+ daxctl_get_log_priority
+ daxctl_get_userdata
+ daxctl_new
+ daxctl_new_region
+ daxctl_ref
+ daxctl_region_get_ctx
+ daxctl_region_get_id
+ daxctl_region_get_uuid
+ daxctl_region_ref
+ daxctl_region_unref
+ daxctl_region_unref
+ daxctl_set_log_fn
+ daxctl_set_log_priority
+ daxctl_set_userdata
+ daxctl_unref
+
+-------------------------------------------------------------------
Old:
----
ndctl-52.tar.gz
New:
----
ndctl-53.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ndctl.spec ++++++
--- /var/tmp/diff_new_pack.Bzfa2b/_old 2016-05-31 12:24:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzfa2b/_new 2016-05-31 12:24:53.000000000 +0200
@@ -22,7 +22,7 @@
%define dname libndctl-devel
Name: ndctl
-Version: 52
+Version: 53.1
Release: 1
Summary: Manage "libnvdimm" subsystem devices (Non-volatile Memory)
License: GPL-2.0
@@ -99,12 +99,15 @@
%doc licenses/GPLv2 licenses/BSD-MIT licenses/CC0
%{_bindir}/ndctl
%{_mandir}/man1/*
+%dir %{_datarootdir}/bash-completion/completions/
+%{_datarootdir}/bash-completion/completions/ndctl
%files -n %lname
%defattr(-,root,root)
%doc README.md
%doc COPYING licenses/BSD-MIT licenses/CC0
%{_libdir}/libndctl.so.*
+%{_libdir}/libdaxctl.so.*
%files -n %dname
%defattr(-,root,root)
@@ -112,5 +115,8 @@
%{_includedir}/ndctl/
%{_libdir}/libndctl.so
%{_libdir}/pkgconfig/libndctl.pc
+%{_includedir}/daxctl/
+%{_libdir}/libdaxctl.so
+%{_libdir}/pkgconfig/libdaxctl.pc
%changelog
++++++ ndctl-52.tar.gz -> ndctl-53.1.tar.gz ++++++
++++ 21361 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package pcsc-ccid for openSUSE:Factory checked in at 2016-05-31 12:24:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pcsc-ccid (Old)
and /work/SRC/openSUSE:Factory/.pcsc-ccid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pcsc-ccid"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pcsc-ccid/pcsc-ccid.changes 2016-04-22 16:26:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pcsc-ccid.new/pcsc-ccid.changes 2016-05-31 12:24:51.000000000 +0200
@@ -1,0 +2,14 @@
+Mon May 30 06:36:05 UTC 2016 - wr(a)rosenauer.org
+
+- Updated to version 1.4.24
+ * Add support of
+ Generic USB Smart Card Reader
+ Giesecke & Devrient GmbH StarSign CUT S
+ HID AVIATOR Generic
+ * better support of Elatec TWN4 SmartCard NFC
+ * better support of SCM SCL011
+ * fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO attribute size
+ * fix a race condition on card events with multiple readers
+ * Some minor improvements
+
+-------------------------------------------------------------------
Old:
----
ccid-1.4.23.tar.bz2
ccid-1.4.23.tar.bz2.asc
New:
----
ccid-1.4.24.tar.bz2
ccid-1.4.24.tar.bz2.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pcsc-ccid.spec ++++++
--- /var/tmp/diff_new_pack.A7AwFJ/_old 2016-05-31 12:24:52.000000000 +0200
+++ /var/tmp/diff_new_pack.A7AwFJ/_new 2016-05-31 12:24:52.000000000 +0200
@@ -24,7 +24,7 @@
Name: pcsc-ccid
%define _name ccid
-Version: 1.4.23
+Version: 1.4.24
Release: 0
Summary: PCSC Driver for CCID Based Smart Card Readers and GemPC Twin Serial Reader
License: LGPL-2.1+
++++++ ccid-1.4.23.tar.bz2 -> ccid-1.4.24.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/ChangeLog new/ccid-1.4.24/ChangeLog
--- old/ccid-1.4.23/ChangeLog 2016-04-20 10:06:39.000000000 +0200
+++ new/ccid-1.4.24/ChangeLog 2016-05-22 17:09:51.000000000 +0200
@@ -1,4 +1,177 @@
-commit d636d54fdd07b416f591f28d84c6f0e3f4bda4f9 (HEAD -> master, tag: ccid-1.4.23, origin/master, origin/HEAD)
+commit a1197c49cee479f4187dfd05c900224b99127e17 (HEAD -> master, tag: ccid-1.4.24, origin/master, origin/HEAD)
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Sun May 22 17:07:03 2016 +0200
+
+ Release 1.4.24
+
+ README | 12 ++++++++++++
+ configure.ac | 2 +-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+commit b4c2cae5f311eef313777124937520c780d002fd
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Fri May 20 15:19:05 2016 +0200
+
+ IFDHGetCapabilities: fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO size
+
+ We use strlcpy() to copy the IFD (reader) serial number string. So we
+ must must take into account the terminating NUL byte.
+
+ Without the patch the size was "correctly" reported on the first call
+ (without including the final NUL byte). So the application allocates a
+ buffer for this size and the next strlcpy() tuncates the string to add
+ the NUL byte.
+
+ Thanks to Daniel Kucera for the bug report.
+
+ src/ifdhandler.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5eaa22bbaac16ca3e20e49418c37291ac128c3ad
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Thu May 19 21:16:48 2016 +0200
+
+ Add Giesecke & Devrient GmbH StarSign CUT S
+
+ readers/GnD_StarSign_CUT_S.txt | 56 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt | 1 +
+ 2 files changed, 57 insertions(+)
+
+commit b3eedaf7873e5438f5f2e8b163b2c0362099e318
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Thu May 19 20:56:13 2016 +0200
+
+ Add Generic USB Smart Card Reader
+
+ This reader is the same as the "HID AVIATOR Generic" except that it
+ supports "Short and Extended APDU level exchange" instead of "Short APDU
+ level exchange".
+
+ readers/Generic_USB_Smart_Card_Reader.txt | 161 ++++++++++++++++++++++++++++++
+ readers/supported_readers.txt | 9 +-
+ 2 files changed, 168 insertions(+), 2 deletions(-)
+
+commit e039760f0ab57a0e66e2f6dabebfdf6ba3134b14
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Mon May 9 10:05:45 2016 +0200
+
+ Fix support of HID Aviator generic
+
+ This reader firmware is bogus:
+ - it declares pinpad support but as no keyboard
+ - it declares short APDU but uses chaining as for extended APDU
+
+ Thanks to Martin Paljak for the bug report
+ https://github.com/LudovicRousseau/CCID/pull/16
+
+ src/ccid.c | 7 +++++++
+ src/ccid.h | 1 +
+ 2 files changed, 8 insertions(+)
+
+commit c18293616c834362555a61b3d84624ec24522bb3
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Mon May 9 20:10:13 2016 +0200
+
+ Add HID AVIATOR Generic
+
+ readers/HID_Aviator.txt | 161 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt | 5 +-
+ 2 files changed, 165 insertions(+), 1 deletion(-)
+
+commit b5673dfae8ab054557938abea864e5c34f61d2ed
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Mon May 9 09:53:35 2016 +0200
+
+ Update c.sh link
+
+ The c.sh script is used call ./configure with "correct" parameter for
+ me (maintainer).
+ This file comes from PCSC and is a symbolic link.
+
+ Thanks to Martin Paljak for the bug report
+ https://github.com/LudovicRousseau/CCID/pull/15
+
+ c.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5c9dbb25abb9fed9882b7c28b65fe55d4d7924fb
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Sat May 7 12:12:28 2016 +0200
+
+ SCM SCL011: use a 400 ms timeout instead of 100 ms
+
+ The SCM SCL011 reader is a contactless reader that needs 350 ms to
+ answer to the PC_to_RDR_GetSlotStatus CCID command when no card is in
+ the field.
+
+ We use the same patch as for the ElatecTWN4.
+
+ Thanks to Chris Calvesbert for the bug report.
+
+ src/ccid.c | 3 +++
+ src/ccid.h | 1 +
+ 2 files changed, 4 insertions(+)
+
+commit 5bea205f085a6b5ddd263843f410abab728550b7
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Wed May 4 18:31:57 2016 +0200
+
+ ElatecTWN4: use a 400 ms timeout instead of 100 ms
+
+ The ElatecTWN4 reader is a contactless reader that needs 280 ms to
+ answer to the PC_to_RDR_GetSlotStatus CCID command when no card is in
+ the field.
+
+ src/ccid.c | 12 ++++++++++++
+ src/ccid.h | 1 +
+ 2 files changed, 13 insertions(+)
+
+commit 1e3c6c14683e3b5a9bc27fed55ae32b7dc2ee157
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Wed May 4 18:20:13 2016 +0200
+
+ CreateChannel: allow to use a non default timeout
+
+ By default the read timeout is set to 100 ms for the double call of
+ CmdGetSlotStatus() in CreateChannelByNameOrChannel() use to resync the
+ USB toggle bits.
+ This is a short delay so that a failing reader will not block for too
+ long. The defaut timeout value is 3 seconds so a total of 6 seconds
+ would be lost is the reader is not responding.
+
+ Unfortunately some readers (in particular contactless readers) are very
+ long to anwser to the PC_to_RDR_GetSlotStatus CCID command. I guess it
+ is to be sure no contactless card is present in the field.
+
+ It is now possible to change the 100 ms timeout to something else for a
+ specific reader by adding code in ccid_open_hack_pre() and
+ ccid_open_hack_post().
+
+ src/ifdhandler.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 2c8ffab9962484653b6445a6c85a6c690a5948b3
+Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
+Date: Fri Apr 22 14:59:21 2016 +0200
+
+ ccid_usb.c: fix a race condition on multi reader
+
+ When using multiple threads we shall use libusb function
+ libusb_handle_events_completed() instead of libusb_handle_events() as
+ documented in http://libusb.sourceforge.net/api-1.0/mtasync.html#Using
+
+ Problems may occur when using more than one reader. In that case a card
+ movement notification may be missed and reported only after a 60 seconds
+ timeout.
+
+ Thanks to Maksim Ivanov for the bug report
+ "CCID handling of multiple devices"
+ http://lists.alioth.debian.org/pipermail/pcsclite-muscle/Week-of-Mon-201604…
+
+ src/ccid_usb.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit d636d54fdd07b416f591f28d84c6f0e3f4bda4f9 (tag: ccid-1.4.23)
Author: Ludovic Rousseau <ludovic.rousseau(a)free.fr>
Date: Wed Apr 20 10:04:45 2016 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/README new/ccid-1.4.24/README
--- old/ccid-1.4.23/README 2016-04-20 10:05:43.000000000 +0200
+++ new/ccid-1.4.24/README 2016-05-22 17:08:59.000000000 +0200
@@ -118,6 +118,18 @@
History:
========
+1.4.24 - 22 May 2016, Ludovic Rousseau
+ - Add support of
+ . Generic USB Smart Card Reader
+ . HID AVIATOR Generic
+ - better support of Elatec TWN4 SmartCard NFC
+ - better support of SCM SCL011
+ - betetr support of HID Aviator generic
+ - fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO attribute size
+ - fix a race condition on card events with multiple readers
+ - Some minor improvements
+
+
1.4.23 - 20 April 2016, Ludovic Rousseau
- Add support of
. ACS ACR3901U ICC Reader
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/configure new/ccid-1.4.24/configure
--- old/ccid-1.4.23/configure 2016-04-20 10:05:47.000000000 +0200
+++ new/ccid-1.4.24/configure 2016-05-22 17:09:05.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ccid 1.4.23.
+# Generated by GNU Autoconf 2.69 for ccid 1.4.24.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
# Identity of this package.
PACKAGE_NAME='ccid'
PACKAGE_TARNAME='ccid'
-PACKAGE_VERSION='1.4.23'
-PACKAGE_STRING='ccid 1.4.23'
+PACKAGE_VERSION='1.4.24'
+PACKAGE_STRING='ccid 1.4.24'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1377,7 +1377,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ccid 1.4.23 to adapt to many kinds of systems.
+\`configure' configures ccid 1.4.24 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1448,7 +1448,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ccid 1.4.23:";;
+ short | recursive ) echo "Configuration of ccid 1.4.24:";;
esac
cat <<\_ACEOF
@@ -1590,7 +1590,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ccid configure 1.4.23
+ccid configure 1.4.24
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2009,7 +2009,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ccid $as_me 1.4.23, which was
+It was created by ccid $as_me 1.4.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2873,7 +2873,7 @@
# Define the identity of the package.
PACKAGE='ccid'
- VERSION='1.4.23'
+ VERSION='1.4.24'
cat >>confdefs.h <<_ACEOF
@@ -14695,7 +14695,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ccid $as_me 1.4.23, which was
+This file was extended by ccid $as_me 1.4.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14761,7 +14761,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ccid config.status 1.4.23
+ccid config.status 1.4.24
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/configure.ac new/ccid-1.4.24/configure.ac
--- old/ccid-1.4.23/configure.ac 2016-04-20 10:05:43.000000000 +0200
+++ new/ccid-1.4.24/configure.ac 2016-05-22 17:08:59.000000000 +0200
@@ -4,7 +4,7 @@
# Require autoconf 2.61
AC_PREREQ([2.69])
-AC_INIT([ccid],[1.4.23])
+AC_INIT([ccid],[1.4.24])
AC_CONFIG_SRCDIR(src/ifdhandler.c)
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip subdir-objects)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/readers/supported_readers.txt new/ccid-1.4.24/readers/supported_readers.txt
--- old/ccid-1.4.23/readers/supported_readers.txt 2016-04-19 21:11:16.000000000 +0200
+++ new/ccid-1.4.24/readers/supported_readers.txt 2016-05-22 16:57:47.000000000 +0200
@@ -1,6 +1,6 @@
#
# List of readers supported by the CCID driver
-# Generated: 2016-04-19
+# Generated: 2016-05-19
#
# DO NOT EDIT BY HAND
@@ -67,6 +67,7 @@
# Giesecke & Devrient GmbH
0x1059:0x0017:Giesecke & Devrient GmbH StarSign Crypto USB Token
+0x1059:0x0019:Giesecke & Devrient GmbH StarSign CUT S
# id3 Semiconductors
0x0B81:0x0200:id3 Semiconductors CL1356T
@@ -305,6 +306,9 @@
0x0BDA:0x0169:Generic USB2.0-CRW
0x048D:0x1366:Generic MultiCard Device
+# Generic USB
+0x076B:0x3A21:Generic USB Smart Card Reader
+
# German Privacy Foundation
0x20A0:0x4107:German Privacy Foundation Crypto Stick v1.2
@@ -328,6 +332,8 @@
# Hewlett-Packard
0x03F0:0x581D:Hewlett-Packard HP lt4112 Gobi 4G Module
+# HID
+
# HID Global
0x076B:0x3031:HID Global OMNIKEY 3x21 Smart Card Reader
0x076B:0x5022:HID Global OMNIKEY 5022 Smart Card Reader
@@ -757,6 +763,9 @@
#0x076B:0x3021:OMNIKEY AG CardMan 3021 (CardMan3021.txt)
#0x076B:0x3021:OMNIKEY AG CardMan 3121 (CardMan3121.txt)
+#0x076B:0x3A21:Generic USB Smart Card Reader (Generic_USB_Smart_Card_Reader.txt)
+#0x076B:0x3A21:HID AVIATOR Generic (HID_Aviator.txt)
+
#0x076B:0xA022:Precise Biometrics Sense MC (Precise_Sense_MC.txt)
#0x076B:0xA022:XIRING Teo (Teo.txt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ccid.c new/ccid-1.4.24/src/ccid.c
--- old/ccid-1.4.23/src/ccid.c 2016-04-19 21:11:16.000000000 +0200
+++ new/ccid-1.4.24/src/ccid.c 2016-05-22 16:57:47.000000000 +0200
@@ -71,6 +71,15 @@
case OZ776_7772:
ccid_descriptor->dwMaxDataRate = 9600;
break;
+
+ case ElatecTWN4:
+ /* use a timeout of 400 ms instead of 100 ms in CmdGetSlotStatus()
+ * used by CreateChannelByNameOrChannel()
+ * The reader answers after 280 ms if no tag is present */
+ case SCM_SCL011:
+ /* The SCM SCL011 reader needs 350 ms to answer */
+ ccid_descriptor->readTimeout = DEFAULT_COM_READ_TIMEOUT * 4;
+ break;
}
/* CCID */
@@ -458,6 +467,13 @@
*/
ccid_descriptor->bPINSupport = 0;
break;
+ case HID_AVIATOR:
+ /* The chip advertises pinpad but actually doesn't have one */
+ ccid_descriptor->bPINSupport = 0;
+ /* Firmware uses chaining */
+ ccid_descriptor->dwFeatures &= ~CCID_CLASS_EXCHANGE_MASK;
+ ccid_descriptor->dwFeatures |= CCID_CLASS_EXTENDED_APDU;
+ break;
#if 0
/* SCM SCR331-DI contactless */
@@ -511,6 +527,12 @@
ccid_descriptor->dwFeatures |= CCID_CLASS_EXTENDED_APDU;
}
break;
+
+ case ElatecTWN4:
+ case SCM_SCL011:
+ /* restore default timeout (modified in ccid_open_hack_pre()) */
+ ccid_descriptor->readTimeout = DEFAULT_COM_READ_TIMEOUT;
+ break;
}
/* Gemalto readers may report additional information */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ccid.h new/ccid-1.4.24/src/ccid.h
--- old/ccid-1.4.23/src/ccid.h 2016-01-10 14:26:09.000000000 +0100
+++ new/ccid-1.4.24/src/ccid.h 2016-05-22 16:57:47.000000000 +0200
@@ -209,6 +209,9 @@
#define FEITIANR502DUAL 0x096E060D
#define MICROCHIP_SEC1100 0x04241104
#define CHERRY_KC1000SC 0x046A00A1
+#define ElatecTWN4 0x09D80427
+#define SCM_SCL011 0x04E65293
+#define HID_AVIATOR 0x076B3A21
#define VENDOR_GEMALTO 0x08E6
#define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ccid_usb.c new/ccid-1.4.24/src/ccid_usb.c
--- old/ccid-1.4.23/src/ccid_usb.c 2016-04-19 21:11:16.000000000 +0200
+++ new/ccid-1.4.24/src/ccid_usb.c 2016-04-23 16:12:07.000000000 +0200
@@ -1251,14 +1251,14 @@
while (!completed)
{
- ret = libusb_handle_events(ctx);
+ ret = libusb_handle_events_completed(ctx, &completed);
if (ret < 0)
{
if (ret == LIBUSB_ERROR_INTERRUPTED)
continue;
libusb_cancel_transfer(transfer);
while (!completed)
- if (libusb_handle_events(ctx) < 0)
+ if (libusb_handle_events_completed(ctx, &completed) < 0)
break;
libusb_free_transfer(transfer);
DEBUG_CRITICAL2("libusb_handle_events failed: %s",
@@ -1378,7 +1378,7 @@
completed = 0;
while (!completed && !msExt->terminated)
{
- rv = libusb_handle_events(ctx);
+ rv = libusb_handle_events_completed(ctx, &completed);
if (rv < 0)
{
DEBUG_COMM2("libusb_handle_events err %d", rv);
@@ -1390,7 +1390,7 @@
while (!completed && !msExt->terminated)
{
- if (libusb_handle_events(ctx) < 0)
+ if (libusb_handle_events_completed(ctx, &completed) < 0)
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ifdhandler.c new/ccid-1.4.24/src/ifdhandler.c
--- old/ccid-1.4.23/src/ifdhandler.c 2016-01-10 14:26:09.000000000 +0100
+++ new/ccid-1.4.24/src/ifdhandler.c 2016-05-22 16:57:47.000000000 +0200
@@ -177,7 +177,10 @@
oldReadTimeout = ccid_descriptor->readTimeout;
/* 100 ms just to resync the USB toggle bits */
- ccid_descriptor->readTimeout = 100;
+ /* Do not use a fixed 100 ms value but compute it from the
+ * default timeout. It is now possible to use a different value
+ * by changing readTimeout in ccid_open_hack_pre() */
+ ccid_descriptor->readTimeout = ccid_descriptor->readTimeout * 100.0 / DEFAULT_COM_READ_TIMEOUT;
if ((IFD_COMMUNICATION_ERROR == CmdGetSlotStatus(reader_index, pcbuffer))
&& (IFD_COMMUNICATION_ERROR == CmdGetSlotStatus(reader_index, pcbuffer)))
@@ -593,7 +596,7 @@
if (ccid_desc->sIFD_serial_number)
{
strlcpy((char *)Value, ccid_desc->sIFD_serial_number, *Length);
- *Length = strlen((char *)Value);
+ *Length = strlen((char *)Value)+1;
}
else
{
1
0
Hello community,
here is the log from the commit of package python-python-gammu for openSUSE:Factory checked in at 2016-05-31 12:24:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-gammu (Old)
and /work/SRC/openSUSE:Factory/.python-python-gammu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-gammu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-gammu/python-python-gammu.changes 2015-09-30 05:50:32.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-python-gammu.new/python-python-gammu.changes 2016-05-31 12:24:50.000000000 +0200
@@ -1,0 +2,6 @@
+Sat May 28 10:23:27 UTC 2016 - ecsos(a)opensuse.org
+
+- Update to 2.5:
+ * Compatibility with Gammu >= 1.36.7
+
+-------------------------------------------------------------------
Old:
----
python-gammu-2.4.tar.bz2
New:
----
python-gammu-2.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-gammu.spec ++++++
--- /var/tmp/diff_new_pack.qelJYX/_old 2016-05-31 12:24:51.000000000 +0200
+++ /var/tmp/diff_new_pack.qelJYX/_new 2016-05-31 12:24:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-gammu
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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
@@ -17,7 +17,7 @@
Name: python-python-gammu
-Version: 2.4
+Version: 2.5
Release: 0
Summary: Python module to communicate with mobile phones
License: GPL-2.0+
++++++ python-gammu-2.4.tar.bz2 -> python-gammu-2.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/NEWS.rst new/python-gammu-2.5/NEWS.rst
--- old/python-gammu-2.4/NEWS.rst 2015-09-02 10:02:50.000000000 +0200
+++ new/python-gammu-2.5/NEWS.rst 2016-01-19 14:42:44.000000000 +0100
@@ -1,3 +1,8 @@
+2.5
+===
+
+* Compatibility with Gammu >= 1.36.7
+
2.4
===
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/PKG-INFO new/python-gammu-2.5/PKG-INFO
--- old/python-gammu-2.4/PKG-INFO 2015-09-02 10:21:00.000000000 +0200
+++ new/python-gammu-2.5/PKG-INFO 2016-01-19 15:17:05.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-gammu
-Version: 2.4
+Version: 2.5
Summary: Gammu bindings
Home-page: http://wammu.eu/python-gammu/
Author: Michal Čihař
@@ -14,7 +14,7 @@
:target: https://travis-ci.org/gammu/python-gammu
.. image:: https://www.codacy.com/project/badge/c7e87df480fb4609aa48482873f5c46b
- :target: https://www.codacy.com/public/michal_2/python-gammu_2
+ :target: https://www.codacy.com/public/nijel/python-gammu
.. image:: https://scrutinizer-ci.com/g/gammu/python-gammu/badges/quality-score.png?b=…
:target: https://scrutinizer-ci.com/g/gammu/python-gammu/?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/README.rst new/python-gammu-2.5/README.rst
--- old/python-gammu-2.4/README.rst 2015-06-03 08:59:15.000000000 +0200
+++ new/python-gammu-2.5/README.rst 2016-01-19 14:25:58.000000000 +0100
@@ -5,7 +5,7 @@
:target: https://travis-ci.org/gammu/python-gammu
.. image:: https://www.codacy.com/project/badge/c7e87df480fb4609aa48482873f5c46b
- :target: https://www.codacy.com/public/michal_2/python-gammu_2
+ :target: https://www.codacy.com/public/nijel/python-gammu
.. image:: https://scrutinizer-ci.com/g/gammu/python-gammu/badges/quality-score.png?b=…
:target: https://scrutinizer-ci.com/g/gammu/python-gammu/?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/examples/sendlongsms.py new/python-gammu-2.5/examples/sendlongsms.py
--- old/python-gammu-2.4/examples/sendlongsms.py 2015-06-03 09:18:33.000000000 +0200
+++ new/python-gammu-2.5/examples/sendlongsms.py 2016-01-19 14:25:58.000000000 +0100
@@ -50,7 +50,7 @@
# Create SMS info structure
smsinfo = {
- 'Class': 1,
+ 'Class': -1,
'Unicode': False,
'Entries': [
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/examples/service_numbers.py new/python-gammu-2.5/examples/service_numbers.py
--- old/python-gammu-2.4/examples/service_numbers.py 2015-06-03 09:18:33.000000000 +0200
+++ new/python-gammu-2.5/examples/service_numbers.py 2016-01-19 14:25:58.000000000 +0100
@@ -28,15 +28,20 @@
import gammu
import sys
+REPLY = False
+
def callback(state_machine, callback_type, data):
'''
Callback on USSD data.
'''
+ global REPLY
if callback_type != 'USSD':
print('Unexpected event type: %s' % callback_type)
sys.exit(1)
+ REPLY = True
+
print('Network reply:')
print('Status: %s' % data['Status'])
print(data['Text'])
@@ -68,15 +73,25 @@
'''
Main code to talk with worker.
'''
+ global REPLY
+
if len(sys.argv) >= 3:
code = sys.argv[2]
del sys.argv[2]
else:
- print('Enter code (empty string to end):', end=' ')
- code = input()
+ prompt = 'Enter code (empty string to end): '
+ try:
+ code = raw_input(prompt)
+ except NameError:
+ code = input(prompt)
if code != '':
print('Talking to network...')
+ REPLY = False
state_machine.DialService(code)
+ loops = 0
+ while not REPLY and loops < 10:
+ state_machine.ReadDevice()
+ loops += 1
def main():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/gammu/src/gammu.c new/python-gammu-2.5/gammu/src/gammu.c
--- old/python-gammu-2.4/gammu/src/gammu.c 2015-09-02 10:12:56.000000000 +0200
+++ new/python-gammu-2.5/gammu/src/gammu.c 2016-01-19 14:25:58.000000000 +0100
@@ -199,7 +199,15 @@
*/
static void SendSMSStatus (GSM_StateMachine *s, int status, int mr, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
- if (sm == NULL) return;
+
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
sm->MessageReference = mr;
if (status == 0) {
@@ -216,9 +224,17 @@
*/
static void IncomingCall (GSM_StateMachine *s, GSM_Call *call, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_Call *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingCallQueue[i] != NULL) i++;
@@ -227,10 +243,13 @@
return;
}
- sm->IncomingCallQueue[i] = (GSM_Call *)malloc(sizeof(GSM_Call));
- if (sm->IncomingCallQueue[i] == NULL) return;
+ message = malloc(sizeof(GSM_Call));
+ if (message == NULL) return;
- *(sm->IncomingCallQueue[i]) = *call;
+ *message = *call;
+
+ sm->IncomingCallQueue[i + 1] = NULL;
+ sm->IncomingCallQueue[i] = message;
}
/**
@@ -238,9 +257,17 @@
*/
static void IncomingSMS (GSM_StateMachine *s, GSM_SMSMessage *msg, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_SMSMessage *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingSMSQueue[i] != NULL) i++;
@@ -249,10 +276,13 @@
return;
}
- sm->IncomingSMSQueue[i] = (GSM_SMSMessage *)malloc(sizeof(GSM_SMSMessage));
- if (sm->IncomingSMSQueue[i] == NULL) return;
+ message = malloc(sizeof(GSM_SMSMessage));
+ if (message == NULL) return;
- *(sm->IncomingSMSQueue[i]) = *msg;
+ *message = *msg;
+
+ sm->IncomingSMSQueue[i + 1] = NULL;
+ sm->IncomingSMSQueue[i] = message;
}
/**
@@ -260,9 +290,17 @@
*/
static void IncomingCB (GSM_StateMachine *s, GSM_CBMessage *cb, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_CBMessage *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingCBQueue[i] != NULL) i++;
@@ -271,10 +309,13 @@
return;
}
- sm->IncomingCBQueue[i] = (GSM_CBMessage *)malloc(sizeof(GSM_CBMessage));
- if (sm->IncomingCBQueue[i] == NULL) return;
+ message = malloc(sizeof(GSM_CBMessage));
+ if (message == NULL) return;
+
+ *message = *cb;
- *(sm->IncomingCBQueue[i]) = *cb;
+ sm->IncomingCBQueue[i + 1] = NULL;
+ sm->IncomingCBQueue[i] = message;
}
/**
@@ -282,9 +323,17 @@
*/
static void IncomingUSSD (GSM_StateMachine *s, GSM_USSDMessage *ussd, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_USSDMessage *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingUSSDQueue[i] != NULL) i++;
@@ -293,10 +342,15 @@
return;
}
- sm->IncomingUSSDQueue[i] = (GSM_USSDMessage *)malloc(sizeof(GSM_USSDMessage));
- if (sm->IncomingUSSDQueue[i] == NULL) return;
+ pyg_warning("Adding USSD to queue, position %d\n", i);
- *(sm->IncomingUSSDQueue[i]) = *ussd;
+ message = malloc(sizeof(GSM_USSDMessage));
+ if (message == NULL) return;
+
+ *message = *ussd;
+
+ sm->IncomingUSSDQueue[i + 1] = NULL;
+ sm->IncomingUSSDQueue[i] = message;
}
/**
@@ -5533,6 +5587,9 @@
0, /* tp_weaklist */
0, /* tp_del */
0, /* tp_version_tag */
+#ifdef Py_TPFLAGS_HAVE_FINALIZE
+ 0, /* tp_finalize */
+#endif
};
/* End of code for StateMachine objects */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/gammu/src/smsd.c new/python-gammu-2.5/gammu/src/smsd.c
--- old/python-gammu-2.4/gammu/src/smsd.c 2015-09-02 09:56:02.000000000 +0200
+++ new/python-gammu-2.5/gammu/src/smsd.c 2015-10-01 17:05:55.000000000 +0200
@@ -301,6 +301,9 @@
0, /* tp_weaklist */
0, /* tp_del */
0, /* tp_version_tag */
+#ifdef Py_TPFLAGS_HAVE_FINALIZE
+ 0, /* tp_finalize */
+#endif
};
/* End of code for SMSD objects */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/python_gammu.egg-info/PKG-INFO new/python-gammu-2.5/python_gammu.egg-info/PKG-INFO
--- old/python-gammu-2.4/python_gammu.egg-info/PKG-INFO 2015-09-02 10:21:00.000000000 +0200
+++ new/python-gammu-2.5/python_gammu.egg-info/PKG-INFO 2016-01-19 15:17:05.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-gammu
-Version: 2.4
+Version: 2.5
Summary: Gammu bindings
Home-page: http://wammu.eu/python-gammu/
Author: Michal Čihař
@@ -14,7 +14,7 @@
:target: https://travis-ci.org/gammu/python-gammu
.. image:: https://www.codacy.com/project/badge/c7e87df480fb4609aa48482873f5c46b
- :target: https://www.codacy.com/public/michal_2/python-gammu_2
+ :target: https://www.codacy.com/public/nijel/python-gammu
.. image:: https://scrutinizer-ci.com/g/gammu/python-gammu/badges/quality-score.png?b=…
:target: https://scrutinizer-ci.com/g/gammu/python-gammu/?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/python_gammu.egg-info/SOURCES.txt new/python-gammu-2.5/python_gammu.egg-info/SOURCES.txt
--- old/python-gammu-2.4/python_gammu.egg-info/SOURCES.txt 2015-09-02 10:21:00.000000000 +0200
+++ new/python-gammu-2.5/python_gammu.egg-info/SOURCES.txt 2016-01-19 15:17:05.000000000 +0100
@@ -80,13 +80,15 @@
test/test_sms.py
test/test_smsd.py
test/test_worker.py
+test/data/.sqlite.sql.swp
test/data/02.vcs
test/data/UK32Holidays.ics
test/data/bug-779.vcf
test/data/gammu.vcf
test/data/k770.vcs
test/data/rrule.ics
-test/data/sqlite.sql
+test/data/sqlite-14.sql
+test/data/sqlite-15.sql
test/data/gammu-dummy/calendar/2
test/data/gammu-dummy/calendar/22
test/data/gammu-dummy/fs/file5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/setup.py new/python-gammu-2.5/setup.py
--- old/python-gammu-2.4/setup.py 2015-06-03 15:06:36.000000000 +0200
+++ new/python-gammu-2.5/setup.py 2015-10-01 15:05:24.000000000 +0200
@@ -30,7 +30,7 @@
import codecs
# some defines
-VERSION = '2.4'
+VERSION = '2.5'
GAMMU_REQUIRED = '1.34.0'
README_FILE = os.path.join(os.path.dirname(__file__), 'README.rst')
with codecs.open(README_FILE, 'r', 'utf-8') as readme:
Files old/python-gammu-2.4/test/data/.sqlite.sql.swp and new/python-gammu-2.5/test/data/.sqlite.sql.swp differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/test/data/sqlite-14.sql new/python-gammu-2.5/test/data/sqlite-14.sql
--- old/python-gammu-2.4/test/data/sqlite-14.sql 1970-01-01 01:00:00.000000000 +0100
+++ new/python-gammu-2.5/test/data/sqlite-14.sql 2015-03-20 08:40:50.000000000 +0100
@@ -0,0 +1,149 @@
+CREATE TABLE daemons (
+ Start TEXT NOT NULL,
+ Info TEXT NOT NULL
+);
+
+CREATE TABLE gammu (
+ Version INTEGER NOT NULL DEFAULT '0'
+);
+
+INSERT INTO gammu (Version) VALUES (14);
+
+CREATE TABLE inbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ ReceivingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Text TEXT NOT NULL,
+ SenderNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ RecipientID TEXT NOT NULL,
+ Processed TEXT NOT NULL DEFAULT 'false',
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
+);
+
+CREATE TRIGGER update_inbox_time UPDATE ON inbox
+ BEGIN
+ UPDATE inbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendBefore time NOT NULL DEFAULT '23:59:59',
+ SendAfter time NOT NULL DEFAULT '00:00:00',
+ Text TEXT,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ MultiPart TEXT NOT NULL DEFAULT 'false',
+ RelativeValidity INTEGER DEFAULT '-1',
+ SenderID TEXT,
+ SendingTimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryReport TEXT DEFAULT 'default',
+ CreatorID TEXT NOT NULL,
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ CHECK (DeliveryReport IN ('default','yes','no'))
+);
+
+CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
+CREATE INDEX outbox_sender ON outbox(SenderID);
+
+CREATE TRIGGER update_outbox_time UPDATE ON outbox
+ BEGIN
+ UPDATE outbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox_multipart (
+ Text TEXT,
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT DEFAULT NULL,
+ ID INTEGER,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE TABLE pbk (
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ GroupID INTEGER NOT NULL DEFAULT '-1',
+ Name TEXT NOT NULL,
+ Number TEXT NOT NULL
+);
+
+CREATE TABLE pbk_groups (
+ Name TEXT NOT NULL,
+ ID INTEGER PRIMARY KEY AUTOINCREMENT
+);
+
+CREATE TABLE phones (
+ ID TEXT NOT NULL,
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ TimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Send TEXT NOT NULL DEFAULT 'no',
+ Receive TEXT NOT NULL DEFAULT 'no',
+ IMEI TEXT PRIMARY KEY NOT NULL,
+ NetCode TEXT DEFAULT 'ERROR',
+ NetName TEXT DEFAULT 'ERROR',
+ Client TEXT NOT NULL,
+ Battery INTEGER NOT NULL DEFAULT -1,
+ Signal INTEGER NOT NULL DEFAULT -1,
+ Sent INTEGER NOT NULL DEFAULT 0,
+ Received INTEGER NOT NULL DEFAULT 0
+);
+
+CREATE TRIGGER update_phones_time UPDATE ON phones
+ BEGIN
+ UPDATE phones SET UpdatedInDB = datetime('now') WHERE IMEI = old.IMEI;
+ END;
+
+CREATE TABLE sentitems (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryDateTime NUMERIC NULL,
+ Text TEXT NOT NULL,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER,
+ SenderID TEXT NOT NULL,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ Status TEXT NOT NULL DEFAULT 'SendingOK',
+ StatusError INTEGER NOT NULL DEFAULT '-1',
+ TPMR INTEGER NOT NULL DEFAULT '-1',
+ RelativeValidity INTEGER NOT NULL DEFAULT '-1',
+ CreatorID TEXT NOT NULL,
+ CHECK (Status IN
+ ('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending',
+ 'DeliveryUnknown','Error')),
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')) ,
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
+CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
+CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
+CREATE INDEX sentitems_sender ON sentitems(SenderID);
+
+CREATE TRIGGER update_sentitems_time UPDATE ON sentitems
+ BEGIN
+ UPDATE sentitems SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/test/data/sqlite-15.sql new/python-gammu-2.5/test/data/sqlite-15.sql
--- old/python-gammu-2.4/test/data/sqlite-15.sql 1970-01-01 01:00:00.000000000 +0100
+++ new/python-gammu-2.5/test/data/sqlite-15.sql 2016-01-19 14:39:32.000000000 +0100
@@ -0,0 +1,150 @@
+CREATE TABLE daemons (
+ Start TEXT NOT NULL,
+ Info TEXT NOT NULL
+);
+
+CREATE TABLE gammu (
+ Version INTEGER NOT NULL DEFAULT '0'
+);
+
+INSERT INTO gammu (Version) VALUES (15);
+
+CREATE TABLE inbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ ReceivingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Text TEXT NOT NULL,
+ SenderNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ RecipientID TEXT NOT NULL,
+ Processed TEXT NOT NULL DEFAULT 'false',
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
+);
+
+CREATE TRIGGER update_inbox_time UPDATE ON inbox
+ BEGIN
+ UPDATE inbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendBefore time NOT NULL DEFAULT '23:59:59',
+ SendAfter time NOT NULL DEFAULT '00:00:00',
+ Text TEXT,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ MultiPart TEXT NOT NULL DEFAULT 'false',
+ RelativeValidity INTEGER DEFAULT '-1',
+ SenderID TEXT,
+ SendingTimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryReport TEXT DEFAULT 'default',
+ CreatorID TEXT NOT NULL,
+ Retries INTEGER DEFAULT '0',
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ CHECK (DeliveryReport IN ('default','yes','no'))
+);
+
+CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
+CREATE INDEX outbox_sender ON outbox(SenderID);
+
+CREATE TRIGGER update_outbox_time UPDATE ON outbox
+ BEGIN
+ UPDATE outbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox_multipart (
+ Text TEXT,
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT DEFAULT NULL,
+ ID INTEGER,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE TABLE pbk (
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ GroupID INTEGER NOT NULL DEFAULT '-1',
+ Name TEXT NOT NULL,
+ Number TEXT NOT NULL
+);
+
+CREATE TABLE pbk_groups (
+ Name TEXT NOT NULL,
+ ID INTEGER PRIMARY KEY AUTOINCREMENT
+);
+
+CREATE TABLE phones (
+ ID TEXT NOT NULL,
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ TimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Send TEXT NOT NULL DEFAULT 'no',
+ Receive TEXT NOT NULL DEFAULT 'no',
+ IMEI TEXT PRIMARY KEY NOT NULL,
+ NetCode TEXT DEFAULT 'ERROR',
+ NetName TEXT DEFAULT 'ERROR',
+ Client TEXT NOT NULL,
+ Battery INTEGER NOT NULL DEFAULT -1,
+ Signal INTEGER NOT NULL DEFAULT -1,
+ Sent INTEGER NOT NULL DEFAULT 0,
+ Received INTEGER NOT NULL DEFAULT 0
+);
+
+CREATE TRIGGER update_phones_time UPDATE ON phones
+ BEGIN
+ UPDATE phones SET UpdatedInDB = datetime('now') WHERE IMEI = old.IMEI;
+ END;
+
+CREATE TABLE sentitems (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryDateTime NUMERIC NULL,
+ Text TEXT NOT NULL,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER,
+ SenderID TEXT NOT NULL,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ Status TEXT NOT NULL DEFAULT 'SendingOK',
+ StatusError INTEGER NOT NULL DEFAULT '-1',
+ TPMR INTEGER NOT NULL DEFAULT '-1',
+ RelativeValidity INTEGER NOT NULL DEFAULT '-1',
+ CreatorID TEXT NOT NULL,
+ CHECK (Status IN
+ ('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending',
+ 'DeliveryUnknown','Error')),
+ CHECK (Coding IN
+ ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')) ,
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
+CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
+CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
+CREATE INDEX sentitems_sender ON sentitems(SenderID);
+
+CREATE TRIGGER update_sentitems_time UPDATE ON sentitems
+ BEGIN
+ UPDATE sentitems SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/test/data/sqlite.sql new/python-gammu-2.5/test/data/sqlite.sql
--- old/python-gammu-2.4/test/data/sqlite.sql 2015-03-18 14:31:43.000000000 +0100
+++ new/python-gammu-2.5/test/data/sqlite.sql 1970-01-01 01:00:00.000000000 +0100
@@ -1,149 +0,0 @@
-CREATE TABLE daemons (
- Start TEXT NOT NULL,
- Info TEXT NOT NULL
-);
-
-CREATE TABLE gammu (
- Version INTEGER NOT NULL DEFAULT '0'
-);
-
-INSERT INTO gammu (Version) VALUES (14);
-
-CREATE TABLE inbox (
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- ReceivingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
- Text TEXT NOT NULL,
- SenderNumber TEXT NOT NULL DEFAULT '',
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT NOT NULL,
- SMSCNumber TEXT NOT NULL DEFAULT '',
- Class INTEGER NOT NULL DEFAULT '-1',
- TextDecoded TEXT NOT NULL DEFAULT '',
- ID INTEGER PRIMARY KEY AUTOINCREMENT,
- RecipientID TEXT NOT NULL,
- Processed TEXT NOT NULL DEFAULT 'false',
- CHECK (Coding IN
- ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
-);
-
-CREATE TRIGGER update_inbox_time UPDATE ON inbox
- BEGIN
- UPDATE inbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
- END;
-
-CREATE TABLE outbox (
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
- SendBefore time NOT NULL DEFAULT '23:59:59',
- SendAfter time NOT NULL DEFAULT '00:00:00',
- Text TEXT,
- DestinationNumber TEXT NOT NULL DEFAULT '',
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT,
- Class INTEGER DEFAULT '-1',
- TextDecoded TEXT NOT NULL DEFAULT '',
- ID INTEGER PRIMARY KEY AUTOINCREMENT,
- MultiPart TEXT NOT NULL DEFAULT 'false',
- RelativeValidity INTEGER DEFAULT '-1',
- SenderID TEXT,
- SendingTimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
- DeliveryReport TEXT DEFAULT 'default',
- CreatorID TEXT NOT NULL,
- CHECK (Coding IN
- ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
- CHECK (DeliveryReport IN ('default','yes','no'))
-);
-
-CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
-CREATE INDEX outbox_sender ON outbox(SenderID);
-
-CREATE TRIGGER update_outbox_time UPDATE ON outbox
- BEGIN
- UPDATE outbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
- END;
-
-CREATE TABLE outbox_multipart (
- Text TEXT,
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT,
- Class INTEGER DEFAULT '-1',
- TextDecoded TEXT DEFAULT NULL,
- ID INTEGER,
- SequencePosition INTEGER NOT NULL DEFAULT '1',
- CHECK (Coding IN
- ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
- PRIMARY KEY (ID, SequencePosition)
-);
-
-CREATE TABLE pbk (
- ID INTEGER PRIMARY KEY AUTOINCREMENT,
- GroupID INTEGER NOT NULL DEFAULT '-1',
- Name TEXT NOT NULL,
- Number TEXT NOT NULL
-);
-
-CREATE TABLE pbk_groups (
- Name TEXT NOT NULL,
- ID INTEGER PRIMARY KEY AUTOINCREMENT
-);
-
-CREATE TABLE phones (
- ID TEXT NOT NULL,
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- TimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
- Send TEXT NOT NULL DEFAULT 'no',
- Receive TEXT NOT NULL DEFAULT 'no',
- IMEI TEXT PRIMARY KEY NOT NULL,
- NetCode TEXT DEFAULT 'ERROR',
- NetName TEXT DEFAULT 'ERROR',
- Client TEXT NOT NULL,
- Battery INTEGER NOT NULL DEFAULT -1,
- Signal INTEGER NOT NULL DEFAULT -1,
- Sent INTEGER NOT NULL DEFAULT 0,
- Received INTEGER NOT NULL DEFAULT 0
-);
-
-CREATE TRIGGER update_phones_time UPDATE ON phones
- BEGIN
- UPDATE phones SET UpdatedInDB = datetime('now') WHERE IMEI = old.IMEI;
- END;
-
-CREATE TABLE sentitems (
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
- DeliveryDateTime NUMERIC NULL,
- Text TEXT NOT NULL,
- DestinationNumber TEXT NOT NULL DEFAULT '',
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT NOT NULL,
- SMSCNumber TEXT NOT NULL DEFAULT '',
- Class INTEGER NOT NULL DEFAULT '-1',
- TextDecoded TEXT NOT NULL DEFAULT '',
- ID INTEGER,
- SenderID TEXT NOT NULL,
- SequencePosition INTEGER NOT NULL DEFAULT '1',
- Status TEXT NOT NULL DEFAULT 'SendingOK',
- StatusError INTEGER NOT NULL DEFAULT '-1',
- TPMR INTEGER NOT NULL DEFAULT '-1',
- RelativeValidity INTEGER NOT NULL DEFAULT '-1',
- CreatorID TEXT NOT NULL,
- CHECK (Status IN
- ('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending',
- 'DeliveryUnknown','Error')),
- CHECK (Coding IN
- ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')) ,
- PRIMARY KEY (ID, SequencePosition)
-);
-
-CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
-CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
-CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
-CREATE INDEX sentitems_sender ON sentitems(SenderID);
-
-CREATE TRIGGER update_sentitems_time UPDATE ON sentitems
- BEGIN
- UPDATE sentitems SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
- END;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/test/test_dummy.py new/python-gammu-2.5/test/test_dummy.py
--- old/python-gammu-2.4/test/test_dummy.py 2015-06-03 09:18:33.000000000 +0200
+++ new/python-gammu-2.5/test/test_dummy.py 2016-01-19 14:41:52.000000000 +0100
@@ -28,7 +28,7 @@
import os.path
DUMMY_DIR = os.path.join(os.path.dirname(__file__), 'data', 'gammu-dummy')
-TEST_FILE = os.path.join(os.path.dirname(__file__), 'data', 'sqlite.sql')
+TEST_FILE = os.path.join(os.path.dirname(__file__), 'data', 'sqlite-14.sql')
CONFIGURATION = '''
# Configuration for Gammu testsuite
@@ -74,6 +74,8 @@
class BasicDummyTest(DummyTest):
+ _called = False
+
def test_model(self):
state_machine = self.get_statemachine()
self.assertEqual(state_machine.GetModel()[1], 'Dummy')
@@ -227,15 +229,18 @@
'''
Callback on USSD data.
'''
+ self._called = True
self.assertEqual(response, 'USSD')
self.assertEqual(data['Text'], 'Reply for 1234')
self.assertEqual(data['Status'], 'NoActionNeeded')
def test_ussd(self):
+ self._called = False
state_machine = self.get_statemachine()
state_machine.SetIncomingCallback(self.ussd_callback)
state_machine.SetIncomingUSSD()
state_machine.DialService('1234')
+ self.assertTrue(self._called)
def test_sendsms(self):
state_machine = self.get_statemachine()
@@ -254,7 +259,7 @@
'from example python script. '
) * 10
smsinfo = {
- 'Class': 1,
+ 'Class': -1,
'Unicode': False,
'Entries': [
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-gammu-2.4/test/test_smsd.py new/python-gammu-2.5/test/test_smsd.py
--- old/python-gammu-2.4/test/test_smsd.py 2015-09-02 10:15:16.000000000 +0200
+++ new/python-gammu-2.5/test/test_smsd.py 2016-01-19 14:40:33.000000000 +0100
@@ -27,7 +27,7 @@
import time
import sqlite3
-SQLITE_SCRIPT = os.path.join(os.path.dirname(__file__), 'data', 'sqlite.sql')
+
MESSAGE_1 = {
'Text': 'python-gammu testing message',
'SMSC': {'Location': 1},
@@ -40,13 +40,34 @@
}
+def get_script():
+ """Returns SQL script to create database
+
+ It returns correct script matching used Gammu version.
+ """
+ version = tuple(
+ [int(x) for x in gammu.Version()[0].split('.')]
+ )
+
+ if version < (1, 36, 7):
+ dbver = 14
+ else:
+ dbver = 15
+
+ return os.path.join(
+ os.path.dirname(__file__),
+ 'data',
+ 'sqlite-{0}.sql'.format(dbver)
+ )
+
+
class SMSDDummyTest(DummyTest):
def setUp(self):
super(SMSDDummyTest, self).setUp()
database = sqlite3.connect(
os.path.join(self.test_dir, 'smsd.db')
)
- with open(SQLITE_SCRIPT, 'r') as handle:
+ with open(get_script(), 'r') as handle:
database.executescript(handle.read())
def get_smsd(self):
1
0
Hello community,
here is the log from the commit of package mk-configure for openSUSE:Factory checked in at 2016-05-31 12:24:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mk-configure (Old)
and /work/SRC/openSUSE:Factory/.mk-configure.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mk-configure"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mk-configure/mk-configure.changes 2016-01-20 09:54:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mk-configure.new/mk-configure.changes 2016-05-31 12:24:49.000000000 +0200
@@ -1,0 +2,9 @@
+Sun May 29 08:52:12 UTC 2016 - dap.darkness(a)gmail.com
+
+- Added mkcmake.macros to provide rpm macros.
+- Added mk-configure-rpmlintrc to skip some useless warnings.
+- Don't override upstream's files permissions.
+- Prevented files-duplicate warnings.
+- Group was fixed.
+
+-------------------------------------------------------------------
New:
----
mk-configure-rpmlintrc
mkcmake.macros
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mk-configure.spec ++++++
--- /var/tmp/diff_new_pack.j87bNd/_old 2016-05-31 12:24:50.000000000 +0200
+++ /var/tmp/diff_new_pack.j87bNd/_new 2016-05-31 12:24:50.000000000 +0200
@@ -21,14 +21,17 @@
Release: 0
Summary: Lightweight replacement for GNU autotools
License: BSD-2-Clause and BSD-2-Clause and MIT and ISC
-Group: Development/Tools
+Group: Development/Tools/Building
Url: http://sourceforge.net/projects/mk-configure/
Source: http://prdownloads.sf.net/%{name}/%{name}-%{version}.tar.gz
+Source1: mkcmake.macros
+Source9: mk-configure-rpmlintrc
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: bmake
+BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: glib2-devel
@@ -39,9 +42,9 @@
BuildRequires: makeinfo
BuildRequires: pkgconfig
Requires: bmake
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
Recommends: %{name}-doc
+Provides: %{name}-rpm-macros
+BuildArch: noarch
%description
mk-configure is a lightweight replacement for GNU autotools, written in
@@ -79,6 +82,12 @@
chmod -x examples/hello_lua/foobar.in
chmod -x examples/hello_scripts/hello_world3.in
chmod -x examples/hello_subdirs/prog1/prog1.awk.in
+# HACK vs. duplicates after %%doc macro.
+mkdir -p %{buildroot}%{_docdir}/%{name}-doc
+cp -r examples %{buildroot}%{_docdir}/%{name}-doc
+%fdupes -s %{buildroot}%{_docdir}/%{name}-doc
+# rpm macros
+install -m644 %{SOURCE1} -D %{buildroot}%{_sysconfdir}/rpm/macros.mkcmake
%check
unset MAKEFLAGS
@@ -95,15 +104,16 @@
%files
%defattr(-,root,root)
%doc README doc/FAQ doc/LICENSE doc/NEWS doc/TODO
-%attr(755,root,root) %{_bindir}/*
+%{_bindir}/mkc*
%{_datadir}/mk-configure/
%{_datadir}/mkc-mk/
%{_mandir}/man1/*
%{_mandir}/man7/*
+%config %{_sysconfdir}/rpm/macros.mkcmake
%files doc
%defattr(-,root,root)
-%doc examples
+%doc %{_docdir}/%{name}-doc/examples
%doc presentation/presentation.pdf
%changelog
++++++ mk-configure-rpmlintrc ++++++
addFilter("zero-length /usr/share/doc/packages/mk-configure-doc/examples/hello_require_tools/fake");
# It isn't an executable script, it is a kind of shell library.
addFilter("script-without-shebang /usr/bin/mkc_check_common.sh");
addFilter("non-executable-in-bin /usr/bin/mkc_check_common.sh .*");
# Let's skip it.
addFilter("doc-file-dependency /usr/share/doc/packages/mk-configure-doc/examples/.* /usr/bin/env");
addFilter("doc-file-dependency /usr/share/doc/packages/mk-configure-doc/examples/.*/bin/sh");
++++++ mkcmake.macros ++++++
#
# Macros for mk-configure's make
#
%mkcmake \
export CFLAGS="%{optflags}" \
export PREFIX=%{_prefix} \
export DOCDIR=%{_docdir} \
export LIBDIR=%{_libdir} \
export MANDIR=%{_mandir} \
export SYSCONFDIR=%{_sysconfdir} \
export DESTDIR=%{buildroot} \
%{_bindir}/mkcmake \\\
%{?_smp_mflags}
1
0