Hello community, here is the log from the commit of package python-bottle for openSUSE:Factory checked in at 2019-12-11 12:10:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-bottle (Old) and /work/SRC/openSUSE:Factory/.python-bottle.new.4691 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bottle" Wed Dec 11 12:10:47 2019 rev:16 rq:755141 version:0.12.18 Changes: -------- --- /work/SRC/openSUSE:Factory/python-bottle/python-bottle.changes 2019-11-22 10:19:08.077365445 +0100 +++ /work/SRC/openSUSE:Factory/.python-bottle.new.4691/python-bottle.changes 2019-12-11 12:11:48.264571780 +0100 @@ -1,0 +2,9 @@ +Sun Dec 8 16:56:51 UTC 2019 - BenoƮt Monin <benoit.mo...@gmx.fr> + +- update to version 0.12.18: + * Bugfix release to improve Python 3.8+ support +- add the missing LICENSE file +- update the documentation pdf +- remove the executable bit from egg-info files + +------------------------------------------------------------------- Old: ---- bottle-0.12.17.tar.gz New: ---- LICENSE bottle-0.12.18.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-bottle.spec ++++++ --- /var/tmp/diff_new_pack.7Pt0Tz/_old 2019-12-11 12:11:50.036571034 +0100 +++ /var/tmp/diff_new_pack.7Pt0Tz/_new 2019-12-11 12:11:50.040571033 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-bottle # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-bottle -Version: 0.12.17 +Version: 0.12.18 Release: 0 Summary: WSGI framework for small web applications License: MIT @@ -26,6 +26,7 @@ URL: https://bottlepy.org/ Source: https://files.pythonhosted.org/packages/source/b/bottle/bottle-%{version}.tar.gz Source1: http://bottlepy.org/docs/0.12/bottle-docs.pdf +Source2: https://raw.githubusercontent.com/bottlepy/bottle/release-0.12/LICENSE BuildRequires: %{python_module setuptools} BuildRequires: python-rpm-macros BuildArch: noarch @@ -55,7 +56,10 @@ %prep %setup -q -n bottle-%{version} -cp %{SOURCE1} . +cp %{SOURCE1} %{SOURCE2} . + +# remove executable bit, those are not scripts +chmod -x bottle.egg-info/* %build %python_build ++++++ LICENSE ++++++ Copyright (c) 2012, Marcel Hellkamp. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++++++ bottle-0.12.17.tar.gz -> bottle-0.12.18.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottle-0.12.17/LICENSE new/bottle-0.12.18/LICENSE --- old/bottle-0.12.17/LICENSE 2018-12-13 08:26:44.000000000 +0100 +++ new/bottle-0.12.18/LICENSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -Copyright (c) 2012, Marcel Hellkamp. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottle-0.12.17/PKG-INFO new/bottle-0.12.18/PKG-INFO --- old/bottle-0.12.17/PKG-INFO 2019-06-23 19:13:41.000000000 +0200 +++ new/bottle-0.12.18/PKG-INFO 2019-12-01 16:39:57.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: bottle -Version: 0.12.17 +Version: 0.12.18 Summary: Fast and simple WSGI-framework for small web-applications. Home-page: http://bottlepy.org/ Author: Marcel Hellkamp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottle-0.12.17/bottle.egg-info/PKG-INFO new/bottle-0.12.18/bottle.egg-info/PKG-INFO --- old/bottle-0.12.17/bottle.egg-info/PKG-INFO 2019-06-23 19:13:40.000000000 +0200 +++ new/bottle-0.12.18/bottle.egg-info/PKG-INFO 2019-12-01 16:39:57.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: bottle -Version: 0.12.17 +Version: 0.12.18 Summary: Fast and simple WSGI-framework for small web-applications. Home-page: http://bottlepy.org/ Author: Marcel Hellkamp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottle-0.12.17/bottle.egg-info/SOURCES.txt new/bottle-0.12.18/bottle.egg-info/SOURCES.txt --- old/bottle-0.12.17/bottle.egg-info/SOURCES.txt 2019-06-23 19:13:40.000000000 +0200 +++ new/bottle-0.12.18/bottle.egg-info/SOURCES.txt 2019-12-01 16:39:57.000000000 +0100 @@ -1,4 +1,3 @@ -LICENSE MANIFEST.in README.rst bottle.py @@ -9,7 +8,6 @@ bottle.egg-info/top_level.txt test/servertest.py test/test_auth.py -test/test_cli.py test/test_config.py test/test_configdict.py test/test_contextlocals.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottle-0.12.17/bottle.py new/bottle-0.12.18/bottle.py --- old/bottle-0.12.17/bottle.py 2019-06-23 19:12:26.000000000 +0200 +++ new/bottle-0.12.18/bottle.py 2019-12-01 16:35:08.000000000 +0100 @@ -16,7 +16,7 @@ from __future__ import with_statement __author__ = 'Marcel Hellkamp' -__version__ = '0.12.17' +__version__ = '0.12.18' __license__ = 'MIT' # The gevent server adapter needs to patch some modules before they are imported @@ -35,8 +35,8 @@ if _cmd_options.server and _cmd_options.server.startswith('gevent'): import gevent.monkey; gevent.monkey.patch_all() -import base64, cgi, email.utils, functools, hmac, imp, itertools, mimetypes,\ - os, re, subprocess, sys, tempfile, threading, time, warnings +import base64, cgi, email.utils, functools, hmac, itertools, mimetypes,\ + os, re, subprocess, sys, tempfile, threading, time, warnings, hashlib from datetime import date as datedate, datetime, timedelta from tempfile import TemporaryFile @@ -84,7 +84,12 @@ from urllib.parse import urlencode, quote as urlquote, unquote as urlunquote urlunquote = functools.partial(urlunquote, encoding='latin1') from http.cookies import SimpleCookie - from collections import MutableMapping as DictMixin + if py >= (3, 3, 0): + from collections.abc import MutableMapping as DictMixin + from types import ModuleType as new_module + else: + from collections import MutableMapping as DictMixin + from imp import new_module import pickle from io import BytesIO from configparser import ConfigParser @@ -102,6 +107,7 @@ from Cookie import SimpleCookie from itertools import imap import cPickle as pickle + from imp import new_module from StringIO import StringIO as BytesIO from ConfigParser import SafeConfigParser as ConfigParser if py25: @@ -1781,7 +1787,7 @@ ''' Create a virtual package that redirects imports (see PEP 302). ''' self.name = name self.impmask = impmask - self.module = sys.modules.setdefault(name, imp.new_module(name)) + self.module = sys.modules.setdefault(name, new_module(name)) self.module.__dict__.update({'__file__': __file__, '__path__': [], '__all__': [], '__loader__': self}) sys.meta_path.append(self) @@ -2597,7 +2603,7 @@ def cookie_encode(data, key): ''' Encode and sign a pickle-able object. Return a (byte) string ''' msg = base64.b64encode(pickle.dumps(data, -1)) - sig = base64.b64encode(hmac.new(tob(key), msg).digest()) + sig = base64.b64encode(hmac.new(tob(key), msg, digestmod=hashlib.md5).digest()) return tob('!') + sig + tob('?') + msg @@ -2606,7 +2612,7 @@ data = tob(data) if cookie_is_encoded(data): sig, msg = data.split(tob('?'), 1) - if _lscmp(sig[1:], base64.b64encode(hmac.new(tob(key), msg).digest())): + if _lscmp(sig[1:], base64.b64encode(hmac.new(tob(key), msg, digestmod=hashlib.md5).digest())): return pickle.loads(base64.b64decode(msg)) return None @@ -3430,8 +3436,8 @@ # 2: Comments (until end of line, but not the newline itself) _re_tok += '|(#.*)' # 3,4: Open and close grouping tokens - _re_tok += '|([\[\{\(])' - _re_tok += '|([\]\}\)])' + _re_tok += '|([\\[\\{\\(])' + _re_tok += '|([\\]\\}\\)])' # 5,6: Keywords that start or continue a python block (only start of line) _re_tok += '|^([ \\t]*(?:if|for|while|with|try|def|class)\\b)' \ '|^([ \\t]*(?:elif|else|except|finally)\\b)' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bottle-0.12.17/test/test_cli.py new/bottle-0.12.18/test/test_cli.py --- old/bottle-0.12.17/test/test_cli.py 2015-08-03 22:57:07.000000000 +0200 +++ new/bottle-0.12.18/test/test_cli.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- -import bottle, unittest - -class TestRoutes(unittest.TestCase): - - def setUp(self): - # mock bottle.run - self.orig_run = bottle.run - bottle.run = self.fake_run - self.run_calls = [] - - def fake_run(self, *a, **ka): - self.run_calls.append((a, ka)) - - def tearDown(self): - bottle.run = self.orig_run - ++++++ bottle-docs.pdf ++++++ (binary differes)