Hello community, here is the log from the commit of package python-cffi for openSUSE:Factory checked in at 2018-09-26 14:53:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-cffi (Old) and /work/SRC/openSUSE:Factory/.python-cffi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cffi" Wed Sep 26 14:53:50 2018 rev:22 rq:636994 version:1.11.5 Changes: -------- --- /work/SRC/openSUSE:Factory/python-cffi/python-cffi.changes 2018-03-05 13:35:23.273305877 +0100 +++ /work/SRC/openSUSE:Factory/.python-cffi.new/python-cffi.changes 2018-09-26 14:53:53.439063972 +0200 @@ -1,0 +2,22 @@ +Fri Sep 21 07:24:58 CEST 2018 - mc...@suse.com + +- Add 3184b0a675fc425b821b528d7fdf744b2f08dadf.patch as + a workardond against + https://bitbucket.org/cffi/cffi/issues/378/ (possible bug in + GCC, see https://bugzilla.redhat.com/1552724). + +------------------------------------------------------------------- +Wed Sep 19 20:43:08 CEST 2018 - mc...@suse.com + +- Remove ignore-tests.patch -- testing what will happen +- Add e2e324a2f13e3a646de6f6ff03e90ed7d37e2636.patch from + upstream to remove some warnings. + +------------------------------------------------------------------- +Tue Sep 18 15:51:02 UTC 2018 - Matěj Cepl <mc...@suse.com> + +- Switch off falling tests with new patch + ignore-tests.patch instead of -k parameter for py.test. + https://bitbucket.org/cffi/cffi/issues/384/ + +------------------------------------------------------------------- New: ---- 3184b0a675fc425b821b528d7fdf744b2f08dadf.patch e2e324a2f13e3a646de6f6ff03e90ed7d37e2636.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-cffi.spec ++++++ --- /var/tmp/diff_new_pack.S9UrKo/_old 2018-09-26 14:53:53.987063132 +0200 +++ /var/tmp/diff_new_pack.S9UrKo/_new 2018-09-26 14:53:53.995063120 +0200 @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -23,13 +23,18 @@ Summary: Foreign Function Interface for Python calling C code License: MIT Group: Development/Languages/Python -Url: http://cffi.readthedocs.org +URL: http://cffi.readthedocs.org Source0: https://files.pythonhosted.org/packages/source/c/cffi/cffi-%{version}.tar.gz Source1: python-cffi-rpmlintrc +# https://bitbucket.org/cffi/cffi/issues/384/ +Patch0: e2e324a2f13e3a646de6f6ff03e90ed7d37e2636.patch +# https://bitbucket.org/cffi/cffi/issues/378 +Patch1: 3184b0a675fc425b821b528d7fdf744b2f08dadf.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module pycparser} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} +BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkgconfig BuildRequires: python-rpm-macros @@ -43,6 +48,7 @@ %prep %setup -q -n cffi-%{version} +%autopatch -p1 %build export CFLAGS="%{optflags}" @@ -50,12 +56,13 @@ %install %python_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} %check -%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} py.test-%$python_bin_suffix -k "not test_init_once_multithread" c/ testing/ +%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} py.test-%$python_bin_suffix -W ignore::UserWarning c/ testing/ %files %{python_files} -%doc LICENSE +%license LICENSE %{python_sitearch}/* %changelog ++++++ 3184b0a675fc425b821b528d7fdf744b2f08dadf.patch ++++++ # HG changeset patch # User Armin Rigo <ar...@tunes.org> # Date 1536839482 -7200 # Node ID 3184b0a675fc425b821b528d7fdf744b2f08dadf # Parent 97a61f7b0bcd48eb74f136280ffd8733e829f153 Issue 378 Workaround for a GCC bug diff --git a/c/_cffi_backend.c b/c/_cffi_backend.c --- a/c/_cffi_backend.c +++ b/c/_cffi_backend.c @@ -892,11 +892,21 @@ return 0; } +#ifdef __GNUC__ +/* This is a workaround for what I think is a GCC bug on several + platforms. See issue #378. */ +__attribute__((noinline)) +#endif +void _cffi_memcpy(char *target, const void *src, size_t size) +{ + memcpy(target, src, size); +} + #define _write_raw_data(type) \ do { \ if (size == sizeof(type)) { \ type r = (type)source; \ - memcpy(target, &r, sizeof(type)); \ + _cffi_memcpy(target, &r, sizeof(type)); \ return; \ } \ } while(0) @@ -970,8 +980,8 @@ if (size == 2*sizeof(type)) { \ type r = (type)source.real; \ type i = (type)source.imag; \ - memcpy(target, &r, sizeof(type)); \ - memcpy(target+sizeof(type), &i, sizeof(type)); \ + _cffi_memcpy(target, &r, sizeof(type)); \ + _cffi_memcpy(target+sizeof(type), &i, sizeof(type)); \ return; \ } \ } while(0) ++++++ e2e324a2f13e3a646de6f6ff03e90ed7d37e2636.patch ++++++ # HG changeset patch # User Armin Rigo <ar...@tunes.org> # Date 1537369554 -7200 # Node ID e2e324a2f13e3a646de6f6ff03e90ed7d37e2636 # Parent 8076f2ac1bd2b68b7015fb1fb936bd6907946756 Issue #384 Un-ignore the warnings when testing for them, in case someone runs py.test with the PYTHONWARNINGS environment variable set diff --git a/c/test_c.py b/c/test_c.py --- a/c/test_c.py +++ b/c/test_c.py @@ -3968,6 +3968,7 @@ z3 = cast(BVoidP, 0) z4 = cast(BUCharP, 0) with warnings.catch_warnings(record=True) as w: + warnings.simplefilter("always") newp(new_pointer_type(BIntP), z1) # warn assert len(w) == 1 newp(new_pointer_type(BVoidP), z1) # fine diff --git a/testing/cffi0/backend_tests.py b/testing/cffi0/backend_tests.py --- a/testing/cffi0/backend_tests.py +++ b/testing/cffi0/backend_tests.py @@ -1386,6 +1386,7 @@ ffi = FFI(backend=self.Backend()) ffi.cdef("enum foo;") with warnings.catch_warnings(record=True) as log: + warnings.simplefilter("always") n = ffi.cast("enum foo", -1) assert int(n) == 0xffffffff assert str(log[0].message) == ( ++++++ python-cffi-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.S9UrKo/_old 2018-09-26 14:53:54.055063028 +0200 +++ /var/tmp/diff_new_pack.S9UrKo/_new 2018-09-26 14:53:54.059063021 +0200 @@ -1,4 +1,4 @@ # cffi specifically installs C headers in site-packages, so : addFilter("devel-file-in-non-devel-package .*/site-packages/cffi/parse_c_type.h") -addFilter("devel-file-in-non-devel-package .*/site-packages/cffi/_cffi_include.h") +addFilter("devel-file-in-non-devel-package .*/site-packages/cffi/_cffi_(include|errors).h") addFilter("devel-file-in-non-devel-package .*/site-packages/cffi/_embedding.h")