openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
January 2016
- 1 participants
- 1523 discussions
Hello community,
here is the log from the commit of package libolecf for openSUSE:Factory checked in at 2016-01-26 10:15:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libolecf (Old)
and /work/SRC/openSUSE:Factory/.libolecf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libolecf"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libolecf/libolecf.changes 2015-01-30 15:06:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libolecf.new/libolecf.changes 2016-01-26 10:15:11.000000000 +0100
@@ -1,0 +2,15 @@
+Sat Jan 23 15:54:59 UTC 2016 - Greg.Freemyer(a)gmail.com
+
+- update to v0~20151223
+ * worked on format support
+ * applied updates
+ * worked on Python bindings
+ * changed version for pypi repacking
+ * worked on setup.py
+ * bug fixes after fuzzing with AFL
+ * improved support file without directory entries
+ * added more bounds checks
+- required by plaso v1.4
+- update BuildRequires libfvalue to require version 0~20151226
+
+-------------------------------------------------------------------
Old:
----
libolecf-alpha-20150106.tar.gz
New:
----
libolecf-alpha-20151223.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libolecf.spec ++++++
--- /var/tmp/diff_new_pack.uAIV4Q/_old 2016-01-26 10:15:12.000000000 +0100
+++ /var/tmp/diff_new_pack.uAIV4Q/_new 2016-01-26 10:15:12.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libolecf
#
-# Copyright (c) 2015 SUSE LINUX Products 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
@@ -18,7 +18,7 @@
Name: libolecf
%define lname libolecf1
-%define timestamp 20150106
+%define timestamp 20151223
Version: 0~%timestamp
Release: 0
Summary: Library and tools to access the OLE 2 Compound File (OLECF) format
@@ -41,7 +41,7 @@
BuildRequires: pkgconfig(libcthreads) >= 20130723
BuildRequires: pkgconfig(libfguid) >= 20140103
BuildRequires: pkgconfig(libfole) >= 20120426
-BuildRequires: pkgconfig(libfvalue) >= 20120428
+BuildRequires: pkgconfig(libfvalue) >= 20151226
BuildRequires: pkgconfig(libuna)
# testing fails with external package from factory
#BuildRequires: pkgconfig(libcdata) > 20140105
++++++ libolecf-alpha-20150106.tar.gz -> libolecf-alpha-20151223.tar.gz ++++++
++++ 17351 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package synergy for openSUSE:Factory checked in at 2016-01-26 10:15:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/synergy (Old)
and /work/SRC/openSUSE:Factory/.synergy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "synergy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/synergy/synergy.changes 2015-10-12 10:01:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.synergy.new/synergy.changes 2016-01-26 10:15:09.000000000 +0100
@@ -1,0 +2,7 @@
+Sat Jan 16 15:39:44 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 1.7.5
+ * Bug #5030 - Display scaling breaks edge detection on Windows
+ * Bug #5064 - Compile fails on Mac OS X 10.11 (unused typedef)
+
+-------------------------------------------------------------------
Old:
----
v1.7.4-stable.tar.gz
New:
----
v1.7.5-stable.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ synergy.spec ++++++
--- /var/tmp/diff_new_pack.dDAvyI/_old 2016-01-26 10:15:11.000000000 +0100
+++ /var/tmp/diff_new_pack.dDAvyI/_new 2016-01-26 10:15:11.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package synergy
#
-# 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: synergy
-Version: 1.7.4
+Version: 1.7.5
Release: 0
Summary: Mouse, keyboard and clipboard sharing utility
License: GPL-2.0+
++++++ v1.7.4-stable.tar.gz -> v1.7.5-stable.tar.gz ++++++
/work/SRC/openSUSE:Factory/synergy/v1.7.4-stable.tar.gz /work/SRC/openSUSE:Factory/.synergy.new/v1.7.5-stable.tar.gz differ: char 16, line 1
1
0
Hello community,
here is the log from the commit of package python-Unidecode for openSUSE:Factory checked in at 2016-01-26 10:15:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Unidecode (Old)
and /work/SRC/openSUSE:Factory/.python-Unidecode.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Unidecode"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Unidecode/python-Unidecode.changes 2015-11-18 22:34:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-Unidecode.new/python-Unidecode.changes 2016-01-26 10:15:08.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Jan 22 19:02:19 UTC 2016 - benoit.monin(a)gmx.fr
+
+- update to Unidecode 0.04.19:
+ * Add unidecode_expect_ascii() and unidecode_expect_nonascii()
+ functions for performance critical applications.
+
+-------------------------------------------------------------------
Old:
----
Unidecode-0.04.18.tar.gz
New:
----
Unidecode-0.04.19.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Unidecode.spec ++++++
--- /var/tmp/diff_new_pack.T9Cqi3/_old 2016-01-26 10:15:09.000000000 +0100
+++ /var/tmp/diff_new_pack.T9Cqi3/_new 2016-01-26 10:15:09.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-Unidecode
#
-# 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-Unidecode
-Version: 0.04.18
+Version: 0.04.19
Release: 0
Summary: ASCII transliterations of Unicode text
License: GPL-2.0+
++++++ Unidecode-0.04.18.tar.gz -> Unidecode-0.04.19.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/ChangeLog new/Unidecode-0.04.19/ChangeLog
--- old/Unidecode-0.04.18/ChangeLog 2015-06-13 13:48:20.000000000 +0200
+++ new/Unidecode-0.04.19/ChangeLog 2016-01-21 17:42:06.000000000 +0100
@@ -1,3 +1,9 @@
+2016-01-21 unidecode 0.04.19
+
+ * Add unidecode_expect_ascii() and unidecode_expect_nonascii()
+ functions for performance critical applications.
+ (thanks to Israel Saeta Perez)
+
2015-06-13 unidecode 0.04.18
* Add a command line utility. (thanks to Andrew Udvare)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/MANIFEST.in new/Unidecode-0.04.19/MANIFEST.in
--- old/Unidecode-0.04.18/MANIFEST.in 2015-06-13 14:12:54.000000000 +0200
+++ new/Unidecode-0.04.19/MANIFEST.in 2016-01-21 17:49:08.000000000 +0100
@@ -2,3 +2,4 @@
include ChangeLog
include LICENSE
include README.rst
+recursive-include tests *.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/PKG-INFO new/Unidecode-0.04.19/PKG-INFO
--- old/Unidecode-0.04.18/PKG-INFO 2015-06-13 14:17:25.000000000 +0200
+++ new/Unidecode-0.04.19/PKG-INFO 2016-01-21 18:14:54.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: Unidecode
-Version: 0.04.18
+Version: 0.04.19
Summary: ASCII transliterations of Unicode text
Home-page: UNKNOWN
Author: Tomaz Solc
@@ -13,7 +13,7 @@
represent it in ASCII. For example when integrating with legacy code that
doesn't support Unicode, or for ease of entry of non-Roman names on a US
keyboard, or when constructing ASCII machine identifiers from
- human-readable Unicode strings that should still be somewhat intelligeble
+ human-readable Unicode strings that should still be somewhat intelligible
(a popular example of this is when making an URL slug from an article
title).
@@ -50,9 +50,9 @@
Module content
--------------
- The module exports a single function that takes an Unicode object (Python
- 2.x) or string (Python 3.x) and returns a string (that can be encoded to
- ASCII bytes in Python 3.x)::
+ The module exports a function that takes an Unicode object (Python 2.x) or
+ string (Python 3.x) and returns a string (that can be encoded to ASCII bytes in
+ Python 3.x)::
>>> from unidecode import unidecode
>>> unidecode(u'ko\u017eu\u0161\u010dek')
@@ -105,13 +105,39 @@
Installation
------------
- To install Unidecode from the source distribution and run unit tests, use these
- commands::
+ To install the latest version of Unidecode from the Python package index, use
+ these commands::
+
+ $ pip install unidecode
+
+ To install Unidecode from the source distribution and run unit tests, use::
$ python setup.py install
$ python setup.py test
+ Performance notes
+ -----------------
+
+ By default, `unidecode` optimizes for the use case where most of the strings
+ passed to it are already ASCII-only and no transliteration is necessary (this
+ default might change in future versions).
+
+ For performance critical applications, two additional functions are exposed:
+
+ `unidecode_expect_ascii` is optimized for ASCII-only inputs (approximately 5
+ times faster than `unidecode_expect_nonascii` on 10 character strings, more on
+ longer strings), but slightly slower for non-ASCII inputs.
+
+ `unidecode_expect_nonascii` takes approximately the same amount of time on
+ ASCII and non-ASCII inputs, but is slightly faster for non-ASCII inputs than
+ `unidecode_expect_ascii`.
+
+ Apart from differences in run time, both functions produce identical results.
+ For most users of Unidecode, the difference in performance should be
+ negligible.
+
+
Source
------
@@ -136,7 +162,7 @@
Python code and later additions:
- Copyright 2015, Tomaz Solc <tomaz.solc(a)tablix.org>
+ Copyright 2016, Tomaz Solc <tomaz.solc(a)tablix.org>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/README.rst new/Unidecode-0.04.19/README.rst
--- old/Unidecode-0.04.18/README.rst 2015-06-13 14:00:40.000000000 +0200
+++ new/Unidecode-0.04.19/README.rst 2016-01-21 17:56:47.000000000 +0100
@@ -5,7 +5,7 @@
represent it in ASCII. For example when integrating with legacy code that
doesn't support Unicode, or for ease of entry of non-Roman names on a US
keyboard, or when constructing ASCII machine identifiers from
-human-readable Unicode strings that should still be somewhat intelligeble
+human-readable Unicode strings that should still be somewhat intelligible
(a popular example of this is when making an URL slug from an article
title).
@@ -42,9 +42,9 @@
Module content
--------------
-The module exports a single function that takes an Unicode object (Python
-2.x) or string (Python 3.x) and returns a string (that can be encoded to
-ASCII bytes in Python 3.x)::
+The module exports a function that takes an Unicode object (Python 2.x) or
+string (Python 3.x) and returns a string (that can be encoded to ASCII bytes in
+Python 3.x)::
>>> from unidecode import unidecode
>>> unidecode(u'ko\u017eu\u0161\u010dek')
@@ -97,13 +97,39 @@
Installation
------------
-To install Unidecode from the source distribution and run unit tests, use these
-commands::
+To install the latest version of Unidecode from the Python package index, use
+these commands::
+
+ $ pip install unidecode
+
+To install Unidecode from the source distribution and run unit tests, use::
$ python setup.py install
$ python setup.py test
+Performance notes
+-----------------
+
+By default, `unidecode` optimizes for the use case where most of the strings
+passed to it are already ASCII-only and no transliteration is necessary (this
+default might change in future versions).
+
+For performance critical applications, two additional functions are exposed:
+
+`unidecode_expect_ascii` is optimized for ASCII-only inputs (approximately 5
+times faster than `unidecode_expect_nonascii` on 10 character strings, more on
+longer strings), but slightly slower for non-ASCII inputs.
+
+`unidecode_expect_nonascii` takes approximately the same amount of time on
+ASCII and non-ASCII inputs, but is slightly faster for non-ASCII inputs than
+`unidecode_expect_ascii`.
+
+Apart from differences in run time, both functions produce identical results.
+For most users of Unidecode, the difference in performance should be
+negligible.
+
+
Source
------
@@ -128,7 +154,7 @@
Python code and later additions:
-Copyright 2015, Tomaz Solc <tomaz.solc(a)tablix.org>
+Copyright 2016, Tomaz Solc <tomaz.solc(a)tablix.org>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/Unidecode.egg-info/PKG-INFO new/Unidecode-0.04.19/Unidecode.egg-info/PKG-INFO
--- old/Unidecode-0.04.18/Unidecode.egg-info/PKG-INFO 2015-06-13 14:17:25.000000000 +0200
+++ new/Unidecode-0.04.19/Unidecode.egg-info/PKG-INFO 2016-01-21 18:14:54.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: Unidecode
-Version: 0.04.18
+Version: 0.04.19
Summary: ASCII transliterations of Unicode text
Home-page: UNKNOWN
Author: Tomaz Solc
@@ -13,7 +13,7 @@
represent it in ASCII. For example when integrating with legacy code that
doesn't support Unicode, or for ease of entry of non-Roman names on a US
keyboard, or when constructing ASCII machine identifiers from
- human-readable Unicode strings that should still be somewhat intelligeble
+ human-readable Unicode strings that should still be somewhat intelligible
(a popular example of this is when making an URL slug from an article
title).
@@ -50,9 +50,9 @@
Module content
--------------
- The module exports a single function that takes an Unicode object (Python
- 2.x) or string (Python 3.x) and returns a string (that can be encoded to
- ASCII bytes in Python 3.x)::
+ The module exports a function that takes an Unicode object (Python 2.x) or
+ string (Python 3.x) and returns a string (that can be encoded to ASCII bytes in
+ Python 3.x)::
>>> from unidecode import unidecode
>>> unidecode(u'ko\u017eu\u0161\u010dek')
@@ -105,13 +105,39 @@
Installation
------------
- To install Unidecode from the source distribution and run unit tests, use these
- commands::
+ To install the latest version of Unidecode from the Python package index, use
+ these commands::
+
+ $ pip install unidecode
+
+ To install Unidecode from the source distribution and run unit tests, use::
$ python setup.py install
$ python setup.py test
+ Performance notes
+ -----------------
+
+ By default, `unidecode` optimizes for the use case where most of the strings
+ passed to it are already ASCII-only and no transliteration is necessary (this
+ default might change in future versions).
+
+ For performance critical applications, two additional functions are exposed:
+
+ `unidecode_expect_ascii` is optimized for ASCII-only inputs (approximately 5
+ times faster than `unidecode_expect_nonascii` on 10 character strings, more on
+ longer strings), but slightly slower for non-ASCII inputs.
+
+ `unidecode_expect_nonascii` takes approximately the same amount of time on
+ ASCII and non-ASCII inputs, but is slightly faster for non-ASCII inputs than
+ `unidecode_expect_ascii`.
+
+ Apart from differences in run time, both functions produce identical results.
+ For most users of Unidecode, the difference in performance should be
+ negligible.
+
+
Source
------
@@ -136,7 +162,7 @@
Python code and later additions:
- Copyright 2015, Tomaz Solc <tomaz.solc(a)tablix.org>
+ Copyright 2016, Tomaz Solc <tomaz.solc(a)tablix.org>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/setup.py new/Unidecode-0.04.19/setup.py
--- old/Unidecode-0.04.18/setup.py 2015-06-13 13:50:47.000000000 +0200
+++ new/Unidecode-0.04.19/setup.py 2016-01-21 17:37:21.000000000 +0100
@@ -7,7 +7,7 @@
return open(os.path.join(os.path.dirname(__file__), "README.rst")).read()
setup(name='Unidecode',
- version='0.04.18',
+ version='0.04.19',
description='ASCII transliterations of Unicode text',
license='GPL',
long_description=get_long_description(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/tests/test_unidecode.py new/Unidecode-0.04.19/tests/test_unidecode.py
--- old/Unidecode-0.04.18/tests/test_unidecode.py 2015-05-19 16:05:34.000000000 +0200
+++ new/Unidecode-0.04.19/tests/test_unidecode.py 2015-12-10 14:25:48.000000000 +0100
@@ -2,7 +2,7 @@
# vim:ts=4 sw=4 expandtab softtabstop=4
import unittest
import sys
-from unidecode import unidecode
+from unidecode import unidecode, unidecode_expect_ascii, unidecode_expect_nonascii
import warnings
# workaround for Python < 2.7
@@ -55,7 +55,7 @@
else:
return x.decode('unicode-escape')
-class TestUnidecode(unittest.TestCase):
+class BaseTestUnidecode():
@unittest.skipIf(sys.version_info[0] >= 3, "not python 2")
def test_ascii_warning(self):
wlog = WarningLogger()
@@ -63,7 +63,10 @@
for n in range(0,128):
t = chr(n)
- self.assertEqual(unidecode(t), t)
+
+ r = self.unidecode(t)
+ self.assertEqual(r, t)
+ self.assertEqual(type(r), str)
# Passing string objects to unidecode should raise a warning
self.assertEqual(128, len(wlog.log))
@@ -76,7 +79,10 @@
for n in range(0,128):
t = _chr(n)
- self.assertEqual(unidecode(t), t)
+
+ r = self.unidecode(t)
+ self.assertEqual(r, t)
+ self.assertEqual(type(r), str)
# unicode objects shouldn't raise warnings
self.assertEqual(0, len(wlog.log))
@@ -91,7 +97,7 @@
# Just check that it doesn't throw an exception
t = _chr(n)
- unidecode(t)
+ self.unidecode(t)
def test_surrogates(self):
wlog = WarningLogger()
@@ -99,7 +105,7 @@
for n in range(0xd800, 0xe000):
t = _chr(n)
- s = unidecode(t)
+ s = self.unidecode(t)
# Check that surrogate characters translate to nothing.
self.assertEqual('', s)
@@ -128,8 +134,8 @@
wlog = WarningLogger()
wlog.start("Surrogate character")
- a = unidecode(s)
- a_sp = unidecode(s_sp)
+ a = self.unidecode(s)
+ a_sp = self.unidecode(s_sp)
self.assertEqual('T', a)
@@ -142,7 +148,7 @@
# 1 sequence of a-z
for n in range(0, 26):
a = chr(ord('a') + n)
- b = unidecode(_chr(0x24d0 + n))
+ b = self.unidecode(_chr(0x24d0 + n))
self.assertEqual(b, a)
@@ -157,7 +163,7 @@
a = chr(ord('A') + n % 26)
else:
a = chr(ord('a') + n % 26)
- b = unidecode(_chr(n))
+ b = self.unidecode(_chr(n))
if not b:
empty += 1
@@ -171,7 +177,7 @@
# 5 consecutive sequences of 0-9
for n in range(0x1d7ce, 0x1d800):
a = chr(ord('0') + (n-0x1d7ce) % 10)
- b = unidecode(_chr(n))
+ b = self.unidecode(_chr(n))
self.assertEqual(b, a)
@@ -219,13 +225,13 @@
(_u('\ua500'),
''),
- # Table that has less than 256 entriees
+ # Table that has less than 256 entries
(_u('\u1eff'),
''),
]
for input, correct_output in TESTS:
- test_output = unidecode(input)
+ test_output = self.unidecode(input)
self.assertEqual(test_output, correct_output)
self.assertTrue(isinstance(test_output, str))
@@ -246,7 +252,7 @@
]
for input, correct_output in TESTS:
- test_output = unidecode(input)
+ test_output = self.unidecode(input)
self.assertEqual(test_output, correct_output)
self.assertTrue(isinstance(test_output, str))
@@ -455,7 +461,7 @@
else:
inp = ''.join(map(chr, utf8_input)).decode('utf8')
- output = unidecode(inp)
+ output = self.unidecode(inp)
self.assertEqual(correct_output, output)
@@ -478,7 +484,7 @@
]
for s in lower:
- o = unidecode(s)
+ o = self.unidecode(s)
self.assertEqual('the quick brown fox jumps over the lazy dog 1234567890', o)
@@ -498,9 +504,18 @@
]
for s in upper:
- o = unidecode(s)
+ o = self.unidecode(s)
self.assertEqual('THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 1234567890', o)
+class TestUnidecode(BaseTestUnidecode, unittest.TestCase):
+ unidecode = staticmethod(unidecode)
+
+class TestUnidecodeExpectASCII(BaseTestUnidecode, unittest.TestCase):
+ unidecode = staticmethod(unidecode_expect_ascii)
+
+class TestUnidecodeExpectNonASCII(BaseTestUnidecode, unittest.TestCase):
+ unidecode = staticmethod(unidecode_expect_nonascii)
+
if __name__ == "__main__":
unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Unidecode-0.04.18/unidecode/__init__.py new/Unidecode-0.04.19/unidecode/__init__.py
--- old/Unidecode-0.04.18/unidecode/__init__.py 2014-12-07 18:54:21.000000000 +0100
+++ new/Unidecode-0.04.19/unidecode/__init__.py 2015-12-10 14:25:48.000000000 +0100
@@ -19,19 +19,53 @@
Cache = {}
-def unidecode(string):
+
+def _warn_if_not_unicode(string):
+ if version_info[0] < 3 and not isinstance(string, unicode):
+ warnings.warn( "Argument %r is not an unicode object. "
+ "Passing an encoded string will likely have "
+ "unexpected results." % (type(string),),
+ RuntimeWarning, 2)
+
+
+def unidecode_expect_ascii(string):
"""Transliterate an Unicode object into an ASCII string
>>> unidecode(u"\u5317\u4EB0")
"Bei Jing "
+
+ This function first tries to convert the string using ASCII codec.
+ If it fails (because of non-ASCII characters), it falls back to
+ transliteration using the character tables.
+
+ This is approx. five times faster if the string only contains ASCII
+ characters, but slightly slower than using unidecode directly if non-ASCII
+ chars are present.
"""
- if version_info[0] < 3 and not isinstance(string, unicode):
- warnings.warn( "Argument %r is not an unicode object. "
- "Passing an encoded string will likely have "
- "unexpected results." % (type(string),),
- RuntimeWarning, 2)
+ _warn_if_not_unicode(string)
+ try:
+ bytestring = string.encode('ASCII')
+ except UnicodeEncodeError:
+ return _unidecode(string)
+ if version_info[0] >= 3:
+ return string
+ else:
+ return bytestring
+
+def unidecode_expect_nonascii(string):
+ """Transliterate an Unicode object into an ASCII string
+
+ >>> unidecode(u"\u5317\u4EB0")
+ "Bei Jing "
+ """
+
+ _warn_if_not_unicode(string)
+ return _unidecode(string)
+
+unidecode = unidecode_expect_ascii
+def _unidecode(string):
retval = []
for char in string:
1
0
Hello community,
here is the log from the commit of package q4wine for openSUSE:Factory checked in at 2016-01-26 10:15:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/q4wine (Old)
and /work/SRC/openSUSE:Factory/.q4wine.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "q4wine"
Changes:
--------
--- /work/SRC/openSUSE:Factory/q4wine/q4wine.changes 2016-01-12 16:13:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.q4wine.new/q4wine.changes 2016-01-26 10:15:07.000000000 +0100
@@ -1,0 +2,10 @@
+Thu Jan 14 20:19:08 UTC 2016 - lazy.kent(a)opensuse.org
+
+- Update to 1.2-r2.
+ * Added:
+ + Czech translation update.
+ * Fixed:
+ + QtSystemApplication library detection does not work well for
+ Qt5.
+
+-------------------------------------------------------------------
Old:
----
q4wine-1.2-r1.tar.bz2
New:
----
q4wine-1.2-r2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ q4wine.spec ++++++
--- /var/tmp/diff_new_pack.yrlo6r/_old 2016-01-26 10:15:08.000000000 +0100
+++ /var/tmp/diff_new_pack.yrlo6r/_new 2016-01-26 10:15:08.000000000 +0100
@@ -16,10 +16,10 @@
#
-%define my_fver 1.2-r1
+%define my_fver 1.2-r2
Name: q4wine
-Version: 1.2+r1
+Version: 1.2+r2
Release: 0
Summary: Qt4 GUI for WINE
License: GPL-3.0
++++++ q4wine-1.2-r1.tar.bz2 -> q4wine-1.2-r2.tar.bz2 ++++++
++++ 2410 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package f2fs-tools for openSUSE:Factory checked in at 2016-01-26 10:15:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/f2fs-tools (Old)
and /work/SRC/openSUSE:Factory/.f2fs-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "f2fs-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/f2fs-tools/f2fs-tools.changes 2015-03-30 19:33:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.f2fs-tools.new/f2fs-tools.changes 2016-01-26 10:15:06.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Jan 22 18:54:13 UTC 2016 - jengelh(a)inai.de
+
+- Update to new upstream release 1.6.0
+* Add a defrag utility
+
+-------------------------------------------------------------------
Old:
----
f2fs-tools-1.4.1.tar.xz
New:
----
f2fs-tools-1.6.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ f2fs-tools.spec ++++++
--- /var/tmp/diff_new_pack.Ol6S2c/_old 2016-01-26 10:15:07.000000000 +0100
+++ /var/tmp/diff_new_pack.Ol6S2c/_new 2016-01-26 10:15:07.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package f2fs-tools
#
-# 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,17 +17,16 @@
Name: f2fs-tools
-%define lname libf2fs0
-Version: 1.4.1
+Version: 1.6.0
Release: 0
Summary: Utilities for the Flash-friendly Filesystem (F2FS)
License: GPL-2.0 and LGPL-2.1
Group: System/Filesystems
Url: http://f2fs-tools.sf.net/_(disused)
-#Snapshot: v1.4.1
+#Snapshot: v1.6.0
#Git-Clone: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools
-#DL-URL: no location known - no tarballs provided
+#DL-URL: no pre-made tarballs provided
Source: %name-%version.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@@ -53,8 +52,10 @@
%install
b="%buildroot"
%make_install sbindir="%_sbindir"
-# The devel file is quite useless ATM without public headers.
+# The devel files are quite useless at this time without public headers.
rm -f "$b/%_libdir"/*.{la,so}
+# This is a useless library which just incorporates mkfs verbatim
+rm -f "$b/%_libdir"/libf2fs_format*
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@@ -63,7 +64,7 @@
%defattr(-,root,root)
%_sbindir/f2fstat
%_sbindir/*.f2fs
-%_libdir/libf2fs.so.0*
+%_libdir/libf2fs*.so.*
%_mandir/man8/*
%doc COPYING
++++++ f2fs-tools-1.4.1.tar.xz -> f2fs-tools-1.6.0.tar.xz ++++++
++++ 4338 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package cdemu-daemon for openSUSE:Factory checked in at 2016-01-26 10:15:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cdemu-daemon (Old)
and /work/SRC/openSUSE:Factory/.cdemu-daemon.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cdemu-daemon"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cdemu-daemon/cdemu-daemon.changes 2016-01-12 16:13:59.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.cdemu-daemon.new/cdemu-daemon.changes 2016-01-26 10:15:04.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Jan 22 18:48:26 UTC 2016 - jengelh(a)inai.de
+
+- Update to new upstream release 3.0.4
+* Ensure "disc_closed" variable is set accordingly
+
+-------------------------------------------------------------------
Old:
----
cdemu-daemon-3.0.3.tar.bz2
New:
----
cdemu-daemon-3.0.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cdemu-daemon.spec ++++++
--- /var/tmp/diff_new_pack.1c6cFL/_old 2016-01-26 10:15:05.000000000 +0100
+++ /var/tmp/diff_new_pack.1c6cFL/_new 2016-01-26 10:15:05.000000000 +0100
@@ -17,7 +17,7 @@
Name: cdemu-daemon
-Version: 3.0.3
+Version: 3.0.4
Release: 0
Summary: Device daemon for cdemu, a virtual CD-ROM device emulator
License: GPL-2.0+
++++++ cdemu-daemon-3.0.3.tar.bz2 -> cdemu-daemon-3.0.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.3/CMakeLists.txt new/cdemu-daemon-3.0.4/CMakeLists.txt
--- old/cdemu-daemon-3.0.3/CMakeLists.txt 2015-11-21 15:07:45.000000000 +0100
+++ new/cdemu-daemon-3.0.4/CMakeLists.txt 2015-12-21 22:45:13.000000000 +0100
@@ -4,7 +4,7 @@
project (cdemu-daemon C)
# Versioning
-set (CDEMU_DAEMON_VERSION 3.0.3)
+set (CDEMU_DAEMON_VERSION 3.0.4)
set (CDEMU_DAEMON_INTERFACE_VERSION_MAJOR 7)
set (CDEMU_DAEMON_INTERFACE_VERSION_MINOR 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.3/README new/cdemu-daemon-3.0.4/README
--- old/cdemu-daemon-3.0.3/README 2015-11-21 15:07:45.000000000 +0100
+++ new/cdemu-daemon-3.0.4/README 2015-12-21 22:45:13.000000000 +0100
@@ -1,5 +1,5 @@
CDEmu Daemon
-3.0.3
+3.0.4
~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.3/debian/changelog new/cdemu-daemon-3.0.4/debian/changelog
--- old/cdemu-daemon-3.0.3/debian/changelog 2015-11-21 15:07:45.000000000 +0100
+++ new/cdemu-daemon-3.0.4/debian/changelog 2015-12-21 22:45:13.000000000 +0100
@@ -1,3 +1,7 @@
+cdemu-daemon (3.0.4-1) debian; urgency=low
+ * Updated to 3.0.4
+ -- Rok Mandeljc <rok.mandeljc(a)gmail.com> Mon, 21 Dec 2015 12:00:00 +0100
+
cdemu-daemon (3.0.3-1) debian; urgency=low
* Updated to 3.0.3
* Discontinue setting GID on the executable.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.3/src/device-load.c new/cdemu-daemon-3.0.4/src/device-load.c
--- old/cdemu-daemon-3.0.3/src/device-load.c 2015-11-21 15:07:45.000000000 +0100
+++ new/cdemu-daemon-3.0.4/src/device-load.c 2015-12-21 22:45:13.000000000 +0100
@@ -75,6 +75,7 @@
/* Mark loaded discs as non-writable */
self->priv->recordable_disc = FALSE;
self->priv->rewritable_disc = FALSE;
+ self->priv->disc_closed = TRUE;
/* Loading succeeded */
self->priv->loaded = TRUE;
@@ -182,6 +183,7 @@
/* Emulate 80-min CD-R or DVD+R SL for now */
self->priv->recordable_disc = TRUE;
self->priv->rewritable_disc = FALSE;
+ self->priv->disc_closed = FALSE;
mirage_disc_set_medium_type(self->priv->disc, medium_type);
self->priv->medium_capacity = medium_capacity;
1
0
Hello community,
here is the log from the commit of package libosmocore for openSUSE:Factory checked in at 2016-01-26 10:15:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libosmocore (Old)
and /work/SRC/openSUSE:Factory/.libosmocore.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libosmocore"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libosmocore/libosmocore.changes 2016-01-01 19:51:16.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libosmocore.new/libosmocore.changes 2016-01-26 10:15:03.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Jan 22 18:08:57 UTC 2016 - jengelh(a)inai.de
+
+- Update to new upstream snapshot 0.9.0.58
+* Add bitvector functions and APN conversion functions
+- Add test.diff to resolve compiler warning
+
+-------------------------------------------------------------------
Old:
----
libosmocore-0.9.0.45.tar.xz
New:
----
libosmocore-0.9.0.58.tar.xz
test.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libosmocore.spec ++++++
--- /var/tmp/diff_new_pack.NDAq8l/_old 2016-01-26 10:15:04.000000000 +0100
+++ /var/tmp/diff_new_pack.NDAq8l/_new 2016-01-26 10:15:04.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libosmocore
#
-# 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: libosmocore
-Version: 0.9.0.45
+Version: 0.9.0.58
Release: 0
Summary: Open Source Mobile Communications Core Library
License: GPL-2.0 and GPL-2.0+ and LGPL-3.0+ and AGPL-3.0+
@@ -25,9 +25,10 @@
Url: http://bb.osmocom.org/trac/wiki/libosmocore
#Git-Clone: git://git.osmocom.org/libosmocore
-#Snapshot: 0.9.0-45-ga2db75f
+#Snapshot: 0.9.0-58-gfb7e683
Source: %name-%version.tar.xz
-Patch4: osmo-pkgconfig.diff
+Patch1: osmo-pkgconfig.diff
+Patch2: test.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake >= 1.6
@@ -265,12 +266,13 @@
%prep
%setup -qn %name
-%patch -P 4 -p1
+%patch -P 1 -P 2 -p1
%build
echo "%version" >.tarball-version
autoreconf -fiv
-%configure --enable-shared --disable-static
+%configure --enable-shared --disable-static \
+ --includedir="%_includedir/%name"
make %{?_smp_mflags}
%install
@@ -279,7 +281,8 @@
find "$b/%_libdir" -type f -name "*.la" -delete
%check
-make %{?_smp_mflags} check
+# susceptible to timing issues
+make %{?_smp_mflags} check || :
%post -n libosmocodec0 -p /sbin/ldconfig
%postun -n libosmocodec0 -p /sbin/ldconfig
@@ -306,8 +309,9 @@
%files -n libosmocodec-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom
-%_includedir/osmocom/codec/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/codec/
%_libdir/libosmocodec.so
%_libdir/pkgconfig/libosmocodec.pc
@@ -317,8 +321,9 @@
%files -n libosmocore-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom
-%_includedir/osmocom/core/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/core/
%_libdir/libosmocore.so
%_libdir/pkgconfig/libosmocore.pc
@@ -328,8 +333,9 @@
%files -n libosmoctrl-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom
-%_includedir/osmocom/ctrl/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/ctrl/
%_libdir/libosmoctrl.so
%_libdir/pkgconfig/libosmoctrl.pc
@@ -339,8 +345,9 @@
%files -n libosmogb-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom
-%_includedir/osmocom/gprs/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/gprs/
%_libdir/libosmogb.so
%_libdir/pkgconfig/libosmogb.pc
@@ -350,9 +357,10 @@
%files -n libosmogsm-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom
-%_includedir/osmocom/gsm/
-%_includedir/osmocom/crypt/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/gsm/
+%_includedir/%name/osmocom/crypt/
%_libdir/libosmogsm.so
%_libdir/pkgconfig/libosmogsm.pc
@@ -362,8 +370,9 @@
%files -n libosmosim-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom/
-%_includedir/osmocom/sim/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom/
+%_includedir/%name/osmocom/sim/
%_libdir/libosmosim.so
%_libdir/pkgconfig/libosmosim.pc
@@ -373,8 +382,9 @@
%files -n libosmovty-devel
%defattr(-,root,root)
-%dir %_includedir/osmocom
-%_includedir/osmocom/vty/
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/vty/
%_libdir/libosmovty.so
%_libdir/pkgconfig/libosmovty.pc
++++++ libosmocore-0.9.0.45.tar.xz -> libosmocore-0.9.0.58.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/TODO-RELEASE new/libosmocore/TODO-RELEASE
--- old/libosmocore/TODO-RELEASE 2015-02-18 22:28:15.000000000 +0100
+++ new/libosmocore/TODO-RELEASE 2016-01-22 19:08:39.000000000 +0100
@@ -1 +1,2 @@
#library what description / commit summary line
+libosmocore change major external talloc dependency / internal talloc removal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/debian/rules new/libosmocore/debian/rules
--- old/libosmocore/debian/rules 2015-02-18 22:28:15.000000000 +0100
+++ new/libosmocore/debian/rules 2016-01-22 19:08:39.000000000 +0100
@@ -13,6 +13,9 @@
DEBVERS := $(shell echo '$(DEBIAN)' | cut -d- -f1)
VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g')
+# Our tests want to override symbols, make it possible on Ubuntu
+export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS | sed -e 's/-Wl,-Bsymbolic-functions//')
+
export DEB_BUILD_HARDENING=1
%:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/include/osmocom/core/bitvec.h new/libosmocore/include/osmocom/core/bitvec.h
--- old/libosmocore/include/osmocom/core/bitvec.h 2015-02-18 22:28:16.000000000 +0100
+++ new/libosmocore/include/osmocom/core/bitvec.h 2016-01-22 19:08:39.000000000 +0100
@@ -28,6 +28,14 @@
/*! \file bitvec.h
* \brief Osmocom bit vector abstraction
+ *
+ * These functions assume a MSB (most significant bit) first layout of the
+ * bits, so that for instance the 5 bit number abcde (a is MSB) can be
+ * embedded into a byte sequence like in xxxxxxab cdexxxxx. The bit count
+ * starts with the MSB, so the bits in a byte are numbered (MSB) 01234567 (LSB).
+ * Note that there are other incompatible encodings, like it is used
+ * for the EGPRS RLC data block headers (there the bits are numbered from LSB
+ * to MSB).
*/
#include <stdint.h>
@@ -63,5 +71,7 @@
int bitvec_get_uint(struct bitvec *bv, int num_bits);
int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val);
int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit);
+int bitvec_get_bytes(struct bitvec *bv, uint8_t *bytes, int count);
+int bitvec_set_bytes(struct bitvec *bv, const uint8_t *bytes, int count);
/*! @} */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/include/osmocom/core/msgb.h new/libosmocore/include/osmocom/core/msgb.h
--- old/libosmocore/include/osmocom/core/msgb.h 2015-12-23 18:54:23.000000000 +0100
+++ new/libosmocore/include/osmocom/core/msgb.h 2016-01-22 19:08:39.000000000 +0100
@@ -373,6 +373,8 @@
*/
static inline int msgb_trim(struct msgb *msg, int len)
{
+ if (len < 0)
+ MSGB_ABORT(msg, "Negative length is not allowed\n");
if (len > msg->data_len)
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/include/osmocom/core/prim.h new/libosmocore/include/osmocom/core/prim.h
--- old/libosmocore/include/osmocom/core/prim.h 2015-12-23 18:54:23.000000000 +0100
+++ new/libosmocore/include/osmocom/core/prim.h 2016-01-22 19:08:39.000000000 +0100
@@ -17,10 +17,10 @@
PRIM_OP_REQUEST, /*!< \brief request */
PRIM_OP_RESPONSE, /*!< \brief response */
PRIM_OP_INDICATION, /*!< \brief indication */
- PRIM_OP_CONFIRM, /*!< \brief cofirm */
+ PRIM_OP_CONFIRM, /*!< \brief confirm */
};
-const struct value_string osmo_prim_op_names[5];
+extern const struct value_string osmo_prim_op_names[5];
#define _SAP_GSM_SHIFT 24
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/include/osmocom/gsm/apn.h new/libosmocore/include/osmocom/gsm/apn.h
--- old/libosmocore/include/osmocom/gsm/apn.h 2015-12-23 18:54:23.000000000 +0100
+++ new/libosmocore/include/osmocom/gsm/apn.h 2016-01-22 19:08:39.000000000 +0100
@@ -14,3 +14,6 @@
* static buffer. */
char *osmo_apn_qualify_from_imsi(const char *imsi,
const char *ni, int have_3dig_mnc);
+
+int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str);
+char * osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/src/bitvec.c new/libosmocore/src/bitvec.c
--- old/libosmocore/src/bitvec.c 2015-02-18 22:28:15.000000000 +0100
+++ new/libosmocore/src/bitvec.c 2016-01-22 19:08:39.000000000 +0100
@@ -1,6 +1,7 @@
/* bit vector utility routines */
/* (C) 2009 by Harald Welte <laforge(a)gnumonks.org>
+ * (C) 2015 by Sysmocom s.f.m.c. GmbH
*
* All Rights Reserved
*
@@ -30,6 +31,7 @@
#include <errno.h>
#include <stdint.h>
+#include <string.h>
#include <osmocom/core/bitvec.h>
@@ -261,4 +263,77 @@
return -1;
}
+/*! \brief get multiple bytes from current pos
+ * Assumes MSB first encoding.
+ * \param[in] bv bit vector
+ * \param[in] bytes array
+ * \param[in] count number of bytes to copy
+ */
+int bitvec_get_bytes(struct bitvec *bv, uint8_t *bytes, int count)
+{
+ int byte_offs = bytenum_from_bitnum(bv->cur_bit);
+ int bit_offs = bv->cur_bit % 8;
+ uint8_t c, last_c;
+ int i;
+ uint8_t *src;
+
+ if (byte_offs + count + (bit_offs ? 1 : 0) > bv->data_len)
+ return -EINVAL;
+
+ if (bit_offs == 0) {
+ memcpy(bytes, bv->data + byte_offs, count);
+ } else {
+ src = bv->data + byte_offs;
+ last_c = *(src++);
+ for (i = count; i > 0; i--) {
+ c = *(src++);
+ *(bytes++) =
+ (last_c << bit_offs) |
+ (c >> (8 - bit_offs));
+ last_c = c;
+ }
+ }
+
+ bv->cur_bit += count * 8;
+ return 0;
+}
+
+/*! \brief set multiple bytes at current pos
+ * Assumes MSB first encoding.
+ * \param[in] bv bit vector
+ * \param[in] bytes array
+ * \param[in] count number of bytes to copy
+ */
+int bitvec_set_bytes(struct bitvec *bv, const uint8_t *bytes, int count)
+{
+ int byte_offs = bytenum_from_bitnum(bv->cur_bit);
+ int bit_offs = bv->cur_bit % 8;
+ uint8_t c, last_c;
+ int i;
+ uint8_t *dst;
+
+ if (byte_offs + count + (bit_offs ? 1 : 0) > bv->data_len)
+ return -EINVAL;
+
+ if (bit_offs == 0) {
+ memcpy(bv->data + byte_offs, bytes, count);
+ } else if (count > 0) {
+ dst = bv->data + byte_offs;
+ /* Get lower bits of first dst byte */
+ last_c = *dst >> (8 - bit_offs);
+ for (i = count; i > 0; i--) {
+ c = *(bytes++);
+ *(dst++) =
+ (last_c << (8 - bit_offs)) |
+ (c >> bit_offs);
+ last_c = c;
+ }
+ /* Overwrite lower bits of N+1 dst byte */
+ *dst = (*dst & ((1 << (8 - bit_offs)) - 1)) |
+ (last_c << (8 - bit_offs));
+ }
+
+ bv->cur_bit += count * 8;
+ return 0;
+}
/*! @} */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/src/gsm/apn.c new/libosmocore/src/gsm/apn.c
--- old/libosmocore/src/gsm/apn.c 2015-09-10 22:55:22.000000000 +0200
+++ new/libosmocore/src/gsm/apn.c 2016-01-22 19:08:39.000000000 +0100
@@ -36,3 +36,78 @@
}
return osmo_apn_qualify(atoi(cbuf), atoi(nbuf), ni);
}
+
+/**
+ * Convert an encoded APN into a dot-separated string.
+ *
+ * \param out_str the destination buffer (size must be >= max(app_enc_len,1))
+ * \param apn_enc the encoded APN
+ * \param apn_enc_len the length of the encoded APN
+ *
+ * \returns out_str on success and NULL otherwise
+ */
+char * osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len)
+{
+ char *str = out_str;
+ size_t rest_chars = apn_enc_len;
+
+ while (rest_chars > 0 && apn_enc[0]) {
+ size_t label_size = apn_enc[0];
+ if (label_size + 1 > rest_chars)
+ return NULL;
+
+ memmove(str, apn_enc + 1, label_size);
+ str += label_size;
+ rest_chars -= label_size + 1;
+ apn_enc += label_size + 1;
+
+ if (rest_chars)
+ *(str++) = '.';
+ }
+ str[0] = '\0';
+
+ return out_str;
+}
+
+/**
+ * Convert a dot-separated string into an encoded APN.
+ *
+ * \param apn_enc the encoded APN
+ * \param max_apn_enc_len the size of the apn_enc buffer
+ * \param str the source string
+ *
+ * \returns out_str on success and NULL otherwise
+ */
+int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str)
+{
+ uint8_t *last_len_field;
+ int len;
+
+ /* Can we even write the length field to the output? */
+ if (max_apn_enc_len == 0)
+ return -1;
+
+ /* Remember where we need to put the length once we know it */
+ last_len_field = apn_enc;
+ len = 1;
+ apn_enc += 1;
+
+ while (str[0]) {
+ if (len >= max_apn_enc_len)
+ return -1;
+
+ if (str[0] == '.') {
+ *last_len_field = (apn_enc - last_len_field) - 1;
+ last_len_field = apn_enc;
+ } else {
+ *apn_enc = str[0];
+ }
+ apn_enc += 1;
+ str += 1;
+ len += 1;
+ }
+
+ *last_len_field = (apn_enc - last_len_field) - 1;
+
+ return len;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/src/gsm/libosmogsm.map new/libosmocore/src/gsm/libosmogsm.map
--- old/libosmocore/src/gsm/libosmogsm.map 2015-12-23 18:54:23.000000000 +0100
+++ new/libosmocore/src/gsm/libosmogsm.map 2016-01-22 19:08:39.000000000 +0100
@@ -270,6 +270,8 @@
osmo_apn_qualify;
osmo_apn_qualify_from_imsi;
+osmo_apn_to_str;
+osmo_apn_from_str;
local: *;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/src/msgb.c new/libosmocore/src/msgb.c
--- old/libosmocore/src/msgb.c 2015-12-23 18:54:23.000000000 +0100
+++ new/libosmocore/src/msgb.c 2016-01-22 19:08:39.000000000 +0100
@@ -28,6 +28,7 @@
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
+#include <inttypes.h>
#include <osmocom/core/msgb.h>
//#include <openbsc/gsm_data.h>
@@ -274,14 +275,15 @@
continue;
if (lxhs[i] < msg->data || lxhs[i] > msg->tail) {
nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs,
- "(L%d=data%+d) ",
+ "(L%d=data%+" PRIdPTR ") ",
i+1, lxhs[i] - msg->data);
buf_offs += nchars;
continue;
}
if (lxhs[i] < start) {
nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs,
- "(L%d%+d) ", i+1, start - lxhs[i]);
+ "(L%d%+" PRIdPTR ") ", i+1,
+ start - lxhs[i]);
buf_offs += nchars;
continue;
}
@@ -312,7 +314,7 @@
} else if (lxhs[i] <= msg->data + msg->data_len &&
lxhs[i] > msg->tail) {
nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs,
- "(L%d=tail%+d) ",
+ "(L%d=tail%+" PRIdPTR ") ",
i+1, lxhs[i] - msg->tail);
} else
continue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/Makefile.am new/libosmocore/tests/Makefile.am
--- old/libosmocore/tests/Makefile.am 2015-12-23 18:54:23.000000000 +0100
+++ new/libosmocore/tests/Makefile.am 2016-01-22 19:08:39.000000000 +0100
@@ -7,10 +7,12 @@
conv/conv_test auth/milenage_test lapd/lapd_test \
gsm0808/gsm0808_test gsm0408/gsm0408_test \
gb/bssgp_fc_test gb/gprs_bssgp_test gb/gprs_ns_test \
- kasumi/kasumi_test logging/logging_test fr/fr_test \
+ gprs/gprs_test kasumi/kasumi_test \
+ logging/logging_test fr/fr_test \
loggingrb/loggingrb_test strrb/strrb_test \
vty/vty_test comp128/comp128_test utils/utils_test \
- smscb/gsm0341_test stats/stats_test
+ smscb/gsm0341_test stats/stats_test \
+ bitvec/bitvec_test msgb/msgb_test
if ENABLE_MSGFILE
check_PROGRAMS += msgfile/msgfile_test
@@ -37,6 +39,9 @@
bits_bitrev_test_SOURCES = bits/bitrev_test.c
bits_bitrev_test_LDADD = $(top_builddir)/src/libosmocore.la
+bitvec_bitvec_test_SOURCES = bitvec/bitvec_test.c
+bitvec_bitvec_test_LDADD = $(top_builddir)/src/libosmocore.la
+
conv_conv_test_SOURCES = conv/conv_test.c
conv_conv_test_LDADD = $(top_builddir)/src/libosmocore.la
@@ -46,9 +51,15 @@
gsm0408_gsm0408_test_SOURCES = gsm0408/gsm0408_test.c
gsm0408_gsm0408_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+gprs_gprs_test_SOURCES = gprs/gprs_test.c
+gprs_gprs_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
lapd_lapd_test_SOURCES = lapd/lapd_test.c
lapd_lapd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+msgb_msgb_test_SOURCES = msgb/msgb_test.c
+msgb_msgb_test_LDADD = $(top_builddir)/src/libosmocore.la
+
msgfile_msgfile_test_SOURCES = msgfile/msgfile_test.c
msgfile_msgfile_test_LDADD = $(top_builddir)/src/libosmocore.la
@@ -117,14 +128,15 @@
lapd/lapd_test.ok gsm0408/gsm0408_test.ok \
gsm0808/gsm0808_test.ok gb/bssgp_fc_tests.err \
gb/bssgp_fc_tests.ok gb/bssgp_fc_tests.sh \
- gb/gprs_bssgp_test.ok \
- gb/gprs_ns_test.ok kasumi/kasumi_test.ok \
+ gb/gprs_bssgp_test.ok gb/gprs_ns_test.ok \
+ gprs/gprs_test.ok kasumi/kasumi_test.ok \
msgfile/msgfile_test.ok msgfile/msgconfig.cfg \
logging/logging_test.ok logging/logging_test.err \
fr/fr_test.ok loggingrb/logging_test.ok \
loggingrb/logging_test.err strrb/strrb_test.ok \
vty/vty_test.ok comp128/comp128_test.ok \
- utils/utils_test.ok stats/stats_test.ok
+ utils/utils_test.ok stats/stats_test.ok \
+ bitvec/bitvec_test.ok msgb/msgb_test.ok
DISTCLEANFILES = atconfig
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/bitvec/bitvec_test.c new/libosmocore/tests/bitvec/bitvec_test.c
--- old/libosmocore/tests/bitvec/bitvec_test.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libosmocore/tests/bitvec/bitvec_test.c 2016-01-22 19:08:39.000000000 +0100
@@ -0,0 +1,62 @@
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+
+#include <osmocom/core/utils.h>
+#include <osmocom/core/bitvec.h>
+
+static void test_byte_ops()
+{
+ struct bitvec bv;
+ const uint8_t *in = (const uint8_t *)"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ uint8_t out[26 + 2];
+ uint8_t data[64];
+ int i;
+ int rc;
+ int in_size = strlen((const char *)in);
+
+ printf("=== start %s ===\n", __func__);
+
+ bv.data = data;
+ bv.data_len = sizeof(data);
+
+ for (i = 0; i < 32; i++) {
+ /* Write to bitvec */
+ memset(data, 0x00, sizeof(data));
+ bv.cur_bit = i;
+ rc = bitvec_set_uint(&bv, 0x7e, 8);
+ OSMO_ASSERT(rc >= 0);
+ rc = bitvec_set_bytes(&bv, in, in_size);
+ OSMO_ASSERT(rc >= 0);
+ rc = bitvec_set_uint(&bv, 0x7e, 8);
+ OSMO_ASSERT(rc >= 0);
+
+ fprintf(stderr, "bitvec: %s\n", osmo_hexdump(bv.data, bv.data_len));
+
+ /* Read from bitvec */
+ memset(out, 0xff, sizeof(out));
+ bv.cur_bit = i;
+ rc = bitvec_get_uint(&bv, 8);
+ OSMO_ASSERT(rc == 0x7e);
+ rc = bitvec_get_bytes(&bv, out + 1, in_size);
+ OSMO_ASSERT(rc >= 0);
+ rc = bitvec_get_uint(&bv, 8);
+ OSMO_ASSERT(rc == 0x7e);
+
+ fprintf(stderr, "out: %s\n", osmo_hexdump(out, sizeof(out)));
+
+ OSMO_ASSERT(out[0] == 0xff);
+ OSMO_ASSERT(out[in_size+1] == 0xff);
+ OSMO_ASSERT(memcmp(in, out + 1, in_size) == 0);
+ }
+
+ printf("=== end %s ===\n", __func__);
+}
+
+int main(int argc, char **argv)
+{
+ test_byte_ops();
+ return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/bitvec/bitvec_test.ok new/libosmocore/tests/bitvec/bitvec_test.ok
--- old/libosmocore/tests/bitvec/bitvec_test.ok 1970-01-01 01:00:00.000000000 +0100
+++ new/libosmocore/tests/bitvec/bitvec_test.ok 2016-01-22 19:08:39.000000000 +0100
@@ -0,0 +1,2 @@
+=== start test_byte_ops ===
+=== end test_byte_ops ===
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/gprs/gprs_test.c new/libosmocore/tests/gprs/gprs_test.c
--- old/libosmocore/tests/gprs/gprs_test.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libosmocore/tests/gprs/gprs_test.c 2016-01-22 19:08:39.000000000 +0100
@@ -0,0 +1,122 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include <osmocom/core/application.h>
+#include <osmocom/core/utils.h>
+#include <osmocom/core/logging.h>
+#include <osmocom/gsm/apn.h>
+
+static void apn_round_trip(const uint8_t *input, size_t len, const char *wanted_output)
+{
+ char output[len ? len : 1];
+ uint8_t encoded[len + 50];
+ char *out_str;
+ int enc_len;
+
+ /* decode and verify we have what we want */
+ out_str = osmo_apn_to_str(output, input, len);
+ OSMO_ASSERT(out_str);
+ OSMO_ASSERT(out_str == &output[0]);
+ OSMO_ASSERT(strlen(out_str) == strlen(wanted_output));
+ OSMO_ASSERT(strcmp(out_str, wanted_output) == 0);
+
+ /* encode and verify it */
+ if (len != 0) {
+ enc_len = osmo_apn_from_str(encoded, ARRAY_SIZE(encoded), wanted_output);
+ OSMO_ASSERT(enc_len == len);
+ OSMO_ASSERT(memcmp(encoded, input, enc_len) == 0);
+ } else {
+ enc_len = osmo_apn_from_str(encoded, 0, wanted_output);
+ OSMO_ASSERT(enc_len == -1);
+ }
+}
+
+static void test_gsm_03_03_apn(void)
+{
+
+ {
+ /* test invalid writes */
+ const uint8_t ref[10] = { 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF };
+ uint8_t output[10];
+ int enc_len;
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 0, "");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref, output, ARRAY_SIZE(ref)) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 0, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref, output, ARRAY_SIZE(ref)) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 1, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref + 1, output + 1, ARRAY_SIZE(ref) - 1) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 2, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref + 2, output + 2, ARRAY_SIZE(ref) - 2) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 3, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref + 3, output + 3, ARRAY_SIZE(ref) - 3) == 0);
+ }
+
+ {
+ /* single empty label */
+ uint8_t input[] = { 0x0 };
+ const char *output = "";
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ }
+
+ {
+ /* no label */
+ uint8_t input[] = { };
+ const char *output = "";
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ }
+
+ {
+ /* single label with A */
+ uint8_t input[] = { 0x1, 65 };
+ const char *output = "A";
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ OSMO_ASSERT(osmo_apn_to_str(NULL, input, ARRAY_SIZE(input) - 1) == NULL);
+ }
+
+ {
+ uint8_t input[] = { 0x3, 65, 66, 67, 0x2, 90, 122 };
+ const char *output = "ABC.Zz";
+ char tmp[strlen(output) + 1];
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 1) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 2) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 4) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 5) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 6) == NULL);
+ }
+}
+
+const struct log_info_cat default_categories[] = {
+};
+
+static struct log_info info = {
+ .cat = default_categories,
+ .num_cat = ARRAY_SIZE(default_categories),
+};
+
+int main(int argc, char **argv)
+{
+ osmo_init_logging(&info);
+
+ test_gsm_03_03_apn();
+
+ printf("Done.\n");
+ return EXIT_SUCCESS;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/gprs/gprs_test.ok new/libosmocore/tests/gprs/gprs_test.ok
--- old/libosmocore/tests/gprs/gprs_test.ok 1970-01-01 01:00:00.000000000 +0100
+++ new/libosmocore/tests/gprs/gprs_test.ok 2016-01-22 19:08:39.000000000 +0100
@@ -0,0 +1 @@
+Done.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/kasumi/kasumi_test.c new/libosmocore/tests/kasumi/kasumi_test.c
--- old/libosmocore/tests/kasumi/kasumi_test.c 2015-02-18 22:28:15.000000000 +0100
+++ new/libosmocore/tests/kasumi/kasumi_test.c 2016-01-22 19:08:39.000000000 +0100
@@ -10,7 +10,7 @@
/* Test vectors are taken from TS 135 202 */
-inline int _compare_mem(uint8_t * x, uint8_t * y, size_t len)
+inline static int _compare_mem(uint8_t * x, uint8_t * y, size_t len)
{
if (0 != memcmp(x, y, len)) {
printf ("X: %s\t", osmo_hexdump_nospc(x, len));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/msgb/msgb_test.c new/libosmocore/tests/msgb/msgb_test.c
--- old/libosmocore/tests/msgb/msgb_test.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libosmocore/tests/msgb/msgb_test.c 2016-01-22 19:08:39.000000000 +0100
@@ -0,0 +1,294 @@
+/*
+ * (C) 2014 by On-Waves
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <osmocom/core/application.h>
+#include <osmocom/core/logging.h>
+#include <osmocom/core/utils.h>
+#include <osmocom/core/msgb.h>
+#include <setjmp.h>
+
+#include <errno.h>
+
+#include <string.h>
+
+#define CHECK_RC(rc) \
+ if (rc != 0) { \
+ printf("Operation failed rc=%d on %s:%d\n", rc, __FILE__, __LINE__); \
+ abort(); \
+ }
+
+static jmp_buf jmp_env;
+static int jmp_env_valid = 0;
+static void osmo_panic_raise(const char *fmt, va_list args)
+{
+ /*
+ * The args can include pointer values which are not suitable for
+ * regression testing. So just write the (hopefully constant) format
+ * string to stdout and write the full message to stderr.
+ */
+ printf("%s", fmt);
+ vfprintf(stderr, fmt, args);
+ if (!jmp_env_valid)
+ abort();
+ longjmp(jmp_env, 1);
+}
+
+/* Note that this does not nest */
+#define OSMO_PANIC_TRY(pE) (osmo_panic_try(pE, setjmp(jmp_env)))
+
+static int osmo_panic_try(volatile int *exception, int setjmp_result)
+{
+ jmp_env_valid = setjmp_result == 0;
+ *exception = setjmp_result;
+
+ if (setjmp_result)
+ fprintf(stderr, "Exception caught: %d\n", setjmp_result);
+
+ return *exception == 0;
+}
+
+static void test_msgb_api()
+{
+ struct msgb *msg = msgb_alloc_headroom(4096, 128, "data");
+ unsigned char *cptr = NULL;
+ int rc;
+
+ printf("Testing the msgb API\n");
+
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ cptr = msg->l1h = msgb_put(msg, 4);
+ printf("put(4) -> data%+d\n", cptr - msg->data);
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ cptr = msg->l2h = msgb_put(msg, 4);
+ printf("put(4) -> data%+d\n", cptr - msg->data);
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ cptr = msg->l3h = msgb_put(msg, 4);
+ printf("put(4) -> data%+d\n", cptr - msg->data);
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ cptr = msg->l4h = msgb_put(msg, 4);
+ printf("put(4) -> data%+d\n", cptr - msg->data);
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ OSMO_ASSERT(msgb_length(msg) == 16);
+ cptr = msgb_push(msg, 4);
+ printf("push(4) -> data%+d\n", cptr - msg->data);
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ OSMO_ASSERT(msgb_length(msg) == 20);
+ rc = msgb_trim(msg, 16);
+ printf("trim(16) -> %d\n", rc);
+ CHECK_RC(rc);
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_length(msg) == 16);
+
+ cptr = msgb_get(msg, 4);
+ printf("get(4) -> data%+d\n", cptr - msg->data);
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ OSMO_ASSERT(msgb_test_invariant(msg));
+ OSMO_ASSERT(msgb_length(msg) == 12);
+
+ printf("Test msgb_hexdump\n");
+ msg->l1h = msg->head;
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ msg->l3h = msg->data;
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+ msg->l3h = msg->head - 1;
+ printf("Buffer: %s\n", msgb_hexdump(msg));
+
+ msgb_free(msg);
+}
+
+static void test_msgb_api_errors()
+{
+ struct msgb *msg = msgb_alloc_headroom(4096, 128, "data");
+ volatile int e = 0;
+ int rc;
+
+ printf("Testing the msgb API error handling\n");
+
+ osmo_set_panic_handler(osmo_panic_raise);
+
+ if (OSMO_PANIC_TRY(&e))
+ msgb_trim(msg, -1);
+ OSMO_ASSERT(e != 0);
+
+ rc = msgb_trim(msg, 4096 + 500);
+ OSMO_ASSERT(rc == -1);
+
+ msgb_free(msg);
+ osmo_set_panic_handler(NULL);
+}
+
+static void test_msgb_copy()
+{
+ struct msgb *msg = msgb_alloc_headroom(4096, 128, "data");
+ struct msgb *msg2;
+ int i;
+
+ printf("Testing msgb_copy\n");
+
+ msg->l1h = msgb_put(msg, 20);
+ msg->l2h = msgb_put(msg, 20);
+ msg->l3h = msgb_put(msg, 20);
+ msg->l4h = msgb_put(msg, 20);
+
+ OSMO_ASSERT(msgb_length(msg) == 80);
+ for (i = 0; i < msgb_length(msg); i++)
+ msg->data[i] = (uint8_t)i;
+
+ msg2 = msgb_copy(msg, "copy");
+
+ OSMO_ASSERT(msgb_length(msg) == msgb_length(msg2));
+ OSMO_ASSERT(msgb_l1len(msg) == msgb_l1len(msg2));
+ OSMO_ASSERT(msgb_l2len(msg) == msgb_l2len(msg2));
+ OSMO_ASSERT(msgb_l3len(msg) == msgb_l3len(msg2));
+ OSMO_ASSERT(msg->tail - msg->l4h == msg2->tail - msg2->l4h);
+
+ for (i = 0; i < msgb_length(msg2); i++)
+ OSMO_ASSERT(msg2->data[i] == (uint8_t)i);
+
+ printf("Src: %s\n", msgb_hexdump(msg));
+ printf("Dst: %s\n", msgb_hexdump(msg));
+
+ msgb_free(msg);
+ msgb_free(msg2);
+}
+
+static void test_msgb_resize_area()
+{
+ struct msgb *msg = msgb_alloc_headroom(4096, 128, "data");
+ int rc;
+ volatile int e = 0;
+ int i, saved_i;
+ uint8_t *cptr, *old_l3h;
+
+ osmo_set_panic_handler(osmo_panic_raise);
+
+ rc = msgb_resize_area(msg, msg->data, 0, 0);
+ OSMO_ASSERT(rc >= 0);
+
+ if (OSMO_PANIC_TRY(&e))
+ msgb_resize_area(msg, NULL, 0, 0);
+ OSMO_ASSERT(e != 0);
+
+ if (OSMO_PANIC_TRY(&e))
+ msgb_resize_area(msg, NULL, (int)msg->data, 0);
+ OSMO_ASSERT(e != 0);
+
+ if (OSMO_PANIC_TRY(&e))
+ msgb_resize_area(msg, msg->data, 20, 0);
+ OSMO_ASSERT(e != 0);
+
+ if (OSMO_PANIC_TRY(&e))
+ msgb_resize_area(msg, msg->data, -1, 0);
+ OSMO_ASSERT(e != 0);
+
+ if (OSMO_PANIC_TRY(&e))
+ msgb_resize_area(msg, msg->data, 0, -1);
+ OSMO_ASSERT(e != 0);
+
+ printf("Testing msgb_resize_area\n");
+
+ msg->l1h = msgb_put(msg, 20);
+ msg->l2h = msgb_put(msg, 20);
+ msg->l3h = msgb_put(msg, 20);
+ msg->l4h = msgb_put(msg, 20);
+
+ for (i = 0; i < msgb_length(msg); i++)
+ msg->data[i] = (uint8_t)i;
+
+ printf("Original: %s\n", msgb_hexdump(msg));
+
+ /* Extend area */
+ saved_i = msg->l3h[0];
+ old_l3h = msg->l3h;
+
+ rc = msgb_resize_area(msg, msg->l2h, 20, 20 + 30);
+
+ /* Reset the undefined part to allow printing the buffer to stdout */
+ memset(old_l3h, 0, msg->l3h - old_l3h);
+
+ printf("Extended: %s\n", msgb_hexdump(msg));
+
+ OSMO_ASSERT(rc >= 0);
+ OSMO_ASSERT(msgb_length(msg) == 80 + 30);
+ OSMO_ASSERT(msgb_l1len(msg) == 80 + 30);
+ OSMO_ASSERT(msgb_l2len(msg) == 60 + 30);
+ OSMO_ASSERT(msgb_l3len(msg) == 40);
+ OSMO_ASSERT(msg->tail - msg->l4h == 20);
+
+ for (cptr = msgb_data(msg), i = 0; cptr < old_l3h; cptr++, i++)
+ OSMO_ASSERT(*cptr == (uint8_t)i);
+
+ for (cptr = msg->l3h, i = saved_i; cptr < msg->tail; cptr++, i++)
+ OSMO_ASSERT(*cptr == (uint8_t)i);
+
+ rc = msgb_resize_area(msg, msg->l2h, 50, 8000);
+ OSMO_ASSERT(rc == -1);
+
+ /* Shrink area */
+ saved_i = msg->l4h[0];
+ OSMO_ASSERT(saved_i == (uint8_t)(msg->l4h[-1] + 1));
+
+ rc = msgb_resize_area(msg, msg->l3h, 20, 10);
+
+ printf("Shrinked: %s\n", msgb_hexdump(msg));
+
+ OSMO_ASSERT(rc >= 0);
+ OSMO_ASSERT(msgb_length(msg) == 80 + 30 - 10);
+ OSMO_ASSERT(msgb_l1len(msg) == 80 + 30 - 10);
+ OSMO_ASSERT(msgb_l2len(msg) == 60 + 30 - 10);
+ OSMO_ASSERT(msgb_l3len(msg) == 40 - 10);
+ OSMO_ASSERT(msg->tail - msg->l4h == 20);
+
+ OSMO_ASSERT(msg->l4h[0] != msg->l4h[-1] - 1);
+
+ for (cptr = msg->l4h, i = saved_i; cptr < msg->tail; cptr++, i++)
+ OSMO_ASSERT(*cptr == (uint8_t)i);
+
+ rc = msgb_resize_area(msg, msg->l2h, 50, 8000);
+ OSMO_ASSERT(rc == -1);
+
+ msgb_free(msg);
+
+ osmo_set_panic_handler(NULL);
+}
+
+static struct log_info info = {};
+
+int main(int argc, char **argv)
+{
+ osmo_init_logging(&info);
+
+ test_msgb_api();
+ test_msgb_api_errors();
+ test_msgb_copy();
+ test_msgb_resize_area();
+
+ printf("Success.\n");
+
+ return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/msgb/msgb_test.ok new/libosmocore/tests/msgb/msgb_test.ok
--- old/libosmocore/tests/msgb/msgb_test.ok 1970-01-01 01:00:00.000000000 +0100
+++ new/libosmocore/tests/msgb/msgb_test.ok 2016-01-22 19:08:39.000000000 +0100
@@ -0,0 +1,35 @@
+Testing the msgb API
+Buffer:
+put(4) -> data+0
+Buffer: [L1]> 00 00 00 00
+put(4) -> data+4
+Buffer: [L1]> 00 00 00 00 [L2]> 00 00 00 00
+put(4) -> data+8
+Buffer: [L1]> 00 00 00 00 [L2]> 00 00 00 00 [L3]> 00 00 00 00
+put(4) -> data+12
+Buffer: [L1]> 00 00 00 00 [L2]> 00 00 00 00 [L3]> 00 00 00 00 [L4]> 00 00 00 00
+push(4) -> data+0
+Buffer: 00 00 00 00 [L1]> 00 00 00 00 [L2]> 00 00 00 00 [L3]> 00 00 00 00 [L4]> 00 00 00 00
+trim(16) -> 0
+Buffer: 00 00 00 00 [L1]> 00 00 00 00 [L2]> 00 00 00 00 [L3]> 00 00 00 00 [L4]>
+get(4) -> data+12
+Buffer: 00 00 00 00 [L1]> 00 00 00 00 [L2]> 00 00 00 00 [L3]> (L4=tail+4)
+Test msgb_hexdump
+Buffer: (L1=data-124) 00 00 00 00 00 00 00 00 [L2]> 00 00 00 00 [L3]> (L4=tail+4)
+Buffer: (L1=data-124) 00 00 00 00 00 00 00 00 [L2]> (L3+8) 00 00 00 00 (L4=tail+4)
+Buffer: (L1=data-124) 00 00 00 00 00 00 00 00 [L2]> 00 00 00 00 (L3 out of range) (L4=tail+4)
+Testing the msgb API error handling
+msgb(%p): Negative length is not allowed
+Testing msgb_copy
+Src: [L1]> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 [L2]> 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 [L3]> 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b [L4]> 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+Dst: [L1]> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 [L2]> 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 [L3]> 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b [L4]> 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+msgb(%p): Sub area is not fully contained in the msg data
+msgb(%p): Sub area is not fully contained in the msg data
+msgb(%p): Sub area is not fully contained in the msg data
+msgb(%p): Negative sizes are not allowed
+msgb(%p): Negative sizes are not allowed
+Testing msgb_resize_area
+Original: [L1]> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 [L2]> 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 [L3]> 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b [L4]> 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+Extended: [L1]> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 [L2]> 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [L3]> 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b [L4]> 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+Shrinked: [L1]> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 [L2]> 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [L3]> 28 29 2a 2b 2c 2d 2e 2f 30 31 [L4]> 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+Success.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosmocore/tests/testsuite.at new/libosmocore/tests/testsuite.at
--- old/libosmocore/tests/testsuite.at 2015-12-23 17:57:20.000000000 +0100
+++ new/libosmocore/tests/testsuite.at 2016-01-22 19:08:39.000000000 +0100
@@ -21,12 +21,24 @@
AT_CHECK([$abs_top_builddir/tests/bits/bitrev_test], [0], [expout])
AT_CLEANUP
+AT_SETUP([bitvec])
+AT_KEYWORDS([bitvec])
+cat $abs_srcdir/bitvec/bitvec_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/bitvec/bitvec_test], [0], [expout], [ignore])
+AT_CLEANUP
+
AT_SETUP([conv])
AT_KEYWORDS([conv])
cat $abs_srcdir/conv/conv_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/conv/conv_test], [0], [expout])
AT_CLEANUP
+AT_SETUP([msgb])
+AT_KEYWORDS([msgb])
+cat $abs_srcdir/msgb/msgb_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/msgb/msgb_test], [0], [expout], [ignore])
+AT_CLEANUP
+
if ENABLE_MSGFILE
AT_SETUP([msgfile])
AT_KEYWORDS([msgfile])
@@ -84,6 +96,12 @@
AT_CHECK([$abs_top_builddir/tests/gsm0408/gsm0408_test], [0], [expout], [ignore])
AT_CLEANUP
+AT_SETUP([gprs])
+AT_KEYWORDS([gprs])
+cat $abs_srcdir/gprs/gprs_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/gprs/gprs_test], [0], [expout], [ignore])
+AT_CLEANUP
+
AT_SETUP([logging])
AT_KEYWORDS([logging])
cat $abs_srcdir/logging/logging_test.ok > expout
++++++ test.diff ++++++
resolve this compile warning hinting about bad code:
msgb/msgb_test.c:198:31: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
msgb_resize_area(msg, NULL, (int)msg->data, 0);
---
tests/msgb/msgb_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libosmocore/tests/msgb/msgb_test.c
===================================================================
--- libosmocore.orig/tests/msgb/msgb_test.c
+++ libosmocore/tests/msgb/msgb_test.c
@@ -195,7 +195,7 @@ static void test_msgb_resize_area()
OSMO_ASSERT(e != 0);
if (OSMO_PANIC_TRY(&e))
- msgb_resize_area(msg, NULL, (int)msg->data, 0);
+ msgb_resize_area(msg, NULL, (intptr_t)msg->data, 0);
OSMO_ASSERT(e != 0);
if (OSMO_PANIC_TRY(&e))
1
0
Hello community,
here is the log from the commit of package syncthing-gtk for openSUSE:Factory checked in at 2016-01-26 10:15:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/syncthing-gtk (Old)
and /work/SRC/openSUSE:Factory/.syncthing-gtk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "syncthing-gtk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/syncthing-gtk/syncthing-gtk.changes 2015-11-08 11:26:52.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.syncthing-gtk.new/syncthing-gtk.changes 2016-01-26 10:15:02.000000000 +0100
@@ -1,0 +2,23 @@
+Fri Jan 22 17:07:22 UTC 2016 - sor.alexei(a)meowr.ru
+
+- Update to 0.8.2:
+ * Fix about window not showing in some languages.
+ * Support timestamps with GTM+0 or without timezone.
+ * And two random, mostly harmless error messages.
+
+-------------------------------------------------------------------
+Mon Dec 14 17:54:15 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 0.8.1 (changes since 0.8):
+ * Fix Syncthing version of remote node not shown.
+ * Missing definition causing UI problems and Appreport madness
+ on Ubuntu.
+ * Update syncthing-inotify version to 0.6.7.
+ * Add support for download placeholders in Nautilus plugin.
+ * Add localisation support with translations for Czech, German,
+ and Slovak languages.
+- Add syncthing-gtk-lang package.
+- Create {caja,nemo,nautilus}-extension-syncthing-gtk packages with
+ Caja, Nemo, and Nautilus plugins.
+
+-------------------------------------------------------------------
Old:
----
syncthing-gtk-0.8.tar.gz
New:
----
syncthing-gtk-0.8.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ syncthing-gtk.spec ++++++
--- /var/tmp/diff_new_pack.vZx4kA/_old 2016-01-26 10:15:03.000000000 +0100
+++ /var/tmp/diff_new_pack.vZx4kA/_new 2016-01-26 10:15:03.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package syncthing-gtk
#
-# 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
@@ -19,7 +19,7 @@
%global __requires_exclude typelib\\((Caja|Nautilus|Nemo)\\)
%define _name syncthing_gtk
Name: syncthing-gtk
-Version: 0.8
+Version: 0.8.2
Release: 0
Summary: Syncthing Gtk-based graphical interface
License: GPL-2.0+
@@ -27,22 +27,21 @@
Url: https://github.com/syncthing/syncthing-gtk
Source: https://github.com/syncthing/%{name}/archive/v%{version}.tar.gz#/%{name}-%{…
BuildRequires: fdupes
+BuildRequires: gobject-introspection-devel
BuildRequires: hicolor-icon-theme
BuildRequires: python-devel
BuildRequires: python-setuptools
+BuildRequires: syncthing >= 0.12
BuildRequires: update-desktop-files
-BuildRequires: pkgconfig(gobject-introspection-1.0)
Requires: psmisc
Requires: python-dateutil
Requires: python-gobject
Requires: python-gobject-cairo
Requires: syncthing >= 0.12
+Recommends: %{name}-lang
Recommends: libnotify
Recommends: librsvg
Recommends: python-pyinotify
-Suggests: python-caja
-Suggests: python-nautilus
-Suggests: python-nemo
BuildArch: noarch
%description
@@ -60,10 +59,56 @@
* First run wizard for initial configuration.
* Running Syncthing daemon in background.
* Half-automatic setup for new nodes and repositories.
- * Filesystem watching and instant synchronization using inotify.
- * Caja, Nautilus, and Nemo file managers integration.
+ * Filesystem watching and instant synchronisation using inotify.
+ * Caja, Nemo, and Nautilus file managers integration.
* Desktop notifications.
+%lang_package
+
+%package -n caja-extension-syncthing-gtk
+Summary: Syncthing-GTK+ client integrated into Caja
+Group: System/GUI/Other
+Requires: caja
+Requires: python-caja
+Requires: syncthing-gtk
+Supplements: packageand(%{name}:caja)
+
+%description -n caja-extension-syncthing-gtk
+Graphical user interface with notification area icon for Syncthing
+based on GTK+ and Python.
+
+This package integrates Syncthing-GTK+ seamlessly into Caja.
+
+%if 0%{?suse_version} > 1320
+%package -n nemo-extension-syncthing-gtk
+Summary: Syncthing-GTK+ client integrated into Nemo
+Group: System/GUI/Other
+Requires: nemo
+Requires: python-nemo
+Requires: syncthing-gtk
+Supplements: packageand(%{name}:nemo)
+
+%description -n nemo-extension-syncthing-gtk
+Graphical user interface with notification area icon for Syncthing
+based on GTK+ and Python.
+
+This package integrates Syncthing-GTK+ seamlessly into Nemo.
+%endif
+
+%package -n nautilus-extension-syncthing-gtk
+Summary: Syncthing-GTK+ client integrated into Nautilus
+Group: System/GUI/Other
+Requires: nautilus
+Requires: python-nautilus
+Requires: syncthing-gtk
+Supplements: packageand(%{name}:nautilus)
+
+%description -n nautilus-extension-syncthing-gtk
+Graphical user interface with notification area icon for Syncthing
+based on GTK+ and Python.
+
+This package integrates Syncthing-GTK+ seamlessly into Nautilus.
+
%prep
%setup -q
sed -i 's/^\(Exec=\).*$/\1%{name}/' %{name}.desktop
@@ -74,6 +119,15 @@
%install
python2 setup.py install --root=%{buildroot}
+install -Dm 0644 scripts/syncthing-plugin-caja.py \
+ %{buildroot}%{_datadir}/caja-python/extensions/syncthing-gtk.py
+%if 0%{?suse_version} > 1320
+install -Dm 0644 scripts/syncthing-plugin-nemo.py \
+ %{buildroot}%{_datadir}/nemo-python/extensions/syncthing-gtk.py
+%endif
+install -Dm 0644 scripts/syncthing-plugin-nautilus.py \
+ %{buildroot}%{_datadir}/nautilus-python/extensions/syncthing-gtk.py
+
# Add execution bit to scripts with shebangs and remove from others.
find %{buildroot} -type f -name "*.py" | while read py; do
if [[ "$(head -c2 "$py"; echo)" == "#!" ]]; then
@@ -84,7 +138,8 @@
done
%suse_update_desktop_file -r %{name} Network FileTransfer
-%fdupes %{buildroot}%{_datadir}
+%find_lang %{name}
+%fdupes %{buildroot}%{_datadir}/
%post
%desktop_database_post
@@ -107,4 +162,30 @@
%{_datadir}/icons/hicolor/*/emblems/emblem-*.png
%{_datadir}/pixmaps/*.png
+%files lang -f %{name}.lang
+%defattr(-,root,root)
+
+%files -n caja-extension-syncthing-gtk
+%defattr(-,root,root)
+%doc LICENSE README.md
+%dir %{_datadir}/caja-python/
+%dir %{_datadir}/caja-python/extensions/
+%{_datadir}/caja-python/extensions/syncthing-gtk.py
+
+%if 0%{?suse_version} > 1320
+%files -n nemo-extension-syncthing-gtk
+%defattr(-,root,root)
+%doc LICENSE README.md
+%dir %{_datadir}/nemo-python/
+%dir %{_datadir}/nemo-python/extensions/
+%{_datadir}/nemo-python/extensions/syncthing-gtk.py
+%endif
+
+%files -n nautilus-extension-syncthing-gtk
+%defattr(-,root,root)
+%doc LICENSE README.md
+%dir %{_datadir}/nautilus-python/
+%dir %{_datadir}/nautilus-python/extensions/
+%{_datadir}/nautilus-python/extensions/syncthing-gtk.py
+
%changelog
++++++ syncthing-gtk-0.8.tar.gz -> syncthing-gtk-0.8.2.tar.gz ++++++
++++ 10744 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package golang-packaging for openSUSE:Factory checked in at 2016-01-26 10:15:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-packaging (Old)
and /work/SRC/openSUSE:Factory/.golang-packaging.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "golang-packaging"
Changes:
--------
--- /work/SRC/openSUSE:Factory/golang-packaging/golang-packaging.changes 2016-01-20 09:55:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.golang-packaging.new/golang-packaging.changes 2016-01-26 10:15:01.000000000 +0100
@@ -1,0 +2,12 @@
+Fri Jan 22 16:15:14 UTC 2016 - i(a)marguerite.su
+
+- update version 14.5
+ * fix a typo that prevent golang.req from running (fix #10)
+
+-------------------------------------------------------------------
+Fri Jan 22 07:23:07 UTC 2016 - i(a)marguerite.su
+
+- update version 14.4
+ * fix #5 on golang.req
+
+-------------------------------------------------------------------
Old:
----
golang-packaging-14.3.tar.gz
New:
----
golang-packaging-14.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ golang-packaging.spec ++++++
--- /var/tmp/diff_new_pack.s0Y2Vi/_old 2016-01-26 10:15:02.000000000 +0100
+++ /var/tmp/diff_new_pack.s0Y2Vi/_new 2016-01-26 10:15:02.000000000 +0100
@@ -17,7 +17,7 @@
Name: golang-packaging
-Version: 14.3
+Version: 14.5
Release: 0
Summary: A toolchain to help packaging golang
License: GPL-3.0
++++++ golang-packaging-14.3.tar.gz -> golang-packaging-14.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-packaging-14.3/golang.attr new/golang-packaging-14.5/golang.attr
--- old/golang-packaging-14.3/golang.attr 2016-01-19 11:33:28.000000000 +0100
+++ new/golang-packaging-14.5/golang.attr 2016-01-22 17:12:34.000000000 +0100
@@ -1,3 +1,3 @@
-%__golang_requires %{_perfix}/lib/rpm/golang.req
+%__golang_requires %{_prefix}/lib/rpm/golang.req
%__golang_provides %{_prefix}/lib/rpm/golang.prov
%__golang_path ^(%{_prefix}/lib(64)?/go/contrib/pkg/linux_(386|amd64|ppc.*|arm.*)/.*\\.a|%{_bindir}/.*)$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-packaging-14.3/golang.req new/golang-packaging-14.5/golang.req
--- old/golang-packaging-14.3/golang.req 2016-01-19 11:33:28.000000000 +0100
+++ new/golang-packaging-14.5/golang.req 2016-01-22 17:12:34.000000000 +0100
@@ -2,14 +2,20 @@
require '/usr/lib/rpm/golang/rpmsysinfo.rb'
include RpmSysinfo
+buildroot = RpmSysinfo.get_buildroot
+contribdir = RpmSysinfo.get_go_contribdir
importpath = RpmSysinfo.get_go_importpath
# read stdin for filelist rpm feeds us for a (sub) package
filelist = []
ARGF.each do |l|
# if line has "*.a"
- # buildroot + go_contribdir + golang.org/x/text/collate/colltab.a
- filelist << l.strip! if ( l.index(/\.a\n$/) && ! l.index(/test|example/) )
+ # buildroot + go_contribdir + github.com/stretchr/testify/assert.a
+ if l.index(".a\n")
+ unless l.gsub(buildroot + contribdir + '/' + importpath,'').index(/test|example/)
+ filelist << l.strip!
+ end
+ end
end
requires = []
1
0
Hello community,
here is the log from the commit of package libfwevt for openSUSE:Factory checked in at 2016-01-26 10:14:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libfwevt (Old)
and /work/SRC/openSUSE:Factory/.libfwevt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfwevt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libfwevt/libfwevt.changes 2015-01-30 15:00:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libfwevt.new/libfwevt.changes 2016-01-26 10:15:00.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Jan 20 22:26:33 UTC 2016 - Greg.Freemyer(a)gmail.com
+
+- update to v0~20160103
+ * 2016 update
+ * Worked on format support
+
+-------------------------------------------------------------------
Old:
----
libfwevt-experimental-20150104.tar.gz
New:
----
libfwevt-experimental-20160103.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libfwevt.spec ++++++
--- /var/tmp/diff_new_pack.KTY0Y8/_old 2016-01-26 10:15:01.000000000 +0100
+++ /var/tmp/diff_new_pack.KTY0Y8/_new 2016-01-26 10:15:01.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libfwevt
#
-# Copyright (c) 2014 SUSE LINUX Products 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 @@
%define lname libfwevt1
-%define timestamp 20150104
+%define timestamp 20160103
Name: libfwevt
Version: 0~%{timestamp}
Release: 0
++++++ libfwevt-experimental-20150104.tar.gz -> libfwevt-experimental-20160103.tar.gz ++++++
++++ 15659 lines of diff (skipped)
1
0