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
September 2015
- 1 participants
- 1128 discussions
Hello community,
here is the log from the commit of package python3-tables for openSUSE:Factory checked in at 2015-09-27 08:40:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-tables (Old)
and /work/SRC/openSUSE:Factory/.python3-tables.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-tables"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-tables/python3-tables.changes 2015-08-11 08:26:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-tables.new/python3-tables.changes 2015-09-27 08:40:01.000000000 +0200
@@ -1,0 +2,16 @@
+Sun Sep 27 01:24:15 UTC 2015 - arun(a)gmx.de
+
+- update to version 3.2.2:
+ * Fix AssertionError in Row.__init_loop. See gh-477.
+ * Fix issues with Cython 0.23. See gh-481.
+ * Only run tables.tests.test_basics.UnicodeFilename if the
+ filesystem encoding is utf-8. Closes gh-485.
+ * Fix missing missing PyErr_Clear. See gh-#486.
+ * Fix the C type of some numpy attributes. See gh-494.
+ * Cast selection indices to integer. See gh-496.
+ * Fix indexesextension._keysort_string. Closes gh-497 and gh-498.
+
+- changes from version 3.2.1.1:
+ * Fix permission on distributed source distribution
+
+-------------------------------------------------------------------
Old:
----
tables-3.2.1.tar.gz
New:
----
tables-3.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-tables.spec ++++++
--- /var/tmp/diff_new_pack.R2YGmD/_old 2015-09-27 08:40:03.000000000 +0200
+++ /var/tmp/diff_new_pack.R2YGmD/_new 2015-09-27 08:40:03.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-tables
-Version: 3.2.1
+Version: 3.2.2
Release: 0
Summary: Hierarchical datasets for Python
License: BSD-3-Clause
++++++ tables-3.2.1.tar.gz -> tables-3.2.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/python3-tables/tables-3.2.1.tar.gz /work/SRC/openSUSE:Factory/.python3-tables.new/tables-3.2.2.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package python3-numexpr for openSUSE:Factory checked in at 2015-09-27 08:40:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-numexpr (Old)
and /work/SRC/openSUSE:Factory/.python3-numexpr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-numexpr"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-numexpr/python3-numexpr.changes 2015-05-02 21:43:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-numexpr.new/python3-numexpr.changes 2015-09-27 08:40:00.000000000 +0200
@@ -1,0 +2,13 @@
+Sun Sep 27 01:01:19 UTC 2015 - arun(a)gmx.de
+
+- update to version 2.4.4:
+ * Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is
+ not set. Fixes #161. (PR #175, Stefan Erb).
+ * Added support for AppVeyor (PR #178 Andrea Bedini)
+ * Fix to allow numexpr to be imported after eventlet.monkey_patch(),
+ as suggested in #118 (PR #180 Ben Moran).
+ * Fix harmless data race that triggers false positives in
+ ThreadSanitizer. (PR #179, Clement Courbet).
+ * Fixed some string tests on Python 3 (PR #182, Antonio Valentino).
+
+-------------------------------------------------------------------
Old:
----
numexpr-2.4.3.tar.gz
New:
----
numexpr-2.4.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-numexpr.spec ++++++
--- /var/tmp/diff_new_pack.MrSWU1/_old 2015-09-27 08:40:01.000000000 +0200
+++ /var/tmp/diff_new_pack.MrSWU1/_new 2015-09-27 08:40:01.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-numexpr
-Version: 2.4.3
+Version: 2.4.4
Release: 0
Url: https://github.com/pydata/numexpr
Summary: Fast numerical expression evaluator for NumPy
++++++ numexpr-2.4.3.tar.gz -> numexpr-2.4.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/ANNOUNCE.rst new/numexpr-2.4.4/ANNOUNCE.rst
--- old/numexpr-2.4.3/ANNOUNCE.rst 2015-04-27 17:45:42.000000000 +0200
+++ new/numexpr-2.4.4/ANNOUNCE.rst 2015-09-14 17:54:37.000000000 +0200
@@ -1,5 +1,5 @@
=========================
- Announcing Numexpr 2.4.3
+ Announcing Numexpr 2.4.4
=========================
Numexpr is a fast numerical expression evaluator for NumPy. With it,
@@ -21,13 +21,15 @@
What's new
==========
-This is a maintenance release to cope with an old bug affecting
-comparisons with empty strings. Fixes #121 and PyTables #184.
+This is a maintenance release which contains several bug fixes, like
+better testing on Python3 platform and some harmless data race. Among
+the enhancements, AppVeyor support is here and OMP_NUM_THREADS is
+honored as a fallback in case NUMEXPR_NUM_THREADS is not set.
In case you want to know more in detail what has changed in this
version, see:
-https://github.com/pydata/numexpr/wiki/Release-Notes
+https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst
or have a look at RELEASE_NOTES.txt in the tarball.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/AUTHORS.txt new/numexpr-2.4.4/AUTHORS.txt
--- old/numexpr-2.4.3/AUTHORS.txt 2013-12-01 00:32:07.000000000 +0100
+++ new/numexpr-2.4.4/AUTHORS.txt 2015-09-14 17:18:15.000000000 +0200
@@ -18,3 +18,5 @@
enhancements.
Antonio Valentino contributed the port to Python 3.
+
+Google Inc. contributed bug fixes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/PKG-INFO new/numexpr-2.4.4/PKG-INFO
--- old/numexpr-2.4.3/PKG-INFO 2015-04-27 17:47:24.000000000 +0200
+++ new/numexpr-2.4.4/PKG-INFO 2015-09-14 18:06:33.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: numexpr
-Version: 2.4.3
+Version: 2.4.4
Summary: Fast numerical expression evaluator for NumPy
Home-page: https://github.com/pydata/numexpr
Author: David M. Cooke, Francesc Alted and others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/README.rst new/numexpr-2.4.4/README.rst
--- old/numexpr-2.4.3/README.rst 2015-04-14 14:29:26.000000000 +0200
+++ new/numexpr-2.4.4/README.rst 2015-09-14 17:47:39.000000000 +0200
@@ -1,3 +1,24 @@
+=====================================================
+Numexpr: a fast Python evaluator of NumPy expressions
+=====================================================
+
+:Author: Francesc Alted
+:Contact: faltet(a)gmail.com
+:URL: https://github.com/pydata/numexpr
+:Travis CI: |travis|
+:Appveyor: |appveyor|
+:PyPi: |version| |pypi|
+
+.. |travis| image:: https://travis-ci.org/pydata/numexpr.png?branch=master
+ :target: https://travis-ci.org/pydata/numexpr
+.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/FrancescAlted/numexpr
+ :target: https://travis-ci.org/pydata/numexpr
+.. |pypi| image:: https://pypip.in/d/numexpr/badge.png
+ :target: https://pypi.python.org/pypi/numexpr
+.. |version| image:: https://pypip.in/v/numexpr/badge.png
+ :target: https://pypi.python.org/pypi/numexpr
+
+
What it is Numexpr?
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/RELEASE_NOTES.rst new/numexpr-2.4.4/RELEASE_NOTES.rst
--- old/numexpr-2.4.3/RELEASE_NOTES.rst 2015-04-27 17:44:51.000000000 +0200
+++ new/numexpr-2.4.4/RELEASE_NOTES.rst 2015-09-14 17:55:33.000000000 +0200
@@ -2,6 +2,23 @@
Release notes for Numexpr 2.4 series
======================================
+Changes from 2.4.3 to 2.4.4
+===========================
+
+* Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is not
+ set. Fixes #161. (PR #175, Stefan Erb).
+
+* Added support for AppVeyor (PR #178 Andrea Bedini)
+
+* Fix to allow numexpr to be imported after eventlet.monkey_patch(),
+ as suggested in #118 (PR #180 Ben Moran).
+
+* Fix harmless data race that triggers false positives in ThreadSanitizer.
+ (PR #179, Clement Courbet).
+
+* Fixed some string tests on Python 3 (PR #182, Antonio Valentino).
+
+
Changes from 2.4.2 to 2.4.3
===========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/__init__.py new/numexpr-2.4.4/numexpr/__init__.py
--- old/numexpr-2.4.3/numexpr/__init__.py 2015-04-14 14:28:33.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/__init__.py 2015-09-14 17:18:15.000000000 +0200
@@ -42,25 +42,13 @@
from numexpr.tests import test, print_versions
from numexpr.utils import (
get_vml_version, set_vml_accuracy_mode, set_vml_num_threads,
- set_num_threads, detect_number_of_cores)
+ set_num_threads, detect_number_of_cores, detect_number_of_threads)
# Detect the number of cores
ncores = detect_number_of_cores()
+nthreads = detect_number_of_threads()
# Initialize the number of threads to be used
-# If this is modified, please update the note in:
-# https://github.com/pydata/numexpr/wiki/Numexpr-Users-Guide
-try:
- nthreads = int(os.environ['NUMEXPR_NUM_THREADS'])
-except KeyError:
- nthreads = ncores
- # Check that we don't activate too many threads at the same time.
- # 8 seems a sensible value.
- if nthreads > 8:
- nthreads = 8
-# Check that we don't surpass the MAX_THREADS in interpreter.cpp
-if nthreads > 4096:
- nthreads = 4096
if 'sparc' in platform.machine():
import warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/expressions.py new/numexpr-2.4.4/numexpr/expressions.py
--- old/numexpr-2.4.3/numexpr/expressions.py 2015-04-14 14:28:33.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/expressions.py 2015-09-14 17:18:15.000000000 +0200
@@ -60,13 +60,6 @@
class Context(threading.local):
- initialized = False
-
- def __init__(self, dict_):
- if self.initialized:
- raise SystemError('__init__ called too many times')
- self.initialized = True
- self.__dict__.update(dict_)
def get(self, value, default):
return self.__dict__.get(value, default)
@@ -78,7 +71,7 @@
self.__dict__.update(dict_)
# This will be called each time the local object is used in a separate thread
-_context = Context({})
+_context = Context()
def get_optimization():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/module.cpp new/numexpr-2.4.4/numexpr/module.cpp
--- old/numexpr-2.4.3/numexpr/module.cpp 2015-04-14 14:28:42.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/module.cpp 2015-09-14 17:18:15.000000000 +0200
@@ -48,7 +48,10 @@
while (1) {
- gs.init_sentinels_done = 0; /* sentinels have to be initialised yet */
+ if (tid == 0) {
+ /* sentinels have to be initialised yet */
+ gs.init_sentinels_done = 0;
+ }
/* Meeting point for all threads (wait for initialization) */
pthread_mutex_lock(&gs.count_threads_mutex);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/str-two-way.hpp new/numexpr-2.4.4/numexpr/str-two-way.hpp
--- old/numexpr-2.4.3/numexpr/str-two-way.hpp 2014-03-03 08:38:37.000000000 +0100
+++ new/numexpr-2.4.4/numexpr/str-two-way.hpp 2015-09-14 17:18:15.000000000 +0200
@@ -30,7 +30,25 @@
*/
#include <limits.h>
+
+/*
+ Python 2.7 (the only Python 2.x version supported as of now and until 2020)
+ is built on windows with Visual Studio 2008 C compiler. That dictates that
+ the compiler which must be used by authors of third party Python modules.
+ See https://mail.python.org/pipermail/distutils-sig/2014-September/024885.html
+
+ Unfortunately this version of Visual Studio doesn't claim to be C99 compatible
+ and in particular it lacks the stdint.h header. So we have to replace it with
+ a public domain version.
+
+ Visual Studio 2010 and later have stdint.h.
+*/
+
+#ifdef _MSC_VER <= 1500
+#include "win32/stdint.h"
+#else
#include <stdint.h>
+#endif
/* We use the Two-Way string matching algorithm, which guarantees
linear complexity with constant space. Additionally, for long
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/tests/test_numexpr.py new/numexpr-2.4.4/numexpr/tests/test_numexpr.py
--- old/numexpr-2.4.3/numexpr/tests/test_numexpr.py 2015-04-27 17:38:07.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/tests/test_numexpr.py 2015-09-14 17:18:15.000000000 +0200
@@ -13,6 +13,7 @@
import sys
import platform
import warnings
+from contextlib import contextmanager
import numpy as np
from numpy import (
@@ -720,19 +721,19 @@
self.assert_missing_op('add_sss', expr, locals())
def test_empty_string1(self):
- a = np.array(["", "pepe"])
- b = np.array(["pepe2", ""])
- res = evaluate("(a == '') & (b == 'pepe2')")
+ a = np.array([b"", b"pepe"])
+ b = np.array([b"pepe2", b""])
+ res = evaluate("(a == b'') & (b == b'pepe2')")
assert_array_equal(res, np.array([True, False]))
- res2 = evaluate("(a == 'pepe') & (b == '')")
+ res2 = evaluate("(a == b'pepe') & (b == b'')")
assert_array_equal(res2, np.array([False, True]))
def test_empty_string2(self):
- a = np.array(["p", "pepe"])
- b = np.array(["pepe2", ""])
- res = evaluate("(a == '') & (b == 'pepe2')")
+ a = np.array([b"p", b"pepe"])
+ b = np.array([b"pepe2", b""])
+ res = evaluate("(a == b'') & (b == b'pepe2')")
assert_array_equal(res, np.array([False, False]))
- res2 = evaluate("(a == 'pepe') & (b == '')")
+ res2 = evaluate("(a == b'pepe') & (b == b'')")
assert_array_equal(res, np.array([False, False]))
def test_add_numeric_array(self):
@@ -813,6 +814,31 @@
assert_array_equal(r1, a1)
+@contextmanager
+def _environment(key, value):
+ old = os.environ.get(key)
+ os.environ[key] = value
+ try:
+ yield
+ finally:
+ if old:
+ os.environ[key] = old
+ else:
+ del os.environ[key]
+
+
+# Test cases for the threading configuration
+class test_threading_config(TestCase):
+ def test_numexpr_num_threads(self):
+ with _environment('OMP_NUM_THREADS', '5'):
+ with _environment('NUMEXPR_NUM_THREADS', '3'):
+ self.assertEquals(3, numexpr.detect_number_of_threads())
+
+ def test_omp_num_threads(self):
+ with _environment('OMP_NUM_THREADS', '5'):
+ self.assertEquals(5, numexpr.detect_number_of_threads())
+
+
# Case test for threads
class test_threading(TestCase):
def test_thread(self):
@@ -924,6 +950,7 @@
theSuite.addTest(
unittest.makeSuite(test_irregular_stride))
theSuite.addTest(unittest.makeSuite(test_zerodim))
+ theSuite.addTest(unittest.makeSuite(test_threading_config))
# multiprocessing module is not supported on Hurd/kFreeBSD
if (pl.system().lower() not in ('gnu', 'gnu/kfreebsd')):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/utils.py new/numexpr-2.4.4/numexpr/utils.py
--- old/numexpr-2.4.3/numexpr/utils.py 2015-04-14 14:28:47.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/utils.py 2015-09-14 17:18:15.000000000 +0200
@@ -115,6 +115,24 @@
return 1 # Default
+def detect_number_of_threads():
+ """
+ If this is modified, please update the note in: https://github.com/pydata/numexpr/wiki/Numexpr-Users-Guide
+ """
+ try:
+ nthreads = int(os.environ['NUMEXPR_NUM_THREADS'])
+ except KeyError:
+ nthreads = int(os.environ.get('OMP_NUM_THREADS', detect_number_of_cores()))
+ # Check that we don't activate too many threads at the same time.
+ # 8 seems a sensible value.
+ if nthreads > 8:
+ nthreads = 8
+ # Check that we don't surpass the MAX_THREADS in interpreter.cpp
+ if nthreads > 4096:
+ nthreads = 4096
+ return nthreads
+
+
class CacheDict(dict):
"""
A dictionary that prevents itself from growing too much.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/version.py new/numexpr-2.4.4/numexpr/version.py
--- old/numexpr-2.4.3/numexpr/version.py 2015-04-27 17:46:06.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/version.py 2015-09-14 17:56:55.000000000 +0200
@@ -8,4 +8,4 @@
# rights to use.
####################################################################
-version = '2.4.3'
+version = '2.4.4'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr/win32/stdint.h new/numexpr-2.4.4/numexpr/win32/stdint.h
--- old/numexpr-2.4.3/numexpr/win32/stdint.h 1970-01-01 01:00:00.000000000 +0100
+++ new/numexpr-2.4.4/numexpr/win32/stdint.h 2015-09-14 17:18:15.000000000 +0200
@@ -0,0 +1,235 @@
+/* ISO C9x 7.18 Integer types <stdint.h>
+ * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * Contributor: Danny Smith <danny_r_smith_2001(a)yahoo.co.nz>
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Date: 2000-12-02
+ *
+ * mwb: This was modified in the following ways:
+ *
+ * - make it compatible with Visual C++ 6 (which uses
+ * non-standard keywords and suffixes for 64-bit types)
+ * - some environments need stddef.h included (for wchar stuff?)
+ * - handle the fact that Microsoft's limits.h header defines
+ * SIZE_MAX
+ * - make corrections for SIZE_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX,
+ * PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, and SIG_ATOMIC_MAX
+ * to be 64-bit aware.
+ */
+
+
+#ifndef _STDINT_H
+#define _STDINT_H
+#define __need_wint_t
+#define __need_wchar_t
+#include <wchar.h>
+#include <stddef.h>
+
+#if _MSC_VER && (_MSC_VER < 1300)
+/* using MSVC 6 or earlier - no "long long" type, but might have _int64 type */
+#define __STDINT_LONGLONG __int64
+#define __STDINT_LONGLONG_SUFFIX i64
+#else
+#define __STDINT_LONGLONG long long
+#define __STDINT_LONGLONG_SUFFIX LL
+#endif
+
+#if !defined( PASTE)
+#define PASTE2( x, y) x##y
+#define PASTE( x, y) PASTE2( x, y)
+#endif /* PASTE */
+
+
+/* 7.18.1.1 Exact-width integer types */
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned uint32_t;
+typedef __STDINT_LONGLONG int64_t;
+typedef unsigned __STDINT_LONGLONG uint64_t;
+
+/* 7.18.1.2 Minimum-width integer types */
+typedef signed char int_least8_t;
+typedef unsigned char uint_least8_t;
+typedef short int_least16_t;
+typedef unsigned short uint_least16_t;
+typedef int int_least32_t;
+typedef unsigned uint_least32_t;
+typedef __STDINT_LONGLONG int_least64_t;
+typedef unsigned __STDINT_LONGLONG uint_least64_t;
+
+/* 7.18.1.3 Fastest minimum-width integer types
+ * Not actually guaranteed to be fastest for all purposes
+ * Here we use the exact-width types for 8 and 16-bit ints.
+ */
+typedef char int_fast8_t;
+typedef unsigned char uint_fast8_t;
+typedef short int_fast16_t;
+typedef unsigned short uint_fast16_t;
+typedef int int_fast32_t;
+typedef unsigned int uint_fast32_t;
+typedef __STDINT_LONGLONG int_fast64_t;
+typedef unsigned __STDINT_LONGLONG uint_fast64_t;
+
+/* 7.18.1.4 Integer types capable of holding object pointers */
+#ifndef _INTPTR_T_DEFINED
+#define _INTPTR_T_DEFINED
+#ifdef _WIN64
+typedef __STDINT_LONGLONG intptr_t
+#else
+typedef int intptr_t;
+#endif /* _WIN64 */
+#endif /* _INTPTR_T_DEFINED */
+
+#ifndef _UINTPTR_T_DEFINED
+#define _UINTPTR_T_DEFINED
+#ifdef _WIN64
+typedef unsigned __STDINT_LONGLONG uintptr_t
+#else
+typedef unsigned int uintptr_t;
+#endif /* _WIN64 */
+#endif /* _UINTPTR_T_DEFINED */
+
+/* 7.18.1.5 Greatest-width integer types */
+typedef __STDINT_LONGLONG intmax_t;
+typedef unsigned __STDINT_LONGLONG uintmax_t;
+
+/* 7.18.2 Limits of specified-width integer types */
+#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
+
+/* 7.18.2.1 Limits of exact-width integer types */
+#define INT8_MIN (-128)
+#define INT16_MIN (-32768)
+#define INT32_MIN (-2147483647 - 1)
+#define INT64_MIN (PASTE( -9223372036854775807, __STDINT_LONGLONG_SUFFIX) - 1)
+
+#define INT8_MAX 127
+#define INT16_MAX 32767
+#define INT32_MAX 2147483647
+#define INT64_MAX (PASTE( 9223372036854775807, __STDINT_LONGLONG_SUFFIX))
+
+#define UINT8_MAX 0xff /* 255U */
+#define UINT16_MAX 0xffff /* 65535U */
+#define UINT32_MAX 0xffffffff /* 4294967295U */
+#define UINT64_MAX (PASTE( 0xffffffffffffffffU, __STDINT_LONGLONG_SUFFIX)) /* 18446744073709551615ULL */
+
+/* 7.18.2.2 Limits of minimum-width integer types */
+#define INT_LEAST8_MIN INT8_MIN
+#define INT_LEAST16_MIN INT16_MIN
+#define INT_LEAST32_MIN INT32_MIN
+#define INT_LEAST64_MIN INT64_MIN
+
+#define INT_LEAST8_MAX INT8_MAX
+#define INT_LEAST16_MAX INT16_MAX
+#define INT_LEAST32_MAX INT32_MAX
+#define INT_LEAST64_MAX INT64_MAX
+
+#define UINT_LEAST8_MAX UINT8_MAX
+#define UINT_LEAST16_MAX UINT16_MAX
+#define UINT_LEAST32_MAX UINT32_MAX
+#define UINT_LEAST64_MAX UINT64_MAX
+
+/* 7.18.2.3 Limits of fastest minimum-width integer types */
+#define INT_FAST8_MIN INT8_MIN
+#define INT_FAST16_MIN INT16_MIN
+#define INT_FAST32_MIN INT32_MIN
+#define INT_FAST64_MIN INT64_MIN
+
+#define INT_FAST8_MAX INT8_MAX
+#define INT_FAST16_MAX INT16_MAX
+#define INT_FAST32_MAX INT32_MAX
+#define INT_FAST64_MAX INT64_MAX
+
+#define UINT_FAST8_MAX UINT8_MAX
+#define UINT_FAST16_MAX UINT16_MAX
+#define UINT_FAST32_MAX UINT32_MAX
+#define UINT_FAST64_MAX UINT64_MAX
+
+/* 7.18.2.4 Limits of integer types capable of holding
+ object pointers */
+#ifdef _WIN64
+#define INTPTR_MIN INT64_MIN
+#define INTPTR_MAX INT64_MAX
+#define UINTPTR_MAX UINT64_MAX
+#else
+#define INTPTR_MIN INT32_MIN
+#define INTPTR_MAX INT32_MAX
+#define UINTPTR_MAX UINT32_MAX
+#endif /* _WIN64 */
+
+/* 7.18.2.5 Limits of greatest-width integer types */
+#define INTMAX_MIN INT64_MIN
+#define INTMAX_MAX INT64_MAX
+#define UINTMAX_MAX UINT64_MAX
+
+/* 7.18.3 Limits of other integer types */
+#define PTRDIFF_MIN INTPTR_MIN
+#define PTRDIFF_MAX INTPTR_MAX
+
+#define SIG_ATOMIC_MIN INTPTR_MIN
+#define SIG_ATOMIC_MAX INTPTR_MAX
+
+/* we need to check for SIZE_MAX already defined because MS defines it in limits.h */
+#ifndef SIZE_MAX
+#define SIZE_MAX UINTPTR_MAX
+#endif
+
+#ifndef WCHAR_MIN /* also in wchar.h */
+#define WCHAR_MIN 0
+#define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */
+#endif
+
+/*
+ * wint_t is unsigned short for compatibility with MS runtime
+ */
+#define WINT_MIN 0
+#define WINT_MAX ((wint_t)-1) /* UINT16_MAX */
+
+#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
+
+
+/* 7.18.4 Macros for integer constants */
+#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
+
+/* 7.18.4.1 Macros for minimum-width integer constants
+
+ Accoding to Douglas Gwyn <gwyn(a)arl.mil>:
+ "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
+ 9899:1999 as initially published, the expansion was required
+ to be an integer constant of precisely matching type, which
+ is impossible to accomplish for the shorter types on most
+ platforms, because C99 provides no standard way to designate
+ an integer constant with width less than that of type int.
+ TC1 changed this to require just an integer constant
+ *expression* with *promoted* type."
+*/
+
+#define INT8_C(val) ((int8_t) + (val))
+#define UINT8_C(val) ((uint8_t) + (val##U))
+#define INT16_C(val) ((int16_t) + (val))
+#define UINT16_C(val) ((uint16_t) + (val##U))
+
+#define INT32_C(val) val##L
+#define UINT32_C(val) val##UL
+#define INT64_C(val) (PASTE( val, __STDINT_LONGLONG_SUFFIX))
+#define UINT64_C(val)(PASTE( PASTE( val, U), __STDINT_LONGLONG_SUFFIX))
+
+/* 7.18.4.2 Macros for greatest-width integer constants */
+#define INTMAX_C(val) INT64_C(val)
+#define UINTMAX_C(val) UINT64_C(val)
+
+#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr.egg-info/PKG-INFO new/numexpr-2.4.4/numexpr.egg-info/PKG-INFO
--- old/numexpr-2.4.3/numexpr.egg-info/PKG-INFO 2015-04-27 17:47:24.000000000 +0200
+++ new/numexpr-2.4.4/numexpr.egg-info/PKG-INFO 2015-09-14 18:06:33.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: numexpr
-Version: 2.4.3
+Version: 2.4.4
Summary: Fast numerical expression evaluator for NumPy
Home-page: https://github.com/pydata/numexpr
Author: David M. Cooke, Francesc Alted and others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr.egg-info/SOURCES.txt new/numexpr-2.4.4/numexpr.egg-info/SOURCES.txt
--- old/numexpr-2.4.3/numexpr.egg-info/SOURCES.txt 2015-04-27 17:47:24.000000000 +0200
+++ new/numexpr-2.4.4/numexpr.egg-info/SOURCES.txt 2015-09-14 18:06:33.000000000 +0200
@@ -45,9 +45,11 @@
numexpr.egg-info/SOURCES.txt
numexpr.egg-info/dependency_links.txt
numexpr.egg-info/not-zip-safe
+numexpr.egg-info/pbr.json
numexpr.egg-info/requires.txt
numexpr.egg-info/top_level.txt
numexpr/tests/__init__.py
numexpr/tests/test_numexpr.py
numexpr/win32/pthread.c
-numexpr/win32/pthread.h
\ No newline at end of file
+numexpr/win32/pthread.h
+numexpr/win32/stdint.h
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numexpr-2.4.3/numexpr.egg-info/pbr.json new/numexpr-2.4.4/numexpr.egg-info/pbr.json
--- old/numexpr-2.4.3/numexpr.egg-info/pbr.json 1970-01-01 01:00:00.000000000 +0100
+++ new/numexpr-2.4.4/numexpr.egg-info/pbr.json 2015-09-14 18:06:33.000000000 +0200
@@ -0,0 +1 @@
+{"is_release": true, "git_version": "a98e149"}
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package python3-wheel for openSUSE:Factory checked in at 2015-09-27 08:40:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-wheel (Old)
and /work/SRC/openSUSE:Factory/.python3-wheel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-wheel"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-wheel/python3-wheel.changes 2014-12-05 21:05:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-wheel.new/python3-wheel.changes 2015-09-27 08:39:58.000000000 +0200
@@ -1,0 +2,18 @@
+Sun Sep 27 00:58:34 UTC 2015 - arun(a)gmx.de
+
+- specfile:
+ * update copyright year
+ * update url
+
+- update to version 0.26.0:
+ * Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+- changes from version 0.25.0:
+ * Add Python 3.5 to tox configuration
+ * Deterministic (sorted) metadata
+ * Fix tagging for Python 3.5 compatibility
+ * Support py2-none-'arch' and py3-none-'arch' tags
+ * Treat data-only wheels as pure
+ * Write to temporary file and rename when using wheel install --force
+
+-------------------------------------------------------------------
Old:
----
wheel-0.24.0.tar.gz
New:
----
wheel-0.26.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-wheel.spec ++++++
--- /var/tmp/diff_new_pack.KUZXZz/_old 2015-09-27 08:39:58.000000000 +0200
+++ /var/tmp/diff_new_pack.KUZXZz/_new 2015-09-27 08:39:58.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python3-wheel
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,12 +17,12 @@
Name: python3-wheel
-Version: 0.24.0
+Version: 0.26.0
Release: 0
Summary: A built-package format for Python
License: MIT
Group: Development/Languages/Python
-Url: http://bitbucket.org/dholth/wheel/
+Url: https://bitbucket.org/pypa/wheel
Source: https://pypi.python.org/packages/source/w/wheel/wheel-%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: python3-setuptools
++++++ wheel-0.24.0.tar.gz -> wheel-0.26.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/CHANGES.txt new/wheel-0.26.0/CHANGES.txt
--- old/wheel-0.24.0/CHANGES.txt 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/CHANGES.txt 2015-09-18 20:02:17.000000000 +0200
@@ -1,3 +1,16 @@
+0.26.0
+======
+- Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+0.25.0
+======
+- Add Python 3.5 to tox configuration
+- Deterministic (sorted) metadata
+- Fix tagging for Python 3.5 compatibility
+- Support py2-none-'arch' and py3-none-'arch' tags
+- Treat data-only wheels as pure
+- Write to temporary file and rename when using wheel install --force
+
0.24.0
======
- The python tag used for pure-python packages is now .pyN (major version
@@ -14,7 +27,7 @@
0.23.0
======
-- Compatibiltiy tag flags added to the bdist_wheel command
+- Compatibility tag flags added to the bdist_wheel command
- sdist should include files necessary for tests
- 'wheel convert' can now also convert unpacked eggs to wheel
- Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/PKG-INFO new/wheel-0.26.0/PKG-INFO
--- old/wheel-0.24.0/PKG-INFO 2014-07-06 18:56:22.000000000 +0200
+++ new/wheel-0.26.0/PKG-INFO 2015-09-18 20:03:13.000000000 +0200
@@ -1,8 +1,8 @@
Metadata-Version: 1.1
Name: wheel
-Version: 0.24.0
+Version: 0.26.0
Summary: A built-package format for Python.
-Home-page: http://bitbucket.org/pypa/wheel/
+Home-page: https://bitbucket.org/pypa/wheel/
Author: Daniel Holth
Author-email: dholth(a)fastmail.fm
License: MIT
@@ -49,6 +49,19 @@
+ 0.26.0
+ ======
+ - Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+ 0.25.0
+ ======
+ - Add Python 3.5 to tox configuration
+ - Deterministic (sorted) metadata
+ - Fix tagging for Python 3.5 compatibility
+ - Support py2-none-'arch' and py3-none-'arch' tags
+ - Treat data-only wheels as pure
+ - Write to temporary file and rename when using wheel install --force
+
0.24.0
======
- The python tag used for pure-python packages is now .pyN (major version
@@ -65,7 +78,7 @@
0.23.0
======
- - Compatibiltiy tag flags added to the bdist_wheel command
+ - Compatibility tag flags added to the bdist_wheel command
- sdist should include files necessary for tests
- 'wheel convert' can now also convert unpacked eggs to wheel
- Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/entry_points.txt new/wheel-0.26.0/entry_points.txt
--- old/wheel-0.24.0/entry_points.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/wheel-0.26.0/entry_points.txt 2015-09-15 19:28:15.000000000 +0200
@@ -0,0 +1,5 @@
+[console_scripts]
+wheel = wheel.tool:main
+
+[distutils.commands]
+bdist_wheel = wheel.bdist_wheel:bdist_wheel
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/setup.py new/wheel-0.26.0/setup.py
--- old/wheel-0.24.0/setup.py 2014-07-06 18:48:58.000000000 +0200
+++ new/wheel-0.26.0/setup.py 2015-09-15 19:28:15.000000000 +0200
@@ -28,7 +28,7 @@
],
author='Daniel Holth',
author_email='dholth(a)fastmail.fm',
- url='http://bitbucket.org/pypa/wheel/',
+ url='https://bitbucket.org/pypa/wheel/',
keywords=['wheel', 'packaging'],
license='MIT',
packages=[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/__init__.py new/wheel-0.26.0/wheel/__init__.py
--- old/wheel-0.24.0/wheel/__init__.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/__init__.py 2015-09-18 20:03:01.000000000 +0200
@@ -1,2 +1,2 @@
# __variables__ with double-quoted values will be available in setup.py:
-__version__ = "0.24.0"
+__version__ = "0.26.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/bdist_wheel.py new/wheel-0.26.0/wheel/bdist_wheel.py
--- old/wheel-0.24.0/wheel/bdist_wheel.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/bdist_wheel.py 2015-09-15 20:10:36.000000000 +0200
@@ -90,7 +90,7 @@
self.dist_dir = None
self.distinfo_dir = None
self.egginfo_dir = None
- self.root_is_purelib = None
+ self.root_is_pure = None
self.skip_build = None
self.relative = False
self.owner = None
@@ -110,7 +110,8 @@
self.set_undefined_options('bdist',
*zip(need_options, need_options))
- self.root_is_purelib = self.distribution.is_pure()
+ self.root_is_pure = not (self.distribution.has_ext_modules()
+ or self.distribution.has_c_libraries())
# Support legacy [wheel] section for setting universal
wheel = self.distribution.get_option_dict('wheel')
@@ -129,7 +130,7 @@
def get_tag(self):
supported_tags = pep425tags.get_supported()
- if self.distribution.is_pure():
+ if self.root_is_pure:
if self.universal:
impl = 'py2.py3'
else:
@@ -148,7 +149,7 @@
# sys.pypy_version_info.minor)
abi_tag = sysconfig.get_config_vars().get('SOABI', 'none')
if abi_tag.startswith('cpython-'):
- abi_tag = 'cp' + abi_tag.rsplit('-', 1)[-1]
+ abi_tag = 'cp' + abi_tag.split('-')[1]
tag = (impl_name + impl_ver, abi_tag, plat_name)
# XXX switch to this alternate implementation for non-pure:
@@ -203,7 +204,7 @@
self.install_libbase = self.install_lib = basedir_observed
setattr(install,
- 'install_purelib' if self.root_is_purelib else 'install_platlib',
+ 'install_purelib' if self.root_is_pure else 'install_platlib',
basedir_observed)
logger.info("installing to %s", self.bdist_dir)
@@ -255,7 +256,7 @@
msg = Message()
msg['Wheel-Version'] = '1.0' # of the spec
msg['Generator'] = generator
- msg['Root-Is-Purelib'] = str(self.root_is_purelib).lower()
+ msg['Root-Is-Purelib'] = str(self.root_is_pure).lower()
# Doesn't work for bdist_wininst
impl_tag, abi_tag, plat_tag = self.get_tag()
@@ -421,7 +422,8 @@
def walk():
for dir, dirs, files in os.walk(bdist_dir):
- for f in files:
+ dirs.sort()
+ for f in sorted(files):
yield os.path.join(dir, f)
def skip(path):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/metadata.py new/wheel-0.26.0/wheel/metadata.py
--- old/wheel-0.24.0/wheel/metadata.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/metadata.py 2015-09-18 19:56:57.000000000 +0200
@@ -2,8 +2,13 @@
Tools for converting old- to new-style metadata.
"""
-from collections import defaultdict, namedtuple
+from collections import namedtuple
from .pkginfo import read_pkg_info
+from .util import OrderedDefaultDict
+try:
+ from collections import OrderedDict
+except ImportError:
+ OrderedDict = dict
import re
import os.path
@@ -51,8 +56,8 @@
"""
Place the runtime requirements from pkg_info into metadata.
"""
- may_requires = defaultdict(list)
- for value in pkg_info.get_all(key):
+ may_requires = OrderedDefaultDict(list)
+ for value in sorted(pkg_info.get_all(key)):
extra_match = EXTRA_RE.search(value)
if extra_match:
groupdict = extra_match.groupdict()
@@ -70,7 +75,7 @@
if may_requires:
metadata['run_requires'] = []
for key, value in may_requires.items():
- may_requirement = {'requires':value}
+ may_requirement = OrderedDict((('requires', value),))
if key.extra:
may_requirement['extra'] = key.extra
if key.condition:
@@ -93,7 +98,7 @@
distribution: optional distutils Distribution()
"""
- metadata = defaultdict(lambda: defaultdict(lambda: defaultdict(dict)))
+ metadata = OrderedDefaultDict(lambda: OrderedDefaultDict(lambda: OrderedDefaultDict(OrderedDict)))
metadata["generator"] = "bdist_wheel (" + wheel.__version__ + ")"
try:
unicode
@@ -121,7 +126,7 @@
if description:
pkg_info['description'] = description
- for key in unique(k.lower() for k in pkg_info.keys()):
+ for key in sorted(unique(k.lower() for k in pkg_info.keys())):
low_key = key.replace('-', '_')
if low_key in SKIP_FIELDS:
@@ -130,7 +135,7 @@
if low_key in UNKNOWN_FIELDS and pkg_info.get(key) == 'UNKNOWN':
continue
- if low_key in PLURAL_FIELDS:
+ if low_key in sorted(PLURAL_FIELDS):
metadata[PLURAL_FIELDS[low_key]] = pkg_info.get_all(key)
elif low_key == "requires_dist":
@@ -161,7 +166,7 @@
try:
requirements = getattr(distribution, attr)
if isinstance(requirements, list):
- new_requirements = list(convert_requirements(requirements))
+ new_requirements = sorted(convert_requirements(requirements))
metadata[requires] = [{'requires':new_requirements}]
except AttributeError:
pass
@@ -169,8 +174,8 @@
# handle contacts
contacts = []
for contact_type, role in CONTACT_FIELDS:
- contact = {}
- for key in contact_type:
+ contact = OrderedDict()
+ for key in sorted(contact_type):
if contact_type[key] in metadata:
contact[key] = metadata.pop(contact_type[key])
if contact:
@@ -183,11 +188,11 @@
try:
with open(os.path.join(os.path.dirname(path), "entry_points.txt"), "r") as ep_file:
ep_map = pkg_resources.EntryPoint.parse_map(ep_file.read())
- exports = {}
- for group, items in ep_map.items():
- exports[group] = {}
- for item in items.values():
- name, export = str(item).split(' = ', 1)
+ exports = OrderedDict()
+ for group, items in sorted(ep_map.items()):
+ exports[group] = OrderedDict()
+ for item in sorted(map(str, items.values())):
+ name, export = item.split(' = ', 1)
exports[group][name] = export
if exports:
metadata['extensions']['python.exports'] = exports
@@ -233,7 +238,8 @@
requires_path = os.path.join(egg_info_path, 'requires.txt')
if os.path.exists(requires_path):
requires = open(requires_path).read()
- for extra, reqs in pkg_resources.split_sections(requires):
+ for extra, reqs in sorted(pkg_resources.split_sections(requires),
+ key=lambda x: x[0] or ''):
condition = ''
if extra and ':' in extra: # setuptools extra:condition syntax
extra, condition = extra.split(':', 1)
@@ -244,7 +250,7 @@
condition += 'extra == %s' % repr(extra)
if condition:
condition = '; ' + condition
- for new_req in convert_requirements(reqs):
+ for new_req in sorted(convert_requirements(reqs)):
pkg_info['Requires-Dist'] = new_req + condition
description = pkg_info['Description']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/pep425tags.py new/wheel-0.26.0/wheel/pep425tags.py
--- old/wheel-0.24.0/wheel/pep425tags.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/pep425tags.py 2015-09-15 20:10:36.000000000 +0200
@@ -60,7 +60,7 @@
soabi = sysconfig.get_config_var('SOABI')
if soabi and soabi.startswith('cpython-'):
- abis[0:0] = ['cp' + soabi.split('-', 1)[-1]]
+ abis[0:0] = ['cp' + soabi.split('-')[1]]
abi3s = set()
import imp
@@ -85,7 +85,10 @@
# Tagged specifically as being cross-version compatible
# (with just the major version specified)
supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any'))
-
+
+ # Major Python version + platform; e.g. binaries not using the Python API
+ supported.append(('py%s' % (versions[0][0]), 'none', arch))
+
# No abi / arch, generic Python
for i, version in enumerate(versions):
supported.append(('py%s' % (version,), 'none', 'any'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/test/complex-dist/setup.py new/wheel-0.26.0/wheel/test/complex-dist/setup.py
--- old/wheel-0.24.0/wheel/test/complex-dist/setup.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/test/complex-dist/setup.py 2015-09-18 19:56:57.000000000 +0200
@@ -20,6 +20,11 @@
install_requires=["quux", "splort"],
extras_require={'simple':['simple.dist']},
tests_require=["foo", "bar>=10.0.0"],
- entry_points={'console_scripts':['complex-dist=complexdist:main']}
+ entry_points={
+ 'console_scripts': [
+ 'complex-dist=complexdist:main',
+ 'complex-dist2=complexdist:main',
+ ],
+ },
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/util.py new/wheel-0.26.0/wheel/util.py
--- old/wheel-0.24.0/wheel/util.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/util.py 2015-09-15 19:28:15.000000000 +0200
@@ -5,6 +5,10 @@
import base64
import json
import hashlib
+try:
+ from collections import OrderedDict
+except ImportError:
+ OrderedDict = dict
__all__ = ['urlsafe_b64encode', 'urlsafe_b64decode', 'utf8',
'to_json', 'from_json', 'matches_requirement']
@@ -91,6 +95,23 @@
digest = self.hash.digest()
return self.hashtype + '=' + native(urlsafe_b64encode(digest))
+class OrderedDefaultDict(OrderedDict):
+ def __init__(self, *args, **kwargs):
+ if not args:
+ self.default_factory = None
+ else:
+ if not (args[0] is None or callable(args[0])):
+ raise TypeError('first argument must be callable or None')
+ self.default_factory = args[0]
+ args = args[1:]
+ super(OrderedDefaultDict, self).__init__(*args, **kwargs)
+
+ def __missing__ (self, key):
+ if self.default_factory is None:
+ raise KeyError(key)
+ self[key] = default = self.default_factory()
+ return default
+
if sys.platform == 'win32':
import ctypes.wintypes
# CSIDL_APPDATA for reference - not used here for compatibility with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/PKG-INFO new/wheel-0.26.0/wheel.egg-info/PKG-INFO
--- old/wheel-0.24.0/wheel.egg-info/PKG-INFO 2014-07-06 18:56:21.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/PKG-INFO 2015-09-18 20:03:12.000000000 +0200
@@ -1,8 +1,8 @@
Metadata-Version: 1.1
Name: wheel
-Version: 0.24.0
+Version: 0.26.0
Summary: A built-package format for Python.
-Home-page: http://bitbucket.org/pypa/wheel/
+Home-page: https://bitbucket.org/pypa/wheel/
Author: Daniel Holth
Author-email: dholth(a)fastmail.fm
License: MIT
@@ -49,6 +49,19 @@
+ 0.26.0
+ ======
+ - Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+ 0.25.0
+ ======
+ - Add Python 3.5 to tox configuration
+ - Deterministic (sorted) metadata
+ - Fix tagging for Python 3.5 compatibility
+ - Support py2-none-'arch' and py3-none-'arch' tags
+ - Treat data-only wheels as pure
+ - Write to temporary file and rename when using wheel install --force
+
0.24.0
======
- The python tag used for pure-python packages is now .pyN (major version
@@ -65,7 +78,7 @@
0.23.0
======
- - Compatibiltiy tag flags added to the bdist_wheel command
+ - Compatibility tag flags added to the bdist_wheel command
- sdist should include files necessary for tests
- 'wheel convert' can now also convert unpacked eggs to wheel
- Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/SOURCES.txt new/wheel-0.26.0/wheel.egg-info/SOURCES.txt
--- old/wheel-0.24.0/wheel.egg-info/SOURCES.txt 2014-07-06 18:56:22.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/SOURCES.txt 2015-09-18 20:03:13.000000000 +0200
@@ -2,6 +2,7 @@
LICENSE.txt
MANIFEST.in
README.txt
+entry_points.txt
setup.cfg
setup.py
vendorize.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/requires.txt new/wheel-0.26.0/wheel.egg-info/requires.txt
--- old/wheel-0.24.0/wheel.egg-info/requires.txt 2014-07-06 18:56:21.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/requires.txt 2015-09-18 20:03:12.000000000 +0200
@@ -1,16 +1,14 @@
-
-[tool]
-
-
-[signatures]
-keyring
+[:python_version=="2.6"]
+argparse
[faster-signatures]
ed25519ll
-[:python_version=="2.6"]
-argparse
+[signatures]
+keyring
[signatures:sys_platform!="win32"]
-pyxdg
\ No newline at end of file
+pyxdg
+
+[tool]
1
0
Hello community,
here is the log from the commit of package postfixadmin for openSUSE:Factory checked in at 2015-09-27 08:40:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postfixadmin (Old)
and /work/SRC/openSUSE:Factory/.postfixadmin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postfixadmin"
Changes:
--------
--- /work/SRC/openSUSE:Factory/postfixadmin/postfixadmin.changes 2015-03-16 07:00:50.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.postfixadmin.new/postfixadmin.changes 2015-09-27 08:39:55.000000000 +0200
@@ -1,0 +2,10 @@
+Sat Sep 26 18:10:31 UTC 2015 - opensuse(a)cboltz.de
+
+- update to PostfixAdmin 2.93 aka 3.0 beta3
+ - add list.php for list view (replaces list-*.php and fixes some
+ bugs they included)
+ - add FetchmailHandler (replaces fetchmail.php)
+ - several bugfixes and small improvements
+ - see CHANGELOG.TXT for all details
+
+-------------------------------------------------------------------
Old:
----
postfixadmin-2.92.tar.gz
New:
----
postfixadmin-2.93.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ postfixadmin.spec ++++++
--- /var/tmp/diff_new_pack.LzOcH8/_old 2015-09-27 08:39:56.000000000 +0200
+++ /var/tmp/diff_new_pack.LzOcH8/_new 2015-09-27 08:39:56.000000000 +0200
@@ -17,7 +17,7 @@
Name: postfixadmin
-Version: 2.92
+Version: 2.93
Release: 0
Url: http://postfixadmin.sourceforge.net/
Source0: http://sourceforge.net/projects/postfixadmin/files/postfixadmin/%{name}-%{v…
++++++ postfixadmin-2.92.tar.gz -> postfixadmin-2.93.tar.gz ++++++
++++ 64714 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package wcd for openSUSE:Factory checked in at 2015-09-27 08:40:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wcd (Old)
and /work/SRC/openSUSE:Factory/.wcd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wcd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wcd/wcd.changes 2015-04-21 10:52:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wcd.new/wcd.changes 2015-09-27 08:39:54.000000000 +0200
@@ -1,0 +2,9 @@
+Sat Sep 26 12:12:29 UTC 2015 - waterlan(a)xs4all.nl
+
+- Update to 5.3.0:
+ - Faster loading of the graphical tree, in about one third less time.
+ - Fix reading UTF-16 treedata files.
+ - Fix: Check for file I/O errors while reading files. These can happen
+ after a file was opened without problems.
+
+-------------------------------------------------------------------
Old:
----
wcd-5.2.7.tar.gz
New:
----
wcd-5.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wcd.spec ++++++
--- /var/tmp/diff_new_pack.OzkW1b/_old 2015-09-27 08:39:55.000000000 +0200
+++ /var/tmp/diff_new_pack.OzkW1b/_new 2015-09-27 08:39:55.000000000 +0200
@@ -18,7 +18,7 @@
%define wcd_docdir %{_defaultdocdir}/%{name}
Name: wcd
-Version: 5.2.7
+Version: 5.3.0
Release: 0
Summary: Chdir for DOS and Unix
License: GPL-2.0
++++++ wcd-5.2.7.tar.gz -> wcd-5.3.0.tar.gz ++++++
++++ 11299 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-ldap for openSUSE:Factory checked in at 2015-09-27 08:40:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ldap (Old)
and /work/SRC/openSUSE:Factory/.python-ldap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ldap"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ldap/python-ldap.changes 2015-07-08 07:00:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-ldap.new/python-ldap.changes 2015-09-27 08:39:53.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 25 16:37:00 UTC 2015 - michael(a)stroeder.com
+
+- Update to upstream release 2.4.21
+
+-------------------------------------------------------------------
Old:
----
python-ldap-2.4.20.tar.gz
New:
----
python-ldap-2.4.21.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ldap.spec ++++++
--- /var/tmp/diff_new_pack.OtN1Xo/_old 2015-09-27 08:39:54.000000000 +0200
+++ /var/tmp/diff_new_pack.OtN1Xo/_new 2015-09-27 08:39:54.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-ldap
-Version: 2.4.20
+Version: 2.4.21
Release: 0
Summary: Python LDAP interface
License: Python-2.0
++++++ python-ldap-2.4.20.tar.gz -> python-ldap-2.4.21.tar.gz ++++++
++++ 3309 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-icalendar for openSUSE:Factory checked in at 2015-09-27 08:40:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-icalendar (Old)
and /work/SRC/openSUSE:Factory/.python-icalendar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-icalendar"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-icalendar/python-icalendar.changes 2015-08-05 06:49:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-icalendar.new/python-icalendar.changes 2015-09-27 08:39:52.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 25 13:27:07 UTC 2015 - michael(a)stroeder.com
+
+- Update to 3.9.1:
+ - Fix vPeriod.__repr__. [spacekpe]
+ - Improve foldline() performance. This improves the foldline
+ performance, especially for large strings like base64-encoded
+ inline attachements. In some cases (1MB string) from 7 Minutes
+ to less than 20ms for ASCII data and 500ms for non-ASCII data.
+ Ref: #163. [emfree]
+
+-------------------------------------------------------------------
Old:
----
icalendar-3.9.0.tar.gz
New:
----
icalendar-3.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-icalendar.spec ++++++
--- /var/tmp/diff_new_pack.FsQIdY/_old 2015-09-27 08:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.FsQIdY/_new 2015-09-27 08:39:52.000000000 +0200
@@ -20,7 +20,7 @@
%define modname icalendar
Name: python-%{modname}
-Version: 3.9.0
+Version: 3.9.1
Release: 0
Summary: Python parser/generator of iCalendar files package
License: BSD-2-Clause
++++++ icalendar-3.9.0.tar.gz -> icalendar-3.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/CHANGES.rst new/icalendar-3.9.1/CHANGES.rst
--- old/icalendar-3.9.0/CHANGES.rst 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/CHANGES.rst 2015-09-08 16:07:59.000000000 +0200
@@ -2,6 +2,19 @@
Changelog
=========
+3.9.1 (2015-09-08)
+------------------
+
+- Fix ``vPeriod.__repr__``.
+ [spacekpe]
+
+- Improve foldline() performance. This improves the foldline performance,
+ especially for large strings like base64-encoded inline attachements. In some
+ cases (1MB string) from 7 Minutes to less than 20ms for ASCII data and 500ms
+ for non-ASCII data. Ref: #163.
+ [emfree]
+
+
3.9.0 (2015-03-24)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/PKG-INFO new/icalendar-3.9.1/PKG-INFO
--- old/icalendar-3.9.0/PKG-INFO 2015-03-24 13:00:35.000000000 +0100
+++ new/icalendar-3.9.1/PKG-INFO 2015-09-08 16:08:12.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: icalendar
-Version: 3.9.0
+Version: 3.9.1
Summary: iCalendar parser/generator
Home-page: https://github.com/collective/icalendar
Author: Plone Foundation
@@ -109,6 +109,19 @@
Changelog
=========
+ 3.9.1 (2015-09-08)
+ ------------------
+
+ - Fix ``vPeriod.__repr__``.
+ [spacekpe]
+
+ - Improve foldline() performance. This improves the foldline performance,
+ especially for large strings like base64-encoded inline attachements. In some
+ cases (1MB string) from 7 Minutes to less than 20ms for ASCII data and 500ms
+ for non-ASCII data. Ref: #163.
+ [emfree]
+
+
3.9.0 (2015-03-24)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/setup.py new/icalendar-3.9.1/setup.py
--- old/icalendar-3.9.0/setup.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/setup.py 2015-09-08 16:07:59.000000000 +0200
@@ -3,7 +3,7 @@
import sys
-version = '3.9.0'
+version = '3.9.1'
shortdesc = 'iCalendar parser/generator'
longdesc = codecs.open('README.rst', encoding='utf-8').read()
longdesc += codecs.open('CHANGES.rst', encoding='utf-8').read()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar/parser.py new/icalendar-3.9.1/src/icalendar/parser.py
--- old/icalendar-3.9.0/src/icalendar/parser.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar/parser.py 2015-09-08 16:07:59.000000000 +0200
@@ -72,17 +72,26 @@
assert isinstance(line, compat.unicode_type)
assert u'\n' not in line
- ret_line = u''
+ # Use a fast and simple variant for the common case that line is all ASCII.
+ try:
+ line.encode('ascii')
+ except (UnicodeEncodeError, UnicodeDecodeError):
+ pass
+ else:
+ return fold_sep.join(line[i:i+limit-1] for i in
+ range(0, len(line), limit-1))
+
+ ret_chars = []
byte_count = 0
for char in line:
char_byte_len = len(char.encode(DEFAULT_ENCODING))
byte_count += char_byte_len
if byte_count >= limit:
- ret_line += fold_sep
+ ret_chars.append(fold_sep)
byte_count = char_byte_len
- ret_line += char
+ ret_chars.append(char)
- return ret_line
+ return u''.join(ret_chars)
#################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar/prop.py new/icalendar-3.9.1/src/icalendar/prop.py
--- old/icalendar-3.9.0/src/icalendar/prop.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar/prop.py 2015-09-08 16:07:59.000000000 +0200
@@ -535,7 +535,7 @@
p = (self.start, self.duration)
else:
p = (self.start, self.end)
- return 'vPeriod(%r)' % p
+ return 'vPeriod(%r)' % (p, )
class vWeekday(compat.unicode_type):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar/tests/test_timezoned.py new/icalendar-3.9.1/src/icalendar/tests/test_timezoned.py
--- old/icalendar-3.9.0/src/icalendar/tests/test_timezoned.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar/tests/test_timezoned.py 2015-09-08 16:07:59.000000000 +0200
@@ -158,12 +158,17 @@
tz = cal.walk('VEVENT')[0]['DTSTART'][0].dt.tzinfo
self.assertEqual(str(tz), 'custom_America/New_York')
pytz_new_york = pytz.timezone('America/New_York')
- # pytz's information starts earlier, the VTIMEZONE transition times
- # go on longer into the future
- self.assertEqual(tz._utc_transition_times[:142],
- pytz_new_york._utc_transition_times[95:])
- self.assertEqual(tz._transition_info[0:142],
- pytz_new_york._transition_info[95:])
+ # for reasons (tm) the locally installed version of the time zone
+ # database isn't always complete, therefore we only compare some
+ # transition times
+ ny_transition_times = list()
+ ny_transition_info = list()
+ for num, date in enumerate(pytz_new_york._utc_transition_times):
+ if datetime.datetime(1967, 4, 30, 7, 0) <= date <= datetime.datetime(2037, 11, 1, 6, 0):
+ ny_transition_times.append(date)
+ ny_transition_info.append(pytz_new_york._transition_info[num])
+ self.assertEqual(tz._utc_transition_times[:142], ny_transition_times)
+ self.assertEqual(tz._transition_info[0:142], ny_transition_info)
self.assertIn(
(datetime.timedelta(-1, 72000), datetime.timedelta(0, 3600), 'EDT'),
tz._tzinfos.keys()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar.egg-info/PKG-INFO new/icalendar-3.9.1/src/icalendar.egg-info/PKG-INFO
--- old/icalendar-3.9.0/src/icalendar.egg-info/PKG-INFO 2015-03-24 13:00:29.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar.egg-info/PKG-INFO 2015-09-08 16:08:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: icalendar
-Version: 3.9.0
+Version: 3.9.1
Summary: iCalendar parser/generator
Home-page: https://github.com/collective/icalendar
Author: Plone Foundation
@@ -109,6 +109,19 @@
Changelog
=========
+ 3.9.1 (2015-09-08)
+ ------------------
+
+ - Fix ``vPeriod.__repr__``.
+ [spacekpe]
+
+ - Improve foldline() performance. This improves the foldline performance,
+ especially for large strings like base64-encoded inline attachements. In some
+ cases (1MB string) from 7 Minutes to less than 20ms for ASCII data and 500ms
+ for non-ASCII data. Ref: #163.
+ [emfree]
+
+
3.9.0 (2015-03-24)
------------------
1
0
Hello community,
here is the log from the commit of package ubuntu-mate-artwork for openSUSE:Factory checked in at 2015-09-27 08:40:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ubuntu-mate-artwork (Old)
and /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ubuntu-mate-artwork"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork.changes 2015-09-24 06:15:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork.changes 2015-09-27 08:39:48.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Sep 24 16:43:59 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 15.10.4:
+ * Add missing symlinks for icons required by Blueman 2.0.
+ * Style software-center's action bar again.
+
+-------------------------------------------------------------------
Old:
----
ubuntu-mate-artwork_15.10.3.tar.xz
New:
----
ubuntu-mate-artwork_15.10.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ubuntu-mate-artwork.spec ++++++
--- /var/tmp/diff_new_pack.aUvb8H/_old 2015-09-27 08:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.aUvb8H/_new 2015-09-27 08:39:52.000000000 +0200
@@ -17,8 +17,9 @@
%define _name ubuntu-mate
+%define _version 15.10.3
Name: ubuntu-mate-artwork
-Version: 15.10.3
+Version: 15.10.4
Release: 0
Summary: Ubuntu MATE themes and artwork
License: GPL-3.0+ and CC-BY-SA-4.0 and CC-BY-SA-3.0
@@ -124,7 +125,7 @@
The default Ubuntu MATE wallpapers for the Ubuntu MATE releases.
%prep
-%setup -q -n %{name}
+%setup -q -n %{name}-%{_version}
%patch0 -p1
%patch1 -p1
# Remove unwanted: Debian package, GRUB theme, Plymouth theme, odd script, LightDM defaults.
++++++ ubuntu-mate-artwork_15.10.3.tar.xz -> ubuntu-mate-artwork_15.10.4.tar.xz ++++++
/work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork_15.10.3.tar.xz /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork_15.10.4.tar.xz differ: char 25, line 1
1
0
Hello community,
here is the log from the commit of package bindfs for openSUSE:Factory checked in at 2015-09-27 08:40:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bindfs (Old)
and /work/SRC/openSUSE:Factory/.bindfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bindfs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bindfs/bindfs.changes 2014-08-06 11:42:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bindfs.new/bindfs.changes 2015-09-27 08:39:47.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 22 11:04:12 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 1.12.7
+* OSX fixes only
+
+-------------------------------------------------------------------
Old:
----
bindfs-1.12.6.tar.gz
New:
----
bindfs-1.12.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bindfs.spec ++++++
--- /var/tmp/diff_new_pack.JZPu0G/_old 2015-09-27 08:39:48.000000000 +0200
+++ /var/tmp/diff_new_pack.JZPu0G/_new 2015-09-27 08:39:48.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package bindfs
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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: bindfs
-Version: 1.12.6
+Version: 1.12.7
Release: 0
Summary: Mount Directories to other Locations and alter Permission Bits
License: GPL-2.0+
++++++ bindfs-1.12.6.tar.gz -> bindfs-1.12.7.tar.gz ++++++
++++ 8125 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/.gitignore new/bindfs-1.12.7/.gitignore
--- old/bindfs-1.12.6/.gitignore 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/.gitignore 2015-09-09 11:40:21.000000000 +0200
@@ -23,6 +23,7 @@
/libtool
/ltmain.sh
/stamp-h1
+/test-driver
# C stuff
@@ -36,7 +37,9 @@
tests/readdir_inode
tests/utimens_nofollow
tests/*.log
+tests/*.trs
tests/internals/test_internals
tests/internals/test_rate_limiter
tests/internals/*.log
+tests/internals/*.trs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/ChangeLog new/bindfs-1.12.7/ChangeLog
--- old/bindfs-1.12.6/ChangeLog 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/ChangeLog 2015-09-09 11:40:21.000000000 +0200
@@ -1,3 +1,8 @@
+2015-09-09 Martin Pärtel <martin dot partel at gmail dot com>
+
+ * OS X xattr fixes prompted, assisted and tested by @retrography (#21).
+ * Released 1.12.7
+
2014-06-30 Martin Pärtel <martin dot partel at gmail dot com>
* Implemented rate limiter, an idea by @illuusio (#12).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/README new/bindfs-1.12.7/README
--- old/bindfs-1.12.6/README 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/README 2015-09-09 11:40:21.000000000 +0200
@@ -34,6 +34,12 @@
See the bindfs --help or the man-page for instructions and examples.
+-- OS X note --
+
+The following extra options may be useful under osxfuse:
+-o local,allow_other,extended_security,noappledouble
+
+See https://github.com/osxfuse/osxfuse/wiki/Mount-options for details.
-- License --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/compile new/bindfs-1.12.7/compile
--- old/bindfs-1.12.6/compile 1970-01-01 01:00:00.000000000 +0100
+++ new/bindfs-1.12.7/compile 2015-09-09 11:40:25.000000000 +0200
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey(a)cygnus.com>.
+#
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake(a)gnu.org> or send patches to
+# <automake-patches(a)gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake(a)gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/configure.ac new/bindfs-1.12.7/configure.ac
--- old/bindfs-1.12.6/configure.ac 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/configure.ac 2015-09-09 11:40:21.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([bindfs],[1.12.6],[martin.partel(a)gmail.com])
+AC_INIT([bindfs],[1.12.7],[martin.partel(a)gmail.com])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_HEADERS([config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/missing new/bindfs-1.12.7/missing
--- old/bindfs-1.12.6/missing 2014-06-30 23:53:19.000000000 +0200
+++ new/bindfs-1.12.7/missing 2015-09-09 11:40:25.000000000 +0200
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# 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
@@ -26,68 +25,40 @@
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <bug-automake(a)gnu.org>."
exit $?
@@ -99,228 +70,141 @@
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/src/bindfs.1 new/bindfs-1.12.7/src/bindfs.1
--- old/bindfs-1.12.6/src/bindfs.1 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/src/bindfs.1 2015-09-09 11:40:21.000000000 +0200
@@ -382,6 +382,9 @@
When using \fB\-\-mirror[-only] @somegroup\fP, bindfs won't see changes to the group's member list.
Sending bindfs a \fBSIGUSR1\fP signal will make it reread the user database.
+The following extra options may be useful under osxfuse:
+\fB-o local,allow_other,extended_security,noappledouble\fP
+See \fBhttps://github.com/osxfuse/osxfuse/wiki/Mount-options\fP for details.
.SH BUGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/src/bindfs.c new/bindfs-1.12.7/src/bindfs.c
--- old/bindfs-1.12.6/src/bindfs.c 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/src/bindfs.c 2015-09-09 11:40:21.000000000 +0200
@@ -74,6 +74,16 @@
#include "userinfo.h"
#include "usermap.h"
+/* Apple Structs */
+#ifdef __APPLE__
+#include <sys/param.h>
+#define G_PREFIX "org"
+#define G_KAUTH_FILESEC_XATTR G_PREFIX ".apple.system.Security"
+#define A_PREFIX "com"
+#define A_KAUTH_FILESEC_XATTR A_PREFIX ".apple.system.Security"
+#define XATTR_APPLE_PREFIX "com.apple."
+#endif
+
/* SETTINGS */
static struct Settings {
const char *progname;
@@ -841,37 +851,75 @@
}
#ifdef HAVE_SETXATTR
-/* If HAVE_L*XATTR is not defined, we assume Mac/BSD -style *xattr() */
+/* The disgusting __APPLE__ sections below were copied without much
+ understanding from the osxfuse example file:
+ https://github.com/osxfuse/fuse/blob/master/example/fusexmp_fh.c */
+#ifdef __APPLE__
+static int bindfs_setxattr(const char *path, const char *name, const char *value,
+ size_t size, int flags, uint32_t position)
+#else
static int bindfs_setxattr(const char *path, const char *name, const char *value,
size_t size, int flags)
+#endif
{
+ int res;
+
DPRINTF("setxattr %s %s=%s", path, name, value);
if (settings.xattr_policy == XATTR_READ_ONLY)
return -EACCES;
- /* fuse checks permissions for us */
path = process_path(path);
-#ifdef HAVE_LSETXATTR
- if (lsetxattr(path, name, value, size, flags) == -1)
+
+#if defined(__APPLE__)
+ if (!strncmp(name, XATTR_APPLE_PREFIX, sizeof(XATTR_APPLE_PREFIX) - 1)) {
+ flags &= ~(XATTR_NOSECURITY);
+ }
+ flags |= XATTR_NOFOLLOW; // TODO: check if this is actually correct and necessary
+ if (!strcmp(name, A_KAUTH_FILESEC_XATTR)) {
+ char new_name[MAXPATHLEN];
+ memcpy(new_name, A_KAUTH_FILESEC_XATTR, sizeof(A_KAUTH_FILESEC_XATTR));
+ memcpy(new_name, G_PREFIX, sizeof(G_PREFIX) - 1);
+ res = setxattr(path, new_name, value, size, position, flags);
+ } else {
+ res = setxattr(path, name, value, size, position, flags);
+ }
+#elif defined(HAVE_LSETXATTR)
+ res = lsetxattr(path, name, value, size, flags);
#else
- if (setxattr(path, name, value, size, 0, flags | XATTR_NOFOLLOW) == -1)
+ res = setxattr(path, name, value, size, 0, flags | XATTR_NOFOLLOW);
#endif
+
+ if (res == -1)
return -errno;
return 0;
}
+#ifdef __APPLE__
+static int bindfs_getxattr(const char *path, const char *name, char *value,
+ size_t size, uint32_t position)
+#else
static int bindfs_getxattr(const char *path, const char *name, char *value,
size_t size)
+#endif
{
int res;
DPRINTF("getxattr %s %s", path, name);
path = process_path(path);
- /* fuse checks permissions for us */
-#ifdef HAVE_LGETXATTR
+
+#if defined(__APPLE__)
+ if (strcmp(name, A_KAUTH_FILESEC_XATTR) == 0) {
+ char new_name[MAXPATHLEN];
+ memcpy(new_name, A_KAUTH_FILESEC_XATTR, sizeof(A_KAUTH_FILESEC_XATTR));
+ memcpy(new_name, G_PREFIX, sizeof(G_PREFIX) - 1);
+ res = getxattr(path, new_name, value, size, position, XATTR_NOFOLLOW);
+ } else {
+ res = getxattr(path, name, value, size, position, XATTR_NOFOLLOW);
+ }
+#elif defined(HAVE_LGETXATTR)
res = lgetxattr(path, name, value, size);
#else
res = getxattr(path, name, value, size, 0, XATTR_NOFOLLOW);
@@ -881,18 +929,44 @@
return res;
}
-static int bindfs_listxattr(const char *path, char *list, size_t size)
+static int bindfs_listxattr(const char *path, char* list, size_t size)
{
- int res;
-
DPRINTF("listxattr %s", path);
path = process_path(path);
- /* fuse checks permissions for us */
-#ifdef HAVE_LLISTXATTR
- res = llistxattr(path, list, size);
+
+#if defined(__APPLE__)
+ ssize_t res = listxattr(path, list, size, XATTR_NOFOLLOW);
+ if (res > 0) {
+ if (list) {
+ size_t len = 0;
+ char* curr = list;
+ do {
+ size_t thislen = strlen(curr) + 1;
+ if (strcmp(curr, G_KAUTH_FILESEC_XATTR) == 0) {
+ memmove(curr, curr + thislen, res - len - thislen);
+ res -= thislen;
+ break;
+ }
+ curr += thislen;
+ len += thislen;
+ } while (len < res);
+ } else {
+ // TODO: https://github.com/osxfuse/fuse/blob/master/example/fusexmp_fh.c
+ // had this commented out bit here o_O
+ /*
+ ssize_t res2 = getxattr(path, G_KAUTH_FILESEC_XATTR, NULL, 0, 0,
+ XATTR_NOFOLLOW);
+ if (res2 >= 0) {
+ res -= sizeof(G_KAUTH_FILESEC_XATTR);
+ }
+ */
+ }
+ }
+#elif defined(HAVE_LLISTXATTR)
+ int res = llistxattr(path, list, size);
#else
- res = listxattr(path, list, size, XATTR_NOFOLLOW);
+ int res = listxattr(path, list, size, XATTR_NOFOLLOW);
#endif
if (res == -1)
return -errno;
@@ -901,18 +975,31 @@
static int bindfs_removexattr(const char *path, const char *name)
{
+ int res;
+
DPRINTF("removexattr %s %s", path, name);
if (settings.xattr_policy == XATTR_READ_ONLY)
return -EACCES;
path = process_path(path);
- /* fuse checks permissions for us */
-#ifdef HAVE_LREMOVEXATTR
- if (lremovexattr(path, name) == -1)
+
+#if defined(__APPLE__)
+ if (strcmp(name, A_KAUTH_FILESEC_XATTR) == 0) {
+ char new_name[MAXPATHLEN];
+ memcpy(new_name, A_KAUTH_FILESEC_XATTR, sizeof(A_KAUTH_FILESEC_XATTR));
+ memcpy(new_name, G_PREFIX, sizeof(G_PREFIX) - 1);
+ res = removexattr(path, new_name, XATTR_NOFOLLOW);
+ } else {
+ res = removexattr(path, name, XATTR_NOFOLLOW);
+ }
+#elif defined(HAVE_LREMOVEXATTR)
+ res = lremovexattr(path, name);
#else
- if (removexattr(path, name, XATTR_NOFOLLOW) == -1)
+ res = removexattr(path, name, XATTR_NOFOLLOW);
#endif
+
+ if (res == -1)
return -errno;
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/test-driver new/bindfs-1.12.7/test-driver
--- old/bindfs-1.12.6/test-driver 1970-01-01 01:00:00.000000000 +0100
+++ new/bindfs-1.12.7/test-driver 2015-09-09 11:40:26.000000000 +0200
@@ -0,0 +1,139 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2013-07-13.22; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake(a)gnu.org> or send patches to
+# <automake-patches(a)gnu.org>.
+
+# Make unconditional expansion of undefined variables an error. This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+ echo "$0: $*" >&2
+ print_usage >&2
+ exit 2
+}
+
+print_usage ()
+{
+ cat <<END
+Usage:
+ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+ [--expect-failure={yes|no}] [--color-tests={yes|no}]
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+test_name= # Used for reporting.
+log_file= # Where to save the output of the test script.
+trs_file= # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+ case $1 in
+ --help) print_usage; exit $?;;
+ --version) echo "test-driver $scriptversion"; exit $?;;
+ --test-name) test_name=$2; shift;;
+ --log-file) log_file=$2; shift;;
+ --trs-file) trs_file=$2; shift;;
+ --color-tests) color_tests=$2; shift;;
+ --expect-failure) expect_failure=$2; shift;;
+ --enable-hard-errors) enable_hard_errors=$2; shift;;
+ --) shift; break;;
+ -*) usage_error "invalid option: '$1'";;
+ *) break;;
+ esac
+ shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ red='[0;31m' # Red.
+ grn='[0;32m' # Green.
+ lgn='[1;32m' # Light green.
+ blu='[1;34m' # Blue.
+ mgn='[0;35m' # Magenta.
+ std='[m' # No color.
+else
+ red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+ estatus=1
+fi
+
+case $estatus:$expect_failure in
+ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
+ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
+ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
+ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
+ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/tests/test_bindfs.rb new/bindfs-1.12.7/tests/test_bindfs.rb
--- old/bindfs-1.12.6/tests/test_bindfs.rb 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/tests/test_bindfs.rb 2015-09-09 11:40:21.000000000 +0200
@@ -73,9 +73,9 @@
root_testenv("", :title => "--create-as-user should be default for root") do
chmod(0777, 'src')
- `su -c 'touch mnt/file' nobody`
- `su -c 'mkdir mnt/dir' nobody`
- `su -c 'ln -sf /tmp/foo mnt/lnk' nobody`
+ `sudo -u nobody -g nogroup touch mnt/file`
+ `sudo -u nobody -g nogroup mkdir mnt/dir`
+ `sudo -u nobody -g nogroup ln -sf /tmp/foo mnt/lnk`
assert { File.stat('mnt/file').uid == nobody_uid }
assert { File.stat('mnt/file').gid == nogroup_gid }
1
0
Hello community,
here is the log from the commit of package redis for openSUSE:Factory checked in at 2015-09-27 08:40:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/redis (Old)
and /work/SRC/openSUSE:Factory/.redis.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "redis"
Changes:
--------
--- /work/SRC/openSUSE:Factory/redis/redis.changes 2015-06-16 14:05:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.redis.new/redis.changes 2015-09-27 08:39:46.000000000 +0200
@@ -1,0 +2,77 @@
+Thu Sep 24 22:26:22 UTC 2015 - mrueckert(a)suse.de
+
+- update to 3.0.4
+ Upgrade urgency: HIGH for Redis and Sentinel. However note that in
+ order to fix certain replication bugs, the
+ replication internals were modified in a very heavy
+ way. So while this release is conceptually saner, it
+ may contain regressions. For this reason, before the
+ release, QA activities were performed by me (antirez)
+ and Redis Labs and no evident bug was found.
+
+ - [FIX] A number of bugs related to replication PSYNC and the (yet
+ experimental) diskless replication feature were fixed. The bugs
+ could lead to inconsistency between masters and slaves. (Salvatore
+ Sanfilippo, Oran Agra fixed the issue found by Yuval Inbar)
+ - [FIX] A replication bug in the context of PSYNC partial
+ resynchonization was found and fixed. This bug happens even when
+ diskless replication is off in the case different slaves connect at
+ different times while the master is creating an RDB file, and later
+ a partial resynchronization is attempted by a slave that connected
+ not as the first one. (Salvatore Sanfilippo, Oran Agra)
+ - [FIX] Chained replication and PSYNC interactions leading to
+ potential stale chained slaves data set, see issue #2694. (Salvatore
+ Sanfilippo fixed an issue reported by "GeorgeBJ" user at Github)
+ - [FIX] redis-cli --scan iteration fixed when returned cursor
+ overflows 32 bit signed integer. (Ofir Luzon, Yuval Inbar)
+ - [FIX] Sentinel: fixed a bug during the master switch process, where
+ for a failed conditional check, the new configuration is rewritten,
+ during a small window of time, in a corrupted way where the master
+ is also reported to be one of the slaves. This bug is rare to
+ trigger but apparently it happens in the wild, and the effect is to
+ see a replication loop where the master will try to replicate with
+ itself. A detailed explanation of the bug and its effects can be
+ found in the commit message here:
+ https://github.com/antirez/redis/commit/c20218eb5770b2cafb12bc7092313b8358f….
+ The bug was found by Jan-Erik Rediger using a static analyzer and
+ fixed by Salvatore Sanfilippo.
+ - [FIX] Sentinel lack of arity checks for certain commands. (Rogerio
+ Goncalves, Salvatore Sanfilippo)
+ - [NEW] Replication internals rewritten in order to be more resistant
+ to bugs. The replication handshake in the slave side was rewritten
+ as a non blocking state machine. (Salvatore Sanfilippo, Oran Agra)
+ - [NEW] New "replication capabilities" feature introduced in order to
+ signal from the master to the slave what are the features supported,
+ so that the master can choose the kind of replication to start
+ (diskless or not) when master and slave are of different versions.
+ (Oran Agra, Salvatore Sanfilippo)
+ - [NEW] Log clients details when SLAVEOF command is received.
+ (Salvatore Sanfilippo with inputs from Nick Craver and Marc
+ Gravell).
+
+-------------------------------------------------------------------
+Mon Sep 7 17:42:22 UTC 2015 - mrueckert(a)suse.de
+
+- update to 3.0.3
+ * [FIX] Fix blocking operations timeout precision when HZ is at
+ its default value (not increased) and there are thousands
+ of clients connected at the same time. This bug affected
+ Sidekiq users that experienced a very long delay for
+ BLPOP and similar commands to return for timeout. Check
+ commit b029ff1 for more info. (Salvatore Sanfilippo)
+ * [FIX] MIGRATE "creating socket: Invalid argument" error fix.
+ Check issues #2609 and #2612 for more info.
+ (Salvatore Sanfilippo)
+ * [FIX] Be able to connect to the master even when the slave is
+ bound to just the loopback interface and has no valid
+ public address in the network the master is reacahble.
+ (Salvatore Sanfilippo)
+ * [FIX] ZADD with options encoding promotion fixed. (linfangrong)
+ * [FIX] Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes)
+ * [FIX] PFCOUNT key parsing in cluster fixed. (MOON_CLJ)
+ * [FIX] Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger)
+ * [NEW] Variadic EXISTS command. Now the command accepts multiple
+ arguments and returns the total count of existing keys.
+- added missing sentinel link
+
+-------------------------------------------------------------------
Old:
----
redis-3.0.2.tar.gz
New:
----
redis-3.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ redis.spec ++++++
--- /var/tmp/diff_new_pack.cDEff7/_old 2015-09-27 08:39:47.000000000 +0200
+++ /var/tmp/diff_new_pack.cDEff7/_new 2015-09-27 08:39:47.000000000 +0200
@@ -27,7 +27,7 @@
%define _conf_dir %{_sysconfdir}/%{name}
Name: redis
-Version: 3.0.2
+Version: 3.0.4
Release: 0
Summary: Persistent key-value database
License: BSD-3-Clause
@@ -86,11 +86,13 @@
install -m 0755 src/redis-check-dump %{buildroot}%{_bindir}/redis-check-dump
install -m 0755 src/redis-check-aof %{buildroot}%{_bindir}/redis-check-aof
install -D -m 0755 src/redis-server %{buildroot}%{_sbindir}/redis-server
+ln -sfv redis-server %{buildroot}%{_sbindir}/redis-sentinel
%if %{with systemd}
perl -p -i -e 's|daemonize yes|daemonize no|g' redis.conf
%endif
install -D -m 0640 redis.conf %{buildroot}%{_conf_dir}/default.conf.example
+install -D -m 0640 sentinel.conf %{buildroot}%{_conf_dir}/sentinel.conf.example
#
# init
++++++ redis-3.0.2.tar.gz -> redis-3.0.4.tar.gz ++++++
++++ 1760 lines of diff (skipped)
1
0