Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-py3c for openSUSE:Factory checked in at 2021-03-29 18:21:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-py3c (Old) and /work/SRC/openSUSE:Factory/.python-py3c.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-py3c" Mon Mar 29 18:21:14 2021 rev:4 rq:880630 version:1.3.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-py3c/python-py3c.changes 2020-07-15 14:59:55.463111875 +0200 +++ /work/SRC/openSUSE:Factory/.python-py3c.new.2401/python-py3c.changes 2021-03-29 18:21:15.870230728 +0200 @@ -1,0 +2,17 @@ +Sat Mar 20 20:59:07 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- Update to 1.3.1 + * Allow building the documentation without sphinx_rtd_theme +- Release 1.3 + * Tested with Python 3.9.0 + * To help avoid compiler warning about uninitialized members, + extra members are added to the PyModuleDef structure for Python + 2: m_slots, m_traverse, m_clear and m_free. Under Python 2, + they must be set to NULL (usually by continuing to leave them + out). +- Release 1.2 + * Tests updated to pass with Python 3.9.0b3 + * make install now honors DESTDIR to support staged installations +- drop destdir.patch fixed upstream + +------------------------------------------------------------------- Old: ---- destdir.patch py3c-1.1.tar.gz New: ---- py3c-1.3.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-py3c.spec ++++++ --- /var/tmp/diff_new_pack.jnrvF9/_old 2021-03-29 18:21:16.386231256 +0200 +++ /var/tmp/diff_new_pack.jnrvF9/_new 2021-03-29 18:21:16.390231260 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-py3c # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,13 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-py3c -Version: 1.1 +Version: 1.3.1 Release: 0 Summary: Python compatibility headers License: MIT URL: http://py3c.readthedocs.io/ Source: https://github.com/encukou/py3c/archive/v%{version}.tar.gz#/py3c-%{version}.tar.gz Source99: python-py3c-rpmlintrc -Patch0: destdir.patch # Needed for test build BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} @@ -49,7 +48,6 @@ %prep %setup -q -n py3c-%{version} -%patch0 -p1 %build %python_build @@ -57,7 +55,7 @@ %install %python_install # we will use the make install to deploy includes -rm -r %{buildroot}%{_includedir} +rm -r %{buildroot}%{_includedir}/* %make_install prefix=%{_prefix} %python_expand %fdupes %{buildroot}%{$python_sitelib} ++++++ py3c-1.1.tar.gz -> py3c-1.3.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/.github/workflows/main.yml new/py3c-1.3.1/.github/workflows/main.yml --- old/py3c-1.1/.github/workflows/main.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/py3c-1.3.1/.github/workflows/main.yml 2021-01-07 16:57:29.000000000 +0100 @@ -0,0 +1,32 @@ +on: + push: + branches: + - master + - ci-test + pull_request: + branches: + - master + +name: Run Tox tests + +jobs: + tox_test: + name: Tox test + steps: + - uses: actions/checkout@v2 + - name: Run Tox tests + id: test + uses: fedora-python/tox-github-action@master + with: + tox_env: ${{ matrix.tox_env }} + dnf_install: /usr/bin/make + strategy: + matrix: + tox_env: [ + py27-c90, py35-c90, py36-c90, + py27-c99, py35-c99, py36-c99, py37-c99, py38-c99, py39-c99, py310-c99, + py27-c90, py35-cpp, py36-cpp, py37-cpp, py38-cpp, py39-cpp, py310-cpp, + ] + + # Use GitHub's Linux Docker host + runs-on: ubuntu-latest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/.gitignore new/py3c-1.3.1/.gitignore --- old/py3c-1.1/.gitignore 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/.gitignore 2021-01-07 16:57:29.000000000 +0100 @@ -4,4 +4,5 @@ /py3c.pc .eggs dist -*.egg-info \ No newline at end of file +*.egg-info +/.tox diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/.travis.yml new/py3c-1.3.1/.travis.yml --- old/py3c-1.1/.travis.yml 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -language: python - -python: - - "2.7" - - "3.4" - - "3.5" - - "3.5" - - "3.6" - - "3.7" - - "nightly" - -env: - - TEST_USE_CPP=no CFLAGS="-Werror -Wall -std=c90 -Wno-error=strict-aliasing" - - TEST_USE_CPP=no CFLAGS="-Werror -Wall -std=c99 -Wno-error=strict-aliasing" - - TEST_USE_CPP=yes CFLAGS="-Werror -Wall -Wno-error=strict-aliasing" - -matrix: - exclude: - - python: "nightly" - env: TEST_USE_CPP=no CFLAGS="-Werror -Wall -std=c90 -Wno-error=strict-aliasing" - -script: make test-python - -sudo: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/Makefile new/py3c-1.3.1/Makefile --- old/py3c-1.1/Makefile 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/Makefile 2021-01-07 16:57:29.000000000 +0100 @@ -42,12 +42,12 @@ sed -e's:@includedir@:$(realpath $(includedir)):' $< > $@ install: py3c.pc - mkdir -p -m 0755 $(includedir)/py3c - install -m 0644 include/py3c.h $(includedir)/py3c.h - install -m 0644 $(wildcard include/py3c/*.h) $(includedir)/py3c/ + mkdir -p -m 0755 $(DESTDIR)$(includedir)/py3c + install -m 0644 include/py3c.h $(DESTDIR)$(includedir)/py3c.h + install -m 0644 $(wildcard include/py3c/*.h) $(DESTDIR)$(includedir)/py3c/ - mkdir -p -m 0755 $(pkgconfigdir) - install -m 0644 py3c.pc $(pkgconfigdir)/ + mkdir -p -m 0755 $(DESTDIR)$(pkgconfigdir) + install -m 0644 py3c.pc $(DESTDIR)$(pkgconfigdir)/ clean: rm py3c.pc ||: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/doc/source/changelog.rst new/py3c-1.3.1/doc/source/changelog.rst --- old/py3c-1.1/doc/source/changelog.rst 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/doc/source/changelog.rst 2021-01-07 16:57:29.000000000 +0100 @@ -7,6 +7,45 @@ Version History =============== +v1.3.1 (2021-01-07) +----------------- + +Packaging: + +* Allow building the documentation without sphinx_rtd_theme + +There is no neeed to update to 1.3.1 unless you are having trouble building +the documentation. + + +v1.3 (2020-11-29) +----------------- + +Compatibility: + +* Tested with Python 3.9.0 + +Additions: + +* To help avoid compiler warning about uninitialized members, extra members + are added to the ``PyModuleDef`` structure for Python 2: ``m_slots``, + ``m_traverse``, ``m_clear`` and ``m_free``. + Under Python 2, they must be set to NULL (usually by continuing to leave + them out). + + +v1.2 (2020-06-27) +----------------- + +Compatibility: + +* Tests updated to pass with Python 3.9.0b3 + +Build: + +* ``make install`` now honors DESTDIR to support staged installations + + v1.1 (2019-10-04) ----------------- @@ -31,12 +70,15 @@ There are no plans to remove the old macro from py3c. Fixes: + * The PyStr_Concat function no longer causes GCC warnings about being unused. Tests: + * The test suite now fails on unexpected compiler warnings. Packaging: + * py3c is now on PyPI, thanks to @xoviat diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/doc/source/conf.py new/py3c-1.3.1/doc/source/conf.py --- old/py3c-1.1/doc/source/conf.py 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/doc/source/conf.py 2021-01-07 16:57:29.000000000 +0100 @@ -53,9 +53,9 @@ # built documents. # # The short X.Y version. -version = '1.1' +version = '1.3' # The full version, including alpha/beta/rc tags. -release = '1.1' +release = '1.3.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -106,9 +106,8 @@ if not os.environ.get('READTHEDOCS', None): try: import sphinx_rtd_theme - except ():#ImportError: + except ImportError: pass - 1/0 else: html_theme = 'sphinx_rtd_theme' html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/doc/source/contributing.rst new/py3c-1.3.1/doc/source/contributing.rst --- old/py3c-1.1/doc/source/contributing.rst 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/doc/source/contributing.rst 2021-01-07 16:57:29.000000000 +0100 @@ -7,7 +7,7 @@ Contributing to py3c ==================== -.. highlight:: c +.. highlight:: console If you would like to contribute to py3c, be it code, documentation, suggestions, or anything else, please file an issue or send a pull request diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/doc/source/defs.rst new/py3c-1.3.1/doc/source/defs.rst --- old/py3c-1.1/doc/source/defs.rst 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/doc/source/defs.rst 2021-01-07 16:57:29.000000000 +0100 @@ -61,6 +61,8 @@ :c:type:`PyModuleDef` | Python 2: contains ``m_name``, ``m_doc``, ``m_size``, ``m_methods`` fields from Python 3, and ``m_base`` to accomodate PyModuleDef_HEAD_INIT. + Also contains members `m_slots`, `m_traverse`, `m_clear`, `m_free`, + which must be set to NULL. :c:func:`PyModule_Create` | Python 2: calls Py_InitModule3; semantics same as in Python 3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/doc/source/ext-types.rst new/py3c-1.3.1/doc/source/ext-types.rst --- old/py3c-1.1/doc/source/ext-types.rst 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/doc/source/ext-types.rst 2021-01-07 16:57:29.000000000 +0100 @@ -103,10 +103,10 @@ What you need to do depends on your initialization style: -CPython style +C89/C++ style ............. -This style, used in CPython, works in both old C and C++:: +This style is compatible both with older C compilers and with C++:: static PyNumberMethods long_as_number = { (binaryfunc)long_add, /*nb_add*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/doc/source/reference.rst new/py3c-1.3.1/doc/source/reference.rst --- old/py3c-1.1/doc/source/reference.rst 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/doc/source/reference.rst 2021-01-07 16:57:29.000000000 +0100 @@ -95,7 +95,7 @@ .. c:function:: const char* PyStr_AsString(PyObject *s) Return a null-terminated representation of the contents of *s*. - The buffer is owned by *s* and must bot be modified, deallocated, + The buffer is owned by *s* and must not be modified, deallocated, or used after *s* is deallocated. Uses the UTF-8 encoding on Python 3. @@ -306,7 +306,7 @@ PyInt ~~~~~ -These functions allow extensions to make the diistinction between ints +These functions allow extensions to make the distinction between ints and longs on Python 2. All follow the Python 2 API. @@ -430,14 +430,30 @@ .. c:member:: char *m_name + Name of the new module + .. c:member:: char *m_doc + Documentation string, or NULL + .. c:member:: Py_ssize_t m_size Set this to -1. (Or if your module supports :c:func:`subinterpreters <py3:Py_NewInterpreter>`, use 0) .. c:member:: PyMethodDef m_methods + Pointer to a table of module-level functions + + Four more members are provided. + Under Python 2, set them to NULL. + (In a global ``static`` structure, you can leave them out + unless you want to avoid warnings about unitialized members): + + .. c:member:: m_slots + .. c:member:: m_traverse + .. c:member:: m_clear + .. c:member:: m_free + Python 3: :c:type:`(provided) <py3:PyModuleDef>` .. c:macro:: PyModuleDef_HEAD_INIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/include/py3c/compat.h new/py3c-1.3.1/include/py3c/compat.h --- old/py3c-1.1/include/py3c/compat.h 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/include/py3c/compat.h 2021-01-07 16:57:29.000000000 +0100 @@ -5,6 +5,7 @@ #ifndef _PY3C_COMPAT_H_ #define _PY3C_COMPAT_H_ #include <Python.h> +#include <assert.h> #if PY_MAJOR_VERSION >= 3 @@ -122,10 +123,19 @@ const char* m_doc; Py_ssize_t m_size; PyMethodDef *m_methods; + void* m_slots; + void* m_traverse; + void* m_clear; + void* m_free; } PyModuleDef; -#define PyModule_Create(def) \ - Py_InitModule3((def)->m_name, (def)->m_methods, (def)->m_doc) +static PyObject *PyModule_Create(PyModuleDef *def) { + assert(!def->m_slots); + assert(!def->m_traverse); + assert(!def->m_clear); + assert(!def->m_free); + return Py_InitModule3(def->m_name, def->m_methods, def->m_doc); +} #define MODULE_INIT_FUNC(name) \ static PyObject *PyInit_ ## name(void); \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/py3c.pc.in new/py3c-1.3.1/py3c.pc.in --- old/py3c-1.1/py3c.pc.in 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/py3c.pc.in 2021-01-07 16:57:29.000000000 +0100 @@ -8,5 +8,5 @@ #Requires: python #Requires: python3 -Version: 1.1 +Version: 1.3.1 Cflags: -I${includedir} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/setup.cfg new/py3c-1.3.1/setup.cfg --- old/py3c-1.1/setup.cfg 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/setup.cfg 2021-01-07 16:57:29.000000000 +0100 @@ -1,2 +1,13 @@ +[metadata] +name=py3c +version=1.3.1 +description=Python compatibility headers +long_description=file: README.rst +author=Petr Viktorin +author_email=encu...@gmail.com +url=http://py3c.readthedocs.io/ +platforms=any + + [bdist_wheel] -universal=1 \ No newline at end of file +universal=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/setup.py new/py3c-1.3.1/setup.py --- old/py3c-1.1/setup.py 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/setup.py 2021-01-07 16:57:29.000000000 +0100 @@ -11,16 +11,5 @@ if filename.endswith('.h'): yield os.path.join(root, filename) -with open('README.rst') as f: - long_description = f.read() - -setup( - name='py3c', - version='1.1', - description='Python compatibility headers', - long_description=long_description, - author='Petr Viktorin', - author_email='encu...@gmail.com', - url='http://py3c.readthedocs.io/', - headers=list(find_headers()), - platforms='any') +# Static information is in setup.cfg. +setup(headers=list(find_headers())) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/test/test_py3c.c new/py3c-1.3.1/test/test_py3c.c --- old/py3c-1.1/test/test_py3c.c 2019-10-04 14:37:09.000000000 +0200 +++ new/py3c-1.3.1/test/test_py3c.c 2021-01-07 16:57:29.000000000 +0100 @@ -1,3 +1,6 @@ +/* Make sure Py_UNREACHABLE errors out */ +#define RANDALL_WAS_HERE + #include <Python.h> #include "structmember.h" #include <py3c.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py3c-1.1/tox.ini new/py3c-1.3.1/tox.ini --- old/py3c-1.1/tox.ini 1970-01-01 01:00:00.000000000 +0100 +++ new/py3c-1.3.1/tox.ini 2021-01-07 16:57:29.000000000 +0100 @@ -0,0 +1,14 @@ +[tox] +envlist = py{27,34,35,36}-{c90,c99,cpp},py{37,38,39,310}-{c99,cpp} +skipsdist = True + +[testenv] +allowlist_externals = make +commands = make test-python +setenv= + c90: TEST_USE_CPP=no + c90: CFLAGS=-Werror -Wall -std=c90 -Wno-error=strict-aliasing + c99: TEST_USE_CPP=no + c99: CFLAGS=-Werror -Wall -std=c99 -Wno-error=strict-aliasing + cpp: TEST_USE_CPP=yes + cpp: CFLAGS=-Werror -Wall -Wno-error=strict-aliasing