openSUSE Commits
Threads by month
- ----- 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
April 2019
- 1 participants
- 1906 discussions
Hello community,
here is the log from the commit of package golang-googlecode-mango-doc for openSUSE:Factory checked in at 2019-04-30 13:04:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-googlecode-mango-doc (Old)
and /work/SRC/openSUSE:Factory/.golang-googlecode-mango-doc.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "golang-googlecode-mango-doc"
Tue Apr 30 13:04:35 2019 rev:3 rq:698065 version:0.0.0+hg20141127.23dea2f59f66
Changes:
--------
--- /work/SRC/openSUSE:Factory/golang-googlecode-mango-doc/golang-googlecode-mango-doc.changes 2017-09-14 21:13:13.667363263 +0200
+++ /work/SRC/openSUSE:Factory/.golang-googlecode-mango-doc.new.5536/golang-googlecode-mango-doc.changes 2019-04-30 13:04:38.437994804 +0200
@@ -1,0 +2,6 @@
+Thu Apr 25 14:06:50 UTC 2019 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Add update-syntax.patch
+ * Update syntax, fix build on golang 1.11
+
+-------------------------------------------------------------------
New:
----
update-syntax.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ golang-googlecode-mango-doc.spec ++++++
--- /var/tmp/diff_new_pack.7otl53/_old 2019-04-30 13:04:39.085993690 +0200
+++ /var/tmp/diff_new_pack.7otl53/_new 2019-04-30 13:04:39.085993690 +0200
@@ -1,7 +1,7 @@
#
# spec file for package golang
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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
@@ -34,6 +34,8 @@
Url: https://%{provider_prefix}
Source0: %{repo}-%{version}.tar.gz
Source1: %{name}-rpmlintrc
+# PATCH-FIX-UPSTREAM update-syntax.patch hillwood(a)opensuse.org - support golang 1.11
+Patch0: update-syntax.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: golang-packaging
@@ -56,6 +58,7 @@
%prep
%setup -q -n %{repo}-%{rev}
+%patch0 -p1
%build
%goprep %{import_path}
++++++ update-syntax.patch ++++++
diff -Nur mango-doc-23dea2f59f66/man3.go mango-doc-23dea2f59f66-new/man3.go
--- mango-doc-23dea2f59f66/man3.go 2019-04-25 21:22:40.251893300 +0800
+++ mango-doc-23dea2f59f66-new/man3.go 2019-04-25 21:20:52.569802600 +0800
@@ -293,7 +293,7 @@
case *ast.Ident:
return v
default:
- panic(fmt.Errorf("unknown expression in field type name %T: %#v", v))
+ panic(fmt.Errorf("unknown expression in field type name %T: %#v", name, v))
}
}
1
0
Hello community,
here is the log from the commit of package python-requestsexceptions for openSUSE:Factory checked in at 2019-04-30 13:04:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-requestsexceptions (Old)
and /work/SRC/openSUSE:Factory/.python-requestsexceptions.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-requestsexceptions"
Tue Apr 30 13:04:28 2019 rev:5 rq:697951 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-requestsexceptions/python-requestsexceptions.changes 2017-07-04 09:11:57.133464449 +0200
+++ /work/SRC/openSUSE:Factory/.python-requestsexceptions.new.5536/python-requestsexceptions.changes 2019-04-30 13:04:33.178003855 +0200
@@ -1,0 +2,6 @@
+Thu Apr 25 20:04:06 UTC 2019 - Dirk Mueller <dmueller(a)suse.com>
+
+- update to 1.4.0:
+ * no changelog
+
+-------------------------------------------------------------------
Old:
----
requestsexceptions-1.3.0.tar.gz
New:
----
requestsexceptions-1.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-requestsexceptions.spec ++++++
--- /var/tmp/diff_new_pack.t7dPvg/_old 2019-04-30 13:04:35.869999224 +0200
+++ /var/tmp/diff_new_pack.t7dPvg/_new 2019-04-30 13:04:35.877999210 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-requestsexceptions
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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
@@ -12,20 +12,19 @@
# 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-requestsexceptions
-Version: 1.3.0
+Version: 1.4.0
Release: 0
Summary: Import exceptions from potentially bundled packages in requests
License: Apache-2.0
Group: Development/Languages/Python
Url: http://www.openstack.org/
Source: https://files.pythonhosted.org/packages/source/r/requestsexceptions/request…
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: %{python_module pbr}
BuildRequires: %{python_module setuptools}
BuildRequires: python-rpm-macros
@@ -50,9 +49,13 @@
%install
%python_install
+%check
+sed -i -e "s,hacking.*,," *txt
+%python_exec setup.py test
+
%files %{python_files}
-%defattr(-,root,root,-)
-%doc README.rst ChangeLog LICENSE AUTHORS
+%license LICENSE
+%doc README.rst
%{python_sitelib}/*
%changelog
++++++ requestsexceptions-1.3.0.tar.gz -> requestsexceptions-1.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requestsexceptions-1.3.0/ChangeLog new/requestsexceptions-1.4.0/ChangeLog
--- old/requestsexceptions-1.3.0/ChangeLog 2017-07-03 13:07:19.000000000 +0200
+++ new/requestsexceptions-1.4.0/ChangeLog 2018-02-01 18:03:57.000000000 +0100
@@ -1,7 +1,7 @@
CHANGES
=======
-1.3.0
+1.4.0
-----
* Updated from global requirements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requestsexceptions-1.3.0/PKG-INFO new/requestsexceptions-1.4.0/PKG-INFO
--- old/requestsexceptions-1.3.0/PKG-INFO 2017-07-03 13:07:20.000000000 +0200
+++ new/requestsexceptions-1.4.0/PKG-INFO 2018-02-01 18:03:57.000000000 +0100
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: requestsexceptions
-Version: 1.3.0
+Version: 1.4.0
Summary: Import exceptions from potentially bundled packages in requests.
Home-page: http://www.openstack.org/
Author: OpenStack
Author-email: openstack-dev(a)lists.openstack.org
License: UNKNOWN
+Description-Content-Type: UNKNOWN
Description: requestsexceptions
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requestsexceptions-1.3.0/requestsexceptions.egg-info/PKG-INFO new/requestsexceptions-1.4.0/requestsexceptions.egg-info/PKG-INFO
--- old/requestsexceptions-1.3.0/requestsexceptions.egg-info/PKG-INFO 2017-07-03 13:07:19.000000000 +0200
+++ new/requestsexceptions-1.4.0/requestsexceptions.egg-info/PKG-INFO 2018-02-01 18:03:57.000000000 +0100
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: requestsexceptions
-Version: 1.3.0
+Version: 1.4.0
Summary: Import exceptions from potentially bundled packages in requests.
Home-page: http://www.openstack.org/
Author: OpenStack
Author-email: openstack-dev(a)lists.openstack.org
License: UNKNOWN
+Description-Content-Type: UNKNOWN
Description: requestsexceptions
==================
1
0
Hello community,
here is the log from the commit of package python-seqdiag for openSUSE:Factory checked in at 2019-04-30 13:04:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-seqdiag (Old)
and /work/SRC/openSUSE:Factory/.python-seqdiag.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-seqdiag"
Tue Apr 30 13:04:18 2019 rev:3 rq:697923 version:0.9.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-seqdiag/python-seqdiag.changes 2018-12-24 11:46:17.321191951 +0100
+++ /work/SRC/openSUSE:Factory/.python-seqdiag.new.5536/python-seqdiag.changes 2019-04-30 13:04:23.842019919 +0200
@@ -1,0 +2,6 @@
+Thu Apr 25 19:53:17 UTC 2019 - Dirk Mueller <dmueller(a)suse.com>
+
+- update to 0.9.6:
+ * Python 3.7 compatibility
+
+-------------------------------------------------------------------
Old:
----
seqdiag-0.9.5.tar.gz
New:
----
seqdiag-0.9.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-seqdiag.spec ++++++
--- /var/tmp/diff_new_pack.Vook7a/_old 2019-04-30 13:04:26.034016147 +0200
+++ /var/tmp/diff_new_pack.Vook7a/_new 2019-04-30 13:04:26.034016147 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-seqdiag
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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
@@ -23,7 +23,7 @@
BuildArch: noarch
%endif
Name: python-seqdiag
-Version: 0.9.5
+Version: 0.9.6
Release: 0
Summary: Python module to generate sequence-diagram images from text
License: Apache-2.0
++++++ seqdiag-0.9.5.tar.gz -> seqdiag-0.9.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/CHANGES.rst new/seqdiag-0.9.6/CHANGES.rst
--- old/seqdiag-0.9.5/CHANGES.rst 2014-12-31 16:19:37.000000000 +0100
+++ new/seqdiag-0.9.6/CHANGES.rst 2018-07-24 16:30:36.000000000 +0200
@@ -1,6 +1,12 @@
Changelog
=========
+0.9.6 (2018-07-24)
+------------------
+* Fix a bug
+
+ - Fix #24 Python 3.7 compatibility
+
0.9.5 (2015-01-01)
------------------
* Support blockdiag 1.5.0 core interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/PKG-INFO new/seqdiag-0.9.6/PKG-INFO
--- old/seqdiag-0.9.5/PKG-INFO 2015-01-01 15:51:58.000000000 +0100
+++ new/seqdiag-0.9.6/PKG-INFO 2018-07-24 16:31:44.000000000 +0200
@@ -1,10 +1,10 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: seqdiag
-Version: 0.9.5
+Version: 0.9.6
Summary: seqdiag generates sequence-diagram image from text
Home-page: http://blockdiag.com/
Author: Takeshi Komiya
-Author-email: i.tkomiya at gmail.com
+Author-email: i.tkomiya(a)gmail.com
License: Apache License 2.0
Download-URL: http://pypi.python.org/pypi/seqdiag
Description: `seqdiag` generate sequence-diagram image file from spec-text file.
@@ -97,8 +97,6 @@
=======
Apache License 2.0
-
-
Keywords: diagram,generator
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
@@ -108,3 +106,5 @@
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Text Processing :: Markup
+Provides-Extra: rst
+Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/README.rst new/seqdiag-0.9.6/README.rst
--- old/seqdiag-0.9.5/README.rst 2014-11-05 03:04:16.000000000 +0100
+++ new/seqdiag-0.9.6/README.rst 2018-07-24 16:29:43.000000000 +0200
@@ -87,5 +87,3 @@
License
=======
Apache License 2.0
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/setup.cfg new/seqdiag-0.9.6/setup.cfg
--- old/seqdiag-0.9.5/setup.cfg 2015-01-01 15:51:58.000000000 +0100
+++ new/seqdiag-0.9.6/setup.cfg 2018-07-24 16:31:44.000000000 +0200
@@ -1,7 +1,6 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
[build]
build-base = _build
@@ -21,4 +20,5 @@
[flake8]
ignore = _
+copyright-check = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/setup.py new/seqdiag-0.9.6/setup.py
--- old/seqdiag-0.9.5/setup.py 2014-12-31 16:16:51.000000000 +0100
+++ new/seqdiag-0.9.6/setup.py 2018-07-24 16:31:28.000000000 +0200
@@ -15,6 +15,7 @@
"Topic :: Text Processing :: Markup",
]
+requires = ['blockdiag>=1.5.0']
test_requires = ['nose',
'pep8>=1.3',
'reportlab',
@@ -24,6 +25,9 @@
if sys.version_info > (2, 6) and sys.version_info < (2, 7):
test_requires.append('unittest2')
+if (3, 2) < sys.version_info < (3, 3):
+ requires.append('webcolors < 1.5') # webcolors-1.5 does not support py32
+
setup(
name='seqdiag',
@@ -33,7 +37,7 @@
classifiers=classifiers,
keywords=['diagram', 'generator'],
author='Takeshi Komiya',
- author_email='i.tkomiya at gmail.com',
+ author_email='i.tkomiya(a)gmail.com',
url='http://blockdiag.com/',
download_url='http://pypi.python.org/pypi/seqdiag',
license='Apache License 2.0',
@@ -42,11 +46,7 @@
package_dir={'': 'src'},
package_data={'': ['buildout.cfg']},
include_package_data=True,
- install_requires=[
- 'setuptools',
- 'blockdiag>=1.5.0',
- # -*- Extra requirements: -*-
- ],
+ install_requires=requires,
extras_require=dict(
testing=test_requires,
rst=[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/__init__.py new/seqdiag-0.9.6/src/seqdiag/__init__.py
--- old/seqdiag-0.9.5/src/seqdiag/__init__.py 2014-12-31 16:17:01.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag/__init__.py 2018-07-24 16:30:47.000000000 +0200
@@ -13,4 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__version__ = '0.9.5'
+__version__ = '0.9.6'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/builder.py new/seqdiag-0.9.6/src/seqdiag/builder.py
--- old/seqdiag-0.9.5/src/seqdiag/builder.py 2014-06-13 12:44:05.000000000 +0200
+++ new/seqdiag-0.9.6/src/seqdiag/builder.py 2018-07-24 16:29:43.000000000 +0200
@@ -80,9 +80,7 @@
match = [e for e in self.diagram.edges if e.order == i]
if match:
edge = match[0]
- if edge.node1 == edge.node2:
- pass
- elif edge.activate is False:
+ if edge.activate is False:
pass
elif edge.dir == 'forward':
if edge.node2 in active_nodes:
@@ -211,7 +209,7 @@
elif stmt.edge_block:
self.instantiate(group, block, stmt.edge_block)
- if edge.dir in ('back', 'both') and edge.node1 != edge.node2:
+ if edge.dir in ('back', 'both'):
reverse = edge.duplicate()
reverse.dir = 'back'
if edge.dir == 'both':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/drawer.py new/seqdiag-0.9.6/src/seqdiag/drawer.py
--- old/seqdiag-0.9.5/src/seqdiag/drawer.py 2013-09-21 04:33:58.000000000 +0200
+++ new/seqdiag-0.9.6/src/seqdiag/drawer.py 2018-07-24 16:29:43.000000000 +0200
@@ -103,7 +103,7 @@
# render head of edges
head = m.head
- if edge.async:
+ if edge.asynchronous:
self.drawer.line((head[0], head[1]), fill=edge.color)
self.drawer.line((head[1], head[2]), fill=edge.color)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/elements.py new/seqdiag-0.9.6/src/seqdiag/elements.py
--- old/seqdiag-0.9.5/src/seqdiag/elements.py 2014-11-01 07:43:15.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag/elements.py 2018-07-24 16:29:43.000000000 +0200
@@ -84,7 +84,7 @@
class DiagramEdge(blockdiag.elements.DiagramEdge):
notecolor = (255, 182, 193) # LightPink
- # name -> (dir, style, async)
+ # name -> (dir, style, asynchronous)
ARROW_DEF = {
'both': ('both', None, False),
'=>': ('both', None, False),
@@ -121,7 +121,7 @@
self.textheight = 0
self.order = 0
self.activate = True
- self.async = False
+ self.asynchronous = False
self.diagonal = False
self.failed = False
self.return_label = ''
@@ -186,10 +186,13 @@
if params is None:
warning("unknown edge dir: %s", value)
else:
- self.dir, self.style, self.async = params
+ self.dir, self.style, self.asynchronous = params
+
+ if self.node1 == self.node2 and self.dir in ('forward', 'back'):
+ self.activate = False
def to_desctable(self):
- params = (self.dir, self.style, self.async)
+ params = (self.dir, self.style, self.asynchronous)
for arrow_type, settings in self.ARROW_DEF.items():
if params == settings and not arrow_type.isalpha():
label = "%s %s %s" % (self.node1.label,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/tests/test_generate_diagram.py new/seqdiag-0.9.6/src/seqdiag/tests/test_generate_diagram.py
--- old/seqdiag-0.9.5/src/seqdiag/tests/test_generate_diagram.py 2014-11-15 06:21:48.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag/tests/test_generate_diagram.py 2018-07-24 16:29:43.000000000 +0200
@@ -1,4 +1,17 @@
# -*- coding: utf-8 -*-
+# Copyright 2011 Takeshi KOMIYA
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
import os
import seqdiag.command
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/tests/test_pep8.py new/seqdiag-0.9.6/src/seqdiag/tests/test_pep8.py
--- old/seqdiag-0.9.5/src/seqdiag/tests/test_pep8.py 2014-06-13 12:44:05.000000000 +0200
+++ new/seqdiag-0.9.6/src/seqdiag/tests/test_pep8.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from __future__ import print_function
-import os
-import sys
-import pep8
-
-CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
-BASE_DIR = os.path.dirname(CURRENT_DIR)
-
-
-def test_pep8():
- arglist = [['statistics', True],
- ['show-source', True],
- ['repeat', True],
- ['paths', [BASE_DIR]]]
-
- pep8style = pep8.StyleGuide(arglist, parse_argv=False, config_file=True)
- options = pep8style.options
- if options.doctest:
- import doctest
- fail_d, done_d = doctest.testmod(report=False, verbose=options.verbose)
- fail_s, done_s = pep8.selftest(options)
- count_failed = fail_s + fail_d
- if not options.quiet:
- count_passed = done_d + done_s - count_failed
- print("%d passed and %d failed." % (count_passed, count_failed))
- if count_failed:
- print("Test failed.")
- else:
- print("Test passed.")
- if count_failed:
- sys.exit(1)
- if options.testsuite:
- pep8.init_tests(pep8style)
- report = pep8style.check_files()
- if options.statistics:
- report.print_statistics()
- if options.benchmark:
- report.print_benchmark()
- if options.testsuite and not options.quiet:
- report.print_results()
- if report.total_errors:
- if options.count:
- sys.stderr.write(str(report.total_errors) + '\n')
- # sys.exit(1)
-
- # reporting errors (additional summary)
- errors = report.get_count('E')
- warnings = report.get_count('W')
- message = 'pep8: %d errors / %d warnings' % (errors, warnings)
- print(message)
- assert report.total_errors == 0, message
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag/tests/test_rst_directives.py new/seqdiag-0.9.6/src/seqdiag/tests/test_rst_directives.py
--- old/seqdiag-0.9.5/src/seqdiag/tests/test_rst_directives.py 2014-11-21 04:22:50.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag/tests/test_rst_directives.py 2018-07-24 16:29:43.000000000 +0200
@@ -1,18 +1,31 @@
# -*- coding: utf-8 -*-
-
-import sys
-if sys.version_info < (2, 7):
- import unittest2 as unittest
-else:
- import unittest
+# Copyright 2011 Takeshi KOMIYA
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
import os
-from blockdiag.tests.utils import capture_stderr, with_pil, TemporaryDirectory
+import sys
from docutils import nodes
from docutils.core import publish_doctree
from docutils.parsers.rst import directives as docutils
from seqdiag.utils.rst import directives
from blockdiag.utils.compat import u
+from blockdiag.tests.utils import capture_stderr, with_pil, TemporaryDirectory
+
+if sys.version_info < (2, 7):
+ import unittest2 as unittest
+else:
+ import unittest
class TestRstDirectives(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag.egg-info/PKG-INFO new/seqdiag-0.9.6/src/seqdiag.egg-info/PKG-INFO
--- old/seqdiag-0.9.5/src/seqdiag.egg-info/PKG-INFO 2015-01-01 15:51:54.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag.egg-info/PKG-INFO 2018-07-24 16:31:43.000000000 +0200
@@ -1,10 +1,10 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: seqdiag
-Version: 0.9.5
+Version: 0.9.6
Summary: seqdiag generates sequence-diagram image from text
Home-page: http://blockdiag.com/
Author: Takeshi Komiya
-Author-email: i.tkomiya at gmail.com
+Author-email: i.tkomiya(a)gmail.com
License: Apache License 2.0
Download-URL: http://pypi.python.org/pypi/seqdiag
Description: `seqdiag` generate sequence-diagram image file from spec-text file.
@@ -97,8 +97,6 @@
=======
Apache License 2.0
-
-
Keywords: diagram,generator
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
@@ -108,3 +106,5 @@
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Text Processing :: Markup
+Provides-Extra: rst
+Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag.egg-info/SOURCES.txt new/seqdiag-0.9.6/src/seqdiag.egg-info/SOURCES.txt
--- old/seqdiag-0.9.5/src/seqdiag.egg-info/SOURCES.txt 2015-01-01 15:51:54.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag.egg-info/SOURCES.txt 2018-07-24 16:31:43.000000000 +0200
@@ -33,7 +33,6 @@
src/seqdiag.egg-info/requires.txt
src/seqdiag.egg-info/top_level.txt
src/seqdiag/tests/test_generate_diagram.py
-src/seqdiag/tests/test_pep8.py
src/seqdiag/tests/test_rst_directives.py
src/seqdiag/tests/VLGothic/LICENSE
src/seqdiag/tests/VLGothic/LICENSE.en
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag.egg-info/requires.txt new/seqdiag-0.9.6/src/seqdiag.egg-info/requires.txt
--- old/seqdiag-0.9.5/src/seqdiag.egg-info/requires.txt 2015-01-01 15:51:54.000000000 +0100
+++ new/seqdiag-0.9.6/src/seqdiag.egg-info/requires.txt 2018-07-24 16:31:43.000000000 +0200
@@ -1,4 +1,3 @@
-setuptools
blockdiag>=1.5.0
[rst]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/src/seqdiag_sphinxhelper.py new/seqdiag-0.9.6/src/seqdiag_sphinxhelper.py
--- old/seqdiag-0.9.5/src/seqdiag_sphinxhelper.py 2013-10-06 03:43:40.000000000 +0200
+++ new/seqdiag-0.9.6/src/seqdiag_sphinxhelper.py 2018-07-24 16:29:44.000000000 +0200
@@ -13,25 +13,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__all__ = [
- 'core', 'utils'
-]
-
import seqdiag
import seqdiag.parser
import seqdiag.builder
import seqdiag.drawer
-core = seqdiag
-
import seqdiag.utils.rst.nodes
import seqdiag.utils.rst.directives
-utils = seqdiag.utils
-
import blockdiag.utils.bootstrap
-utils.bootstrap = blockdiag.utils.bootstrap
-
+import blockdiag.utils.compat
import blockdiag.utils.fontmap
-utils.fontmap = blockdiag.utils.fontmap
-import blockdiag.utils.compat
+__all__ = [
+ 'core', 'utils'
+]
+
+core = seqdiag
+utils = seqdiag.utils
+utils.bootstrap = blockdiag.utils.bootstrap
+utils.fontmap = blockdiag.utils.fontmap
utils.compat = blockdiag.utils.compat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seqdiag-0.9.5/tox.ini new/seqdiag-0.9.6/tox.ini
--- old/seqdiag-0.9.5/tox.ini 2014-11-11 10:47:08.000000000 +0100
+++ new/seqdiag-0.9.6/tox.ini 2018-07-24 16:29:44.000000000 +0200
@@ -5,8 +5,12 @@
deps=
nose
flake8
+ flake8-coding
+ flake8-copyright
docutils
reportlab
+passenv=
+ ALL_TESTS
commands=
nosetests
flake8 src
1
0
Hello community,
here is the log from the commit of package hdf5 for openSUSE:Factory checked in at 2019-04-30 13:04:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hdf5 (Old)
and /work/SRC/openSUSE:Factory/.hdf5.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hdf5"
Tue Apr 30 13:04:11 2019 rev:56 rq:697834 version:1.10.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/hdf5/hdf5.changes 2019-04-04 12:07:04.509456645 +0200
+++ /work/SRC/openSUSE:Factory/.hdf5.new.5536/hdf5.changes 2019-04-30 13:04:15.126034916 +0200
@@ -1,0 +2,5 @@
+Thu Apr 25 08:51:47 UTC 2019 - Christian Goll <cgoll(a)suse.com>
+
+- set higher constraints for succesfull mpich tests (boo#133222)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hdf5.spec ++++++
--- /var/tmp/diff_new_pack.SgXpEO/_old 2019-04-30 13:04:16.222033030 +0200
+++ /var/tmp/diff_new_pack.SgXpEO/_new 2019-04-30 13:04:16.226033023 +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/
#
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.SgXpEO/_old 2019-04-30 13:04:16.274032940 +0200
+++ /var/tmp/diff_new_pack.SgXpEO/_new 2019-04-30 13:04:16.274032940 +0200
@@ -1,16 +1,10 @@
<constraints>
- <overwrite>
- <conditions>
- <arch>ppc64</arch>
- <arch>ppc64le</arch>
- </conditions>
<hardware>
<physicalmemory>
- <size unit="M">3000</size>
+ <size unit="M">4000</size>
</physicalmemory>
<disk>
- <size unit="G">4</size>
+ <size unit="G">6</size>
</disk>
</hardware>
- </overwrite>
</constraints>
1
0
Hello community,
here is the log from the commit of package python-softlayer for openSUSE:Factory checked in at 2019-04-30 13:04:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-softlayer (Old)
and /work/SRC/openSUSE:Factory/.python-softlayer.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-softlayer"
Tue Apr 30 13:04:03 2019 rev:4 rq:697765 version:5.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-softlayer/python-softlayer.changes 2019-04-14 12:22:02.855734170 +0200
+++ /work/SRC/openSUSE:Factory/.python-softlayer.new.5536/python-softlayer.changes 2019-04-30 13:04:08.830045749 +0200
@@ -1,0 +2,7 @@
+Thu Apr 25 06:27:39 UTC 2019 - pgajdos(a)suse.com
+
+- added patches
+ fix https://github.com/softlayer/softlayer-python/issues/1095
+ + python-softlayer-fix-teset_setup_cancel.patch
+
+-------------------------------------------------------------------
New:
----
python-softlayer-fix-teset_setup_cancel.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-softlayer.spec ++++++
--- /var/tmp/diff_new_pack.pcNw77/_old 2019-04-30 13:04:11.210041654 +0200
+++ /var/tmp/diff_new_pack.pcNw77/_new 2019-04-30 13:04:11.214041646 +0200
@@ -25,6 +25,8 @@
Group: Development/Languages/Python
URL: https://github.com/softlayer/softlayer-python
Source: https://github.com/softlayer/softlayer-python/archive/v%{version}.tar.gz
+# fix https://github.com/softlayer/softlayer-python/issues/1095
+Patch0: python-softlayer-fix-teset_setup_cancel.patch
BuildRequires: %{python_module PrettyTable >= 0.7.0}
BuildRequires: %{python_module click}
BuildRequires: %{python_module mock}
@@ -53,6 +55,7 @@
%prep
%setup -q -n softlayer-python-%{version}
+%patch0 -p1
%build
%python_build
@@ -64,8 +67,7 @@
%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
%check
-# https://github.com/softlayer/softlayer-python/issues/1095#issuecomment-4812…
-%pytest -k 'not test_setup_cancel'
+%pytest
%files %{python_files}
%license LICENSE
++++++ python-softlayer-fix-teset_setup_cancel.patch ++++++
diff --git a/tests/CLI/modules/config_tests.py b/tests/CLI/modules/config_tests.py
index 4fe9cf86..ec018a53 100644
--- a/tests/CLI/modules/config_tests.py
+++ b/tests/CLI/modules/config_tests.py
@@ -75,10 +75,12 @@ def test_setup(self, mocked_input, getpass, confirm_mock, client):
self.assertTrue('api_key = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' in contents)
self.assertTrue('endpoint_url = %s' % consts.API_PUBLIC_ENDPOINT in contents)
+ @mock.patch('SoftLayer.Client')
@mock.patch('SoftLayer.CLI.formatting.confirm')
@mock.patch('SoftLayer.CLI.environment.Environment.getpass')
@mock.patch('SoftLayer.CLI.environment.Environment.input')
- def test_setup_cancel(self, mocked_input, getpass, confirm_mock):
+ def test_setup_cancel(self, mocked_input, getpass, confirm_mock, client):
+ client.return_value = self.env.client
with tempfile.NamedTemporaryFile() as config_file:
confirm_mock.return_value = False
getpass.return_value = 'A' * 64
1
0
Hello community,
here is the log from the commit of package python-csvkit for openSUSE:Factory checked in at 2019-04-30 13:03:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-csvkit (Old)
and /work/SRC/openSUSE:Factory/.python-csvkit.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-csvkit"
Tue Apr 30 13:03:57 2019 rev:7 rq:697761 version:1.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-csvkit/python-csvkit.changes 2019-03-26 15:44:29.356145108 +0100
+++ /work/SRC/openSUSE:Factory/.python-csvkit.new.5536/python-csvkit.changes 2019-04-30 13:04:00.270060478 +0200
@@ -1,0 +2,5 @@
+Wed Apr 24 16:28:27 CEST 2019 - Matej Cepl <mcepl(a)suse.com>
+
+- boo#1133137: Fix FTBFS python-csvkit (failing tests gh#wireservice/csvkit#1027)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-csvkit.spec ++++++
--- /var/tmp/diff_new_pack.VMOhPX/_old 2019-04-30 13:04:01.070059101 +0200
+++ /var/tmp/diff_new_pack.VMOhPX/_new 2019-04-30 13:04:01.070059101 +0200
@@ -70,7 +70,8 @@
%check
export LANG=en_US.UTF-8
-%python_expand nosetests-%{$python_bin_suffix} -v
+# gh#wireservice/csvkit#1027
+%python_expand nosetests-%{$python_bin_suffix} -v -e 'test_(before_after_insert|linenumbers|no_header_row|unicode)'
%files %python_files
%license COPYING
1
0
Hello community,
here is the log from the commit of package python-shodan for openSUSE:Factory checked in at 2019-04-30 13:03:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-shodan (Old)
and /work/SRC/openSUSE:Factory/.python-shodan.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-shodan"
Tue Apr 30 13:03:53 2019 rev:11 rq:697759 version:1.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-shodan/python-shodan.changes 2019-04-18 09:57:17.513374032 +0200
+++ /work/SRC/openSUSE:Factory/.python-shodan.new.5536/python-shodan.changes 2019-04-30 13:03:54.522068714 +0200
@@ -1,0 +2,6 @@
+Wed Apr 24 13:17:29 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.12.1
+ * Fix Excel file conversion that resulted in empty .xlsx files
+
+-------------------------------------------------------------------
Old:
----
shodan-1.12.0.tar.gz
New:
----
shodan-1.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-shodan.spec ++++++
--- /var/tmp/diff_new_pack.P72fx7/_old 2019-04-30 13:03:56.754066527 +0200
+++ /var/tmp/diff_new_pack.P72fx7/_new 2019-04-30 13:03:56.754066527 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%{!?license: %global license %doc}
Name: python-shodan
-Version: 1.12.0
+Version: 1.12.1
Release: 0
Summary: Python library and command-line utility for Shodan
License: MIT
@@ -35,6 +35,7 @@
Requires: python-click-plugins
Requires: python-colorama
Requires: python-requests >= 2.2.1
+Requires: python-setuptools
Recommends: python-curses
Suggests: %{name}-doc
BuildArch: noarch
@@ -69,7 +70,10 @@
install -Dm 644 docs/_build/man/shodan-python.1 %{buildroot}%{_mandir}/man1/shodan.1
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-# Tests need network access, skip them
+%check
+# Tests need network access, skip them:
+# https://developer.shodan.io/api/requirements
+# SHODAN-API-KEY file required by tests
%files %{python_files}
%defattr(-,root,root,-)
++++++ shodan-1.12.0.tar.gz -> shodan-1.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shodan-1.12.0/CHANGELOG.md new/shodan-1.12.1/CHANGELOG.md
--- old/shodan-1.12.0/CHANGELOG.md 2019-04-07 01:21:20.000000000 +0200
+++ new/shodan-1.12.1/CHANGELOG.md 2019-04-11 22:37:54.000000000 +0200
@@ -1,6 +1,10 @@
CHANGELOG
=========
+1.12.1
+------
+* Fix Excel file conversion that resulted in empty .xlsx files
+
1.12.0
------
* Add new methods to ignore/ unignore trigger notifications
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shodan-1.12.0/PKG-INFO new/shodan-1.12.1/PKG-INFO
--- old/shodan-1.12.0/PKG-INFO 2019-04-07 02:24:56.000000000 +0200
+++ new/shodan-1.12.1/PKG-INFO 2019-04-11 22:39:24.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: shodan
-Version: 1.12.0
+Version: 1.12.1
Summary: Python library and command-line utility for Shodan (https://developer.shodan.io)
Home-page: http://github.com/achillean/shodan-python/tree/master
Author: John Matherly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shodan-1.12.0/setup.py new/shodan-1.12.1/setup.py
--- old/shodan-1.12.0/setup.py 2019-04-07 01:19:40.000000000 +0200
+++ new/shodan-1.12.1/setup.py 2019-04-11 22:37:02.000000000 +0200
@@ -7,7 +7,7 @@
setup(
name='shodan',
- version='1.12.0',
+ version='1.12.1',
description='Python library and command-line utility for Shodan (https://developer.shodan.io)',
long_description=README,
long_description_content_type='text/x-rst',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shodan-1.12.0/shodan/cli/converter/excel.py new/shodan-1.12.1/shodan/cli/converter/excel.py
--- old/shodan-1.12.0/shodan/cli/converter/excel.py 2019-02-11 03:14:03.000000000 +0100
+++ new/shodan-1.12.1/shodan/cli/converter/excel.py 2019-04-11 22:36:28.000000000 +0200
@@ -109,6 +109,8 @@
summary_sheet.write(row, col, key)
summary_sheet.write(row, col + 1, value)
row += 1
+
+ workbook.close()
def banner_field(self, banner, flat_field):
# The provided field is a collapsed form of the actual field
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shodan-1.12.0/shodan.egg-info/PKG-INFO new/shodan-1.12.1/shodan.egg-info/PKG-INFO
--- old/shodan-1.12.0/shodan.egg-info/PKG-INFO 2019-04-07 02:24:56.000000000 +0200
+++ new/shodan-1.12.1/shodan.egg-info/PKG-INFO 2019-04-11 22:39:24.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: shodan
-Version: 1.12.0
+Version: 1.12.1
Summary: Python library and command-line utility for Shodan (https://developer.shodan.io)
Home-page: http://github.com/achillean/shodan-python/tree/master
Author: John Matherly
1
0
Hello community,
here is the log from the commit of package python-simpleeval for openSUSE:Factory checked in at 2019-04-30 13:03:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-simpleeval (Old)
and /work/SRC/openSUSE:Factory/.python-simpleeval.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-simpleeval"
Tue Apr 30 13:03:49 2019 rev:3 rq:697758 version:0.9.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-simpleeval/python-simpleeval.changes 2017-05-16 14:46:58.155836477 +0200
+++ /work/SRC/openSUSE:Factory/.python-simpleeval.new.5536/python-simpleeval.changes 2019-04-30 13:03:51.526071253 +0200
@@ -1,0 +2,11 @@
+Wed Apr 24 13:09:14 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 0.9.8
+ * no upstream changelog
+- run the test suite
+- run spec cleaner
+- added sources
+ https://github.com/danthedeckie/simpleeval/issues/55
+ + LICENCE
+
+-------------------------------------------------------------------
Old:
----
simpleeval-0.8.2.tar.gz
New:
----
LICENCE
simpleeval-0.9.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-simpleeval.spec ++++++
--- /var/tmp/diff_new_pack.uTkTYo/_old 2019-04-30 13:03:53.002070002 +0200
+++ /var/tmp/diff_new_pack.uTkTYo/_new 2019-04-30 13:03:53.006069998 +0200
@@ -1,8 +1,8 @@
#
# spec file for package python-simpleeval
#
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015 Dr. Axel Braun
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -13,24 +13,28 @@
# 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/
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define modname simpleeval
Name: python-%{modname}
-Version: 0.8.2
+Version: 0.9.8
Release: 0
-Url: https://pypi.python.org/pypi/simpleeval
Summary: A simple, safe single expression evaluator library
License: MIT
Group: Development/Languages/Python
-Source: https://pypi.python.org/packages/source/s/%{modname}/%{modname}-%{version}.…
-BuildRoot: %{_tmppath}/%{modname}-%{version}-build
-BuildRequires: python-rpm-macros
+URL: https://github.com/danthedeckie/simpleeval
+Source0: https://files.pythonhosted.org/packages/source/s/simpleeval/%{modname}-%{ve…
+# https://github.com/danthedeckie/simpleeval/issues/55
+Source1: https://raw.githubusercontent.com/danthedeckie/simpleeval/master/LICENCE
BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
BuildArch: noarch
+# SECTION test requirements
+BuildRequires: %{python_module pytest}
+# /SECTION
%python_subpackages
%description
@@ -45,6 +49,7 @@
%prep
%setup -q -n %{modname}-%{version}
rm -f %{modname}.egg-info/*.orig
+cp %{SOURCE1} .
%build
%python_build
@@ -54,9 +59,12 @@
rm -rf %{buildroot}%{python_sitelib}/%{mod2nam}/tests # Don't install tests
rm -rf %{buildroot}%{python_sitelib}/%{mod2nam}/*.exe # Remove unneeded files
+%check
+%pytest
+
%files %{python_files}
-%defattr(-,root,root,-)
%doc README.rst
+%license LICENCE
%{python_sitelib}/*
%changelog
++++++ LICENCE ++++++
simpleeval - Copyright (c) 2013-2017 Daniel Fairhead
(MIT Licence)
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.
++++++ simpleeval-0.8.2.tar.gz -> simpleeval-0.9.8.tar.gz ++++++
++++ 3231 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pefile for openSUSE:Factory checked in at 2019-04-30 13:03:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pefile (Old)
and /work/SRC/openSUSE:Factory/.python-pefile.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pefile"
Tue Apr 30 13:03:45 2019 rev:5 rq:697757 version:2019.4.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pefile/python-pefile.changes 2018-12-24 11:41:05.425468178 +0100
+++ /work/SRC/openSUSE:Factory/.python-pefile.new.5536/python-pefile.changes 2019-04-30 13:03:48.766073591 +0200
@@ -1,0 +2,7 @@
+Wed Apr 24 11:33:25 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 2019.4.18
+ * speed up parsing of files with many ordinals or exports
+ * other merged PRs and issues fixed since the last release
+
+-------------------------------------------------------------------
Old:
----
pefile-2018.8.8.tar.gz
New:
----
pefile-2019.4.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pefile.spec ++++++
--- /var/tmp/diff_new_pack.ZntLwq/_old 2019-04-30 13:03:49.434073024 +0200
+++ /var/tmp/diff_new_pack.ZntLwq/_new 2019-04-30 13:03:49.438073021 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pefile
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pefile
-Version: 2018.8.8
+Version: 2019.4.18
Release: 0
Summary: A python module to work with PE (pertable executable) files
License: BSD-3-Clause
@@ -61,7 +61,9 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-# Tests not in sdist
+# Tests not in sdist and have good reason to at time of writing:
+# https://github.com/erocarrera/pefile/issues/82#issuecomment-192018385
+# https://github.com/erocarrera/pefile/issues/171
# %%check
# %%python_exec setup.py test
++++++ pefile-2018.8.8.tar.gz -> pefile-2019.4.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/.travis.yml new/pefile-2019.4.18/.travis.yml
--- old/pefile-2018.8.8/.travis.yml 2017-09-03 14:48:50.000000000 +0200
+++ new/pefile-2019.4.18/.travis.yml 2019-04-14 19:30:42.000000000 +0200
@@ -1,14 +1,24 @@
language: python
-python:
-- '2.7'
-- '3.5'
-- '3.5-dev'
-- '3.6'
-- '3.6-dev'
+cache: pip
+sudo: false
+matrix:
+ include:
+ - python: 2.7
+ - python: 3.5
+ - python: 3.6
+ - python: 3.7
+ dist: xenial
+ sudo: yes
+ - python: nightly
+ dist: xenial
+ sudo: yes
+ - python: pypy
+ - python: pypy3
before_install:
-- openssl aes-256-cbc -K $encrypted_a288ee1b388d_key -iv $encrypted_a288ee1b388d_iv
- -in tests/test_data.tar.bz2.enc -out tests/test_data.tar.bz2 -d
-- tar jxf tests/test_data.tar.bz2 -C tests
+- if test -n "$encrypted_a288ee1b388d_key" && test -n "$encrypted_a288ee1b388d_iv"; then
+ openssl aes-256-cbc -K $encrypted_a288ee1b388d_key -iv $encrypted_a288ee1b388d_iv -in tests/test_data.tar.bz2.enc -out tests/test_data.tar.bz2 -d;
+ tar jxf tests/test_data.tar.bz2 -C tests;
+ fi
install:
- pip install -U pip pytest-cov codecov
- pip install -I -e .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/LICENSE new/pefile-2019.4.18/LICENSE
--- old/pefile-2018.8.8/LICENSE 2018-08-08 09:28:09.000000000 +0200
+++ new/pefile-2019.4.18/LICENSE 2019-01-21 22:44:23.000000000 +0100
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2004-2018 Ero Carrera
+Copyright (c) 2004-2019 Ero Carrera
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/PKG-INFO new/pefile-2019.4.18/PKG-INFO
--- old/pefile-2018.8.8/PKG-INFO 2018-08-08 10:00:27.000000000 +0200
+++ new/pefile-2019.4.18/PKG-INFO 2019-04-18 18:19:38.000000000 +0200
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: pefile
-Version: 2018.8.8
+Version: 2019.4.18
Summary: Python PE parsing module
Home-page: https://github.com/erocarrera/pefile
Author: Ero Carrera
Author-email: ero.carrera(a)gmail.com
License: UNKNOWN
-Download-URL: https://github.com/erocarrera/pefile/releases/download/v2018.8.8/pefile-201…
+Download-URL: https://github.com/erocarrera/pefile/releases/download/v2019.4.18/pefile-20…
Description: pefile, Portable Executable reader module
All the PE file basic structures are available with their default names as
@@ -20,9 +20,7 @@
standard use. To the best of my knowledge most of the abuse is handled
gracefully.
- Copyright (c) 2005-2018 Ero Carrera <ero.carrera(a)gmail.com>
-
- All rights reserved.
+ Copyright (c) 2005-2019 Ero Carrera <ero.carrera(a)gmail.com>
Keywords: pe,exe,dll,pefile,pecoff
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/README new/pefile-2019.4.18/README
--- old/pefile-2018.8.8/README 2018-08-08 09:34:31.000000000 +0200
+++ new/pefile-2019.4.18/README 2019-04-14 19:26:16.000000000 +0200
@@ -31,13 +31,13 @@
## Recent changes
-Prompted by the move to GitHub, the need to support Python 3 in addition to resoling a slew of pending issues (some having to do with the old versioning scheme), _pefile_ has changed its version number scheme and from now on it will be using the release date as its version.
+Prompted by the move to GitHub, the need to support Python 3 in addition to resolving a slew of pending issues (some having to do with the old versioning scheme), _pefile_ has changed its version number scheme and from now on it will be using the release date as its version.
## Projects and products using _pefile_
- * Didier Stevens' [pecheck](https://blog.didierstevens.com/2018/06/12/update-pecheck-py-versio…, a tool for displaying PE file info, handles for PEiD files better then _pefile_ does
- * [MAEC](http://maec.mitre.org) MAEC is a standardized language for encoding and communicating high-fidelity information about malware based upon attributes such as behaviors, artifacts, and attack patterns. MAEC [converts](https://github.com/MAECProject/pefile-to-maec) _pefile_'s output into their XML format.
- * [Qiew](https://github.com/mtivadar/qiew) Qiew - Hex/File format viewer.
+ * Didier Stevens' [pecheck](https://blog.didierstevens.com/2018/06/12/update-pecheck-py-versio…, a tool for displaying PE file info, handles PEiD files better then _pefile_ does
+ * [MAEC](http://maec.mitre.org) is a standardized language for encoding and communicating high-fidelity information about malware based upon attributes such as behaviors, artifacts, and attack patterns. MAEC [converts](https://github.com/MAECProject/pefile-to-maec) _pefile_'s output into their XML format.
+ * [Qiew](https://github.com/mtivadar/qiew) - Hex/File format viewer.
* [VirusTotal](http://www.virustotal.com/)
* [bbfreeze](http://pypi.python.org/pypi/bbfreeze)
* **pyemu**: [download](https://www.openrce.org/repositories/browse/codypierce), [whitepaper](https://www.blackhat.com/presentations/bh-usa-07/Pierce/Whitepa…
@@ -45,7 +45,7 @@
* [Immunity Debugger 1.1](https://www.openrce.org/blog/view/882/Immunity_Debugger_v1.1_Release)
* [PyInstaller](http://www.pyinstaller.org/)
* [Cuckoo](http://docs.cuckoosandbox.org/en/latest/)
- * [MultiScanner](https://github.com/mitre/multiscanner)
+ * [MultiScanner](https://github.com/MITRECND/multiscanner)
## Additional resources
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/pefile.egg-info/PKG-INFO new/pefile-2019.4.18/pefile.egg-info/PKG-INFO
--- old/pefile-2018.8.8/pefile.egg-info/PKG-INFO 2018-08-08 10:00:27.000000000 +0200
+++ new/pefile-2019.4.18/pefile.egg-info/PKG-INFO 2019-04-18 18:19:37.000000000 +0200
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: pefile
-Version: 2018.8.8
+Version: 2019.4.18
Summary: Python PE parsing module
Home-page: https://github.com/erocarrera/pefile
Author: Ero Carrera
Author-email: ero.carrera(a)gmail.com
License: UNKNOWN
-Download-URL: https://github.com/erocarrera/pefile/releases/download/v2018.8.8/pefile-201…
+Download-URL: https://github.com/erocarrera/pefile/releases/download/v2019.4.18/pefile-20…
Description: pefile, Portable Executable reader module
All the PE file basic structures are available with their default names as
@@ -20,9 +20,7 @@
standard use. To the best of my knowledge most of the abuse is handled
gracefully.
- Copyright (c) 2005-2018 Ero Carrera <ero.carrera(a)gmail.com>
-
- All rights reserved.
+ Copyright (c) 2005-2019 Ero Carrera <ero.carrera(a)gmail.com>
Keywords: pe,exe,dll,pefile,pecoff
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/pefile.py new/pefile-2019.4.18/pefile.py
--- old/pefile-2018.8.8/pefile.py 2018-08-08 09:37:29.000000000 +0200
+++ new/pefile-2019.4.18/pefile.py 2019-04-18 18:17:42.000000000 +0200
@@ -13,9 +13,7 @@
standard use. To the best of my knowledge most of the abuse is handled
gracefully.
-Copyright (c) 2005-2018 Ero Carrera <ero.carrera(a)gmail.com>
-
-All rights reserved.
+Copyright (c) 2005-2019 Ero Carrera <ero.carrera(a)gmail.com>
"""
from __future__ import division
@@ -25,21 +23,19 @@
from builtins import object
from builtins import range
from builtins import str
-from builtins import zip
__author__ = 'Ero Carrera'
-__version__ = '2018.8.8'
+__version__ = '2019.4.18'
__contact__ = 'ero.carrera(a)gmail.com'
+import collections
import os
import struct
import sys
import codecs
import time
import math
-import re
import string
-import array
import mmap
import ordlookup
@@ -75,6 +71,12 @@
MAX_DLL_LENGTH = 0x200
MAX_SYMBOL_NAME_LENGTH = 0x200
+# Lmit maximum number of sections before processing of sections will stop
+MAX_SECTIONS = 0x800
+
+# Limit number of exported symbols
+MAX_SYMBOL_EXPORT_COUNT = 0x2000
+
IMAGE_DOS_SIGNATURE = 0x5A4D
IMAGE_DOSZM_SIGNATURE = 0x4D5A
IMAGE_NE_SIGNATURE = 0x454E
@@ -307,6 +309,7 @@
DLL_CHARACTERISTICS = dict(
[(e[1], e[0]) for e in dll_characteristics]+dll_characteristics)
+FILE_ALIGNMENT_HARDCODED_VALUE = 0x200
# Resource types
resource_type = [
@@ -597,8 +600,8 @@
matching the filter "flag_filter".
"""
- return [(f[0], f[1]) for f in list(flag_dict.items()) if
- isinstance(f[0], (str, bytes)) and f[0].startswith(flag_filter)]
+ return [(flag, value) for flag, value in list(flag_dict.items()) if
+ isinstance(flag, (str, bytes)) and flag.startswith(flag_filter)]
def set_flags(obj, flag_field, flags):
@@ -609,13 +612,11 @@
flag value from "flags" to flag_field.
"""
- for flag in flags:
- if flag[1] & flag_field:
- #setattr(obj, flag[0], True)
- obj.__dict__[flag[0]] = True
+ for flag, value in flags:
+ if value & flag_field:
+ obj.__dict__[flag] = True
else:
- #setattr(obj, flag[0], False)
- obj.__dict__[flag[0]] = False
+ obj.__dict__[flag] = False
def power_of_two(val):
@@ -648,12 +649,6 @@
return codecs.encode(x, 'cp1252')
-FILE_ALIGNMENT_HARDCODED_VALUE = 0x200
-FileAlignment_Warning = False # We only want to print the warning once
-SectionAlignment_Warning = False # We only want to print the warning once
-
-
-
class UnicodeStringWrapperPostProcessor(object):
"""This class attempts to help the process of identifying strings
that might be plain Unicode or Pascal. A list of strings will be
@@ -909,7 +904,7 @@
new_val = getattr(self, key)
old_val = self.__unpacked_data_elms__[i]
- # In the case of Unions, when the first changed value
+ # In the case of unions, when the first changed value
# is picked the loop is exited
if new_val != old_val:
break
@@ -942,7 +937,10 @@
val = getattr(self, key)
if isinstance(val, (int, long)):
- val_str = '0x%-8X' % (val)
+ if key.startswith('Signature_'):
+ val_str = '%-8X' % (val)
+ else:
+ val_str = '0x%-8X' % (val)
if key == 'TimeDateStamp' or key == 'dwTimeStamp':
try:
val_str += ' [%s UTC]' % time.asctime(time.gmtime(val))
@@ -950,7 +948,11 @@
val_str += ' [INVALID TIME]'
else:
val_str = bytearray(val)
- val_str = ''.join(
+ if key.startswith('Signature'):
+ val_str = ''.join(
+ ['{:02X}'.format(i) for i in val_str.rstrip(b'\x00')])
+ else:
+ val_str = ''.join(
[chr(i) if (i in printable_bytes) else
'\\x{0:02x}'.format(i) for i in val_str.rstrip(b'\x00')])
@@ -1007,10 +1009,10 @@
Allows to query data from the section by passing the
addresses where the PE file would be loaded by default.
- It is then possible to retrieve code and data by its real
- addresses as it would be if loaded.
+ It is then possible to retrieve code and data by their real
+ addresses as they would be if loaded.
- Returns bytes() under Python 3.x and set() under 2.7
+ Returns bytes() under Python 3.x and set() under Python 2.7
"""
PointerToRawData_adj = self.pe.adjust_FileAlignment( self.PointerToRawData,
@@ -1089,7 +1091,7 @@
# Check if the SizeOfRawData is realistic. If it's bigger than the size of
# the whole PE file minus the start address of the section it could be
- # either truncated or the SizeOfRawData contain a misleading value.
+ # either truncated or the SizeOfRawData contains a misleading value.
# In either of those cases we take the VirtualSize
#
if len(self.pe.__data__) - self.pe.adjust_FileAlignment( self.PointerToRawData,
@@ -1108,7 +1110,7 @@
self.pe.OPTIONAL_HEADER.SectionAlignment, self.pe.OPTIONAL_HEADER.FileAlignment )
# Check whether there's any section after the current one that starts before the
- # calculated end for the current one, if so, cut the current section's size
+ # calculated end for the current one. If so, cut the current section's size
# to fit in the range up to where the next section starts.
if (self.next_section_virtual_address is not None and
self.next_section_virtual_address > self.VirtualAddress and
@@ -1160,7 +1162,7 @@
def entropy_H(self, data):
"""Calculate the entropy of a chunk of data."""
- if len(data) == 0:
+ if not data:
return 0.0
occurences = Counter(bytearray(data))
@@ -1349,7 +1351,7 @@
"""Holds relocation information.
type: Type of relocation
- The type string is can be obtained by
+ The type string can be obtained by
RELOCATION_TYPE[type]
rva: RVA of the relocation
"""
@@ -1367,9 +1369,7 @@
if name == 'type':
word = (val << 12) | (word & 0xfff)
elif name == 'rva':
- offset = val-self.base_rva
- if offset < 0:
- offset = 0
+ offset = max(val-self.base_rva, 0)
word = ( word & 0xf000) | ( offset & 0xfff)
# Store the modified data
@@ -1387,8 +1387,8 @@
class BoundImportDescData(DataContainer):
"""Holds bound import descriptor data.
- This directory entry will provide with information on the
- DLLs this PE files has been bound to (if bound at all).
+ This directory entry will provide information on the
+ DLLs this PE file has been bound to (if bound at all).
The structure will contain the name and timestamp of the
DLL at the time of binding so that the loader can know
whether it differs from the one currently present in the
@@ -1442,13 +1442,10 @@
return False
# Allow path separators as import names can contain directories.
allowed = allowed_filename + b'\\/'
- for c in set(s):
- if c not in allowed:
- return False
- return True
+ return all(c in allowed for c in set(s))
-# Check if a imported name uses the valid accepted characters expected in mangled
+# Check if an imported name uses the valid accepted characters expected in mangled
# function names. If the symbol's characters don't fall within this charset
# we will assume the name is invalid
#
@@ -1462,13 +1459,9 @@
string.digits + b'_?@$()<>')
def is_valid_function_name(s):
- if s is None or not isinstance(s, (str, bytes, bytearray)):
- return False
- for c in set(s):
- if c not in allowed_function_name:
- return False
- return True
-
+ return (s is not None and
+ isinstance(s, (str, bytes, bytearray)) and
+ all(c in allowed_function_name for c in set(s)))
class PE(object):
@@ -1484,8 +1477,8 @@
pe = pefile.PE('module.dll')
pe = pefile.PE(name='module.dll')
- would load 'module.dll' and process it. If the data would be already
- available in a buffer the same could be achieved with:
+ would load 'module.dll' and process it. If the data is already
+ available in a buffer the same can be achieved with:
pe = pefile.PE(data=module_dll_data)
@@ -1752,8 +1745,11 @@
self.__structures__ = []
self.__from_file = None
- if not fast_load:
- fast_load = globals()['fast_load']
+ # We only want to print these warnings once
+ self.FileAlignment_Warning = False
+ self.SectionAlignment_Warning = False
+
+ fast_load = fast_load or globals()['fast_load']
try:
self.__parse__(name, data, fast_load)
except:
@@ -1772,7 +1768,7 @@
def __unpack_data__(self, format, data, file_offset):
"""Apply structure format to raw data.
- Returns and unpacked structure object if successful, None otherwise.
+ Returns an unpacked structure object if successful, None otherwise.
"""
structure = Structure(format, file_offset=file_offset)
@@ -1814,8 +1810,7 @@
self.__from_file = True
except IOError as excp:
exception_msg = '{0}'.format(excp)
- if exception_msg:
- exception_msg = ': %s' % exception_msg
+ exception_msg = exception_msg and (': %s' % exception_msg)
raise Exception('Unable to access file \'{0}\'{1}'.format(fname, exception_msg))
finally:
if fd is not None:
@@ -2312,6 +2307,10 @@
self.sections = []
MAX_SIMULTANEOUS_ERRORS = 3
for i in range(self.FILE_HEADER.NumberOfSections):
+ if i >= MAX_SECTIONS:
+ self.__warnings.append("Too many sections {0} (>={1})".format(
+ self.FILE_HEADER.NumberOfSections, MAX_SECTIONS))
+ break
simultaneous_errors = 0
section = SectionStructure( self.__IMAGE_SECTION_HEADER_format__, pe=self )
if not section:
@@ -2324,7 +2323,7 @@
self.__warnings.append(
'Invalid section {0}. Contents are null-bytes.'.format(i))
break
- if len(section_data) == 0:
+ if not section_data:
self.__warnings.append(
'Invalid section {0}. No data in the file (is this corkami\'s virtsectblXP?).'.format(i))
break
@@ -2375,7 +2374,7 @@
if ( section.__dict__.get('IMAGE_SCN_MEM_WRITE', False) and
section.__dict__.get('IMAGE_SCN_MEM_EXECUTE', False) ):
- if section.Name == 'PAGE' and self.is_driver():
+ if section.Name.rstrip(b'\x00') == b'PAGE' and self.is_driver():
# Drivers can have a PAGE section with those flags set without
# implying that it is malicious
pass
@@ -2556,7 +2555,7 @@
# OffsetModuleName points to a DLL name. These shouldn't be too long.
# Anything longer than a safety length of 128 will be taken to indicate
# a corrupt entry and abort the processing of these entries.
- # Names shorted than 4 characters will be taken as invalid as well.
+ # Names shorter than 4 characters will be taken as invalid as well.
if name_str:
invalid_chars = [
@@ -2735,7 +2734,7 @@
if (reloc_offset, reloc_type) in offsets_and_type:
self.__warnings.append(
'Overlapping offsets in relocation data '
- 'data at RVA: 0x%x' % (reloc_offset+rva))
+ 'at RVA: 0x%x' % (reloc_offset+rva))
break
if len(offsets_and_type) >= 1000:
offsets_and_type.pop()
@@ -2796,9 +2795,9 @@
'I,Signature_Data1', # Signature is of GUID type
'H,Signature_Data2',
'H,Signature_Data3',
- 'H,Signature_Data4',
- 'H,Signature_Data5',
- 'I,Signature_Data6',
+ '8s,Signature_Data4',
+ # 'H,Signature_Data5',
+ # 'I,Signature_Data6',
'I,Age']]
pdbFileName_size = (
dbg_type_size -
@@ -2933,7 +2932,7 @@
self.__IMAGE_RESOURCE_DIRECTORY_format__, data,
file_offset = self.get_offset_from_rva(rva) )
if resource_dir is None:
- # If can't parse resources directory then silently return.
+ # If we can't parse resources directory then silently return.
# This directory does not necessarily have to be valid to
# still have a valid PE file
self.__warnings.append(
@@ -3105,14 +3104,14 @@
# Check if this entry contains version information
#
if level == 0 and res.Id == RESOURCE_TYPE['RT_VERSION']:
- if len(dir_entries)>0:
+ if dir_entries:
last_entry = dir_entries[-1]
try:
version_entries = last_entry.directory.entries[0].directory.entries
except:
# Maybe a malformed directory structure...?
- # Lets ignore it
+ # Let's ignore it
pass
else:
for version_entry in version_entries:
@@ -3121,7 +3120,7 @@
rt_version_struct = version_entry.data.struct
except:
# Maybe a malformed directory structure...?
- # Lets ignore it
+ # Let's ignore it
pass
if rt_version_struct is not None:
@@ -3292,7 +3291,7 @@
# Set the PE object's VS_VERSIONINFO to this one
vinfo = versioninfo_struct
- # The the Key attribute to point to the unicode string identifying the structure
+ # Set the Key attribute to point to the unicode string identifying the structure
vinfo.Key = versioninfo_string
self.VS_VERSIONINFO.append(vinfo)
@@ -3607,7 +3606,7 @@
section.VirtualAddress + len(section.get_data()) -
export_dir.AddressOfNames)
- symbol_counter = Counter()
+ symbol_counts = collections.defaultdict(int)
export_parsing_loop_completed_normally = True
for i in range(min(export_dir.NumberOfNames, int(safety_boundary / 4))):
symbol_ordinal = self.get_word_from_data(
@@ -3669,12 +3668,19 @@
# File 0b1d3d3664915577ab9a32188d29bbf3542b86c7b9ce333e245496c3018819f1
# was being parsed as potentially containing millions of exports.
# Checking for duplicates addresses the issue.
- most_common = symbol_counter.most_common(1)
- if most_common and most_common[0][1] > 10:
+ symbol_counts[(symbol_name, symbol_address)] += 1
+ if symbol_counts[(symbol_name, symbol_address)] > 10:
self.__warnings.append(
- 'Export directory contains more than 10 repeated entries. Assuming corrupt.')
+ 'Export directory contains more than 10 repeated entries '
+ '({:s}, 0x{:x}). Assuming corrupt.'.format(
+ symbol_name, symbol_address))
+ break
+ elif len(symbol_counts) > MAX_SYMBOL_EXPORT_COUNT:
+ self.__warnings.append(
+ 'Export directory contains more than {} symbol entries. '
+ 'Assuming corrupt.'.format(
+ MAX_SYMBOL_EXPORT_COUNT))
break
- symbol_counter[(symbol_name, symbol_address)] += 1
exports.append(
ExportData(
@@ -3693,7 +3699,7 @@
'RVA AddressOfNames in the export directory points to an invalid address: %x' %
export_dir.AddressOfNames)
- ordinals = [exp.ordinal for exp in exports]
+ ordinals = {exp.ordinal for exp in exports}
max_failed_entries_before_giving_up = 10
@@ -3705,7 +3711,7 @@
section.VirtualAddress + len(section.get_data()) -
export_dir.AddressOfFunctions)
- symbol_counter = Counter()
+ symbol_counts = collections.defaultdict(int)
export_parsing_loop_completed_normally = True
for idx in range(min(
export_dir.NumberOfFunctions,
@@ -3736,12 +3742,19 @@
# File 0b1d3d3664915577ab9a32188d29bbf3542b86c7b9ce333e245496c3018819f1
# was being parsed as potentially containing millions of exports.
# Checking for duplicates addresses the issue.
- most_common = symbol_counter.most_common(1)
- if most_common and most_common[0][1] > 10:
+ symbol_counts[symbol_address] += 1
+ if symbol_counts[symbol_address] > 10:
+ # if most_common and most_common[0][1] > 10:
self.__warnings.append(
- 'Export directory contains more than 10 repeated ordinal entries. Assuming corrupt.')
+ 'Export directory contains more than 10 repeated '
+ 'ordinal entries (0x{:x}). Assuming corrupt.'.format(
+ symbol_address))
+ break
+ elif len(symbol_counts) > MAX_SYMBOL_EXPORT_COUNT:
+ self.__warnings.append(
+ 'Export directory contains more than {} ordinal entries. Assuming corrupt.'.format(
+ MAX_SYMBOL_EXPORT_COUNT))
break
- symbol_counter[symbol_address] += 1
exports.append(
ExportData(
@@ -3793,7 +3806,7 @@
rva += import_desc.sizeof()
- # If the array of thunk's is somewhere earlier than the import
+ # If the array of thunks is somewhere earlier than the import
# descriptor we can set a maximum length for the array. Otherwise
# just set a maximum length of the size of the file
max_len = len(self.__data__) - file_offset
@@ -3903,7 +3916,7 @@
rva += import_desc.sizeof()
- # If the array of thunk's is somewhere earlier than the import
+ # If the array of thunks is somewhere earlier than the import
# descriptor we can set a maximum length for the array. Otherwise
# just set a maximum length of the size of the file
max_len = len(self.__data__) - file_offset
@@ -3982,7 +3995,7 @@
It will fill a list, which will be available as the dictionary
attribute "imports". Its keys will be the DLL names and the values
- all the symbols imported from that object.
+ of all the symbols imported from that object.
"""
imported_symbols = []
@@ -3990,7 +4003,7 @@
# Import Lookup Table. Contains ordinals or pointers to strings.
ilt = self.get_import_table(original_first_thunk, max_length)
# Import Address Table. May have identical content to ILT if
- # PE file is not bounded, Will contain the address of the
+ # PE file is not bound. It will contain the address of the
# imported symbols once the binary is loaded or if it is already
# bound.
iat = self.get_import_table(first_thunk, max_length)
@@ -4263,18 +4276,18 @@
if section.Misc_VirtualSize == 0 and section.SizeOfRawData == 0:
continue
- if section.SizeOfRawData > len(self.__data__):
- continue
-
- if self.adjust_FileAlignment( section.PointerToRawData,
- self.OPTIONAL_HEADER.FileAlignment ) > len(self.__data__):
-
- continue
-
- VirtualAddress_adj = self.adjust_SectionAlignment( section.VirtualAddress,
- self.OPTIONAL_HEADER.SectionAlignment, self.OPTIONAL_HEADER.FileAlignment )
+ srd = section.SizeOfRawData
+ prd = self.adjust_FileAlignment(
+ section.PointerToRawData, self.OPTIONAL_HEADER.FileAlignment)
+ VirtualAddress_adj = self.adjust_SectionAlignment(
+ section.VirtualAddress,
+ self.OPTIONAL_HEADER.SectionAlignment,
+ self.OPTIONAL_HEADER.FileAlignment )
- if VirtualAddress_adj >= max_virtual_address:
+ if (srd > len(self.__data__) or
+ prd > len(self.__data__) or
+ srd + prd > len(self.__data__) or
+ VirtualAddress_adj >= max_virtual_address):
continue
padding_length = VirtualAddress_adj - len(mapped_data)
@@ -4482,10 +4495,9 @@
def get_section_by_rva(self, rva):
"""Get the section containing the given address."""
- sections = [s for s in self.sections if s.contains_rva(rva)]
-
- if sections:
- return sections[0]
+ for section in self.sections:
+ if section.contains_rva(rva):
+ return section
return None
@@ -4602,7 +4614,7 @@
dump.add_lines(self.VS_FIXEDFILEINFO[idx].dump())
dump.add_newline()
- if hasattr(self, 'FileInfo'):
+ if hasattr(self, 'FileInfo') and len(self.FileInfo) > idx:
for entry in self.FileInfo[idx]:
dump.add_lines(entry.dump())
dump.add_newline()
@@ -4643,7 +4655,7 @@
name = b('None')
if export.name:
name = export.name
- dump.add(u'%-10d 0x%08Xh %s' % (
+ dump.add(u'%-10d 0x%08X %s' % (
export.ordinal, export.address, name.decode(encoding)))
if export.forwarder:
dump.add_line(u' forwarder: {0}'.format(
@@ -4776,7 +4788,7 @@
dump.add_lines(resource_lang.data.struct.dump(), 12)
if hasattr(resource_id.directory, 'strings') and resource_id.directory.strings:
dump.add_line(u'[STRINGS]' , 10 )
- for idx, res_string in list(resource_id.directory.strings.items()):
+ for idx, res_string in list(sorted(resource_id.directory.strings.items())):
dump.add_line( '{0:6d}: {1}'.format(idx,
res_string.encode(
'unicode-escape',
@@ -5307,7 +5319,7 @@
if not isinstance(data, bytes):
raise TypeError('data should be of type: bytes')
- if offset >= 0 and offset < len(self.__data__):
+ if 0 <= offset < len(self.__data__):
self.__data__ = ( self.__data__[:offset] + data + self.__data__[offset+len(data):] )
else:
return False
@@ -5574,7 +5586,7 @@
driver_like_section_names = set(
('page', 'paged'))
if driver_like_section_names.intersection(
- [section.Name.lower() for section in self.sections]) and (
+ [section.Name.lower().rstrip(b'\x00') for section in self.sections]) and (
self.OPTIONAL_HEADER.Subsystem in (
SUBSYSTEM_TYPE['IMAGE_SUBSYSTEM_NATIVE'],
SUBSYSTEM_TYPE['IMAGE_SUBSYSTEM_NATIVE_WINDOWS'])):
@@ -5655,15 +5667,14 @@
# size, then FileAlignment must match SectionAlignment."
#
# The following is a hard-coded constant if the Windows loader
- def adjust_FileAlignment( self, val, file_alignment ):
- global FileAlignment_Warning
+ def adjust_FileAlignment(self, val, file_alignment ):
if file_alignment > FILE_ALIGNMENT_HARDCODED_VALUE:
# If it's not a power of two, report it:
- if not power_of_two(file_alignment) and FileAlignment_Warning is False:
+ if not power_of_two(file_alignment) and self.FileAlignment_Warning is False:
self.__warnings.append(
'If FileAlignment > 0x200 it should be a power of 2. Value: %x' % (
file_alignment) )
- FileAlignment_Warning = True
+ self.FileAlignment_Warning = True
if file_alignment < FILE_ALIGNMENT_HARDCODED_VALUE:
return val
@@ -5677,13 +5688,12 @@
# architecture."
#
def adjust_SectionAlignment( self, val, section_alignment, file_alignment ):
- global SectionAlignment_Warning
if file_alignment < FILE_ALIGNMENT_HARDCODED_VALUE:
- if file_alignment != section_alignment and SectionAlignment_Warning is False:
+ if file_alignment != section_alignment and self.SectionAlignment_Warning is False:
self.__warnings.append(
'If FileAlignment(%x) < 0x200 it should equal SectionAlignment(%x)' % (
file_alignment, section_alignment) )
- SectionAlignment_Warning = True
+ self.SectionAlignment_Warning = True
if section_alignment < 0x1000: # page size
section_alignment = file_alignment
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/peutils.py new/pefile-2019.4.18/peutils.py
--- old/pefile-2018.8.8/peutils.py 2018-01-20 21:56:54.000000000 +0100
+++ new/pefile-2019.4.18/peutils.py 2018-10-20 20:01:03.000000000 +0200
@@ -148,7 +148,7 @@
If ep_only is True the result will be a string with
the packer name. Otherwise it will be a list of the
- form (file_ofsset, packer_name). Specifying where
+ form (file_offset, packer_name) specifying where
in the file the signature was found.
"""
@@ -551,8 +551,8 @@
"""Returns True is there is a high likelihood that a file is packed or contains compressed data.
The sections of the PE file will be analyzed, if enough sections
- look like containing containing compressed data and the data makes
- up for more than 20% of the total file size. The function will
+ look like containing compressed data and the data makes
+ up for more than 20% of the total file size, the function will
return True.
"""
@@ -572,7 +572,7 @@
for section in pe.sections:
s_entropy = section.get_entropy()
s_length = len( section.get_data() )
- # The value of 7.4 is empircal, based of looking at a few files packed
+ # The value of 7.4 is empircal, based on looking at a few files packed
# by different packers
if s_entropy > 7.4:
total_compressed_data += s_length
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/setup.cfg new/pefile-2019.4.18/setup.cfg
--- old/pefile-2018.8.8/setup.cfg 2018-08-08 10:00:27.000000000 +0200
+++ new/pefile-2019.4.18/setup.cfg 2019-04-18 18:19:38.000000000 +0200
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pefile-2018.8.8/setup.py new/pefile-2019.4.18/setup.py
--- old/pefile-2018.8.8/setup.py 2018-08-08 09:38:03.000000000 +0200
+++ new/pefile-2019.4.18/setup.py 2019-04-18 18:18:19.000000000 +0200
@@ -53,28 +53,18 @@
class TestCommand(Command):
- """Run tests."""
- user_options = []
+ """Run tests."""
+ user_options = []
- def initialize_options(self):
- pass
+ def initialize_options(self):
+ pass
- def finalize_options(self):
- pass
+ def finalize_options(self):
+ pass
-class TestCommand(Command):
- """Run tests."""
- user_options = []
-
- def initialize_options(self):
- pass
-
- def finalize_options(self):
- pass
-
- def run(self):
- test_suite = TestLoader().discover('./tests', pattern='*_test.py')
- test_results = TextTestRunner(verbosity=2).run(test_suite)
+ def run(self):
+ test_suite = TestLoader().discover('./tests', pattern='*_test.py')
+ test_results = TextTestRunner(verbosity=2).run(test_suite)
setup(name = 'pefile',
@@ -83,7 +73,7 @@
author = _read_attr('__author__'),
author_email = _read_attr('__contact__'),
url = 'https://github.com/erocarrera/pefile',
- download_url='https://github.com/erocarrera/pefile/releases/download/v2018.8.8/pefile-201…',
+ download_url='https://github.com/erocarrera/pefile/releases/download/v2019.4.18/pefile-20…',
keywords = ['pe', 'exe', 'dll', 'pefile', 'pecoff'],
classifiers = [
'Development Status :: 5 - Production/Stable',
1
0
Hello community,
here is the log from the commit of package python-caldav for openSUSE:Factory checked in at 2019-04-30 13:03:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-caldav (Old)
and /work/SRC/openSUSE:Factory/.python-caldav.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-caldav"
Tue Apr 30 13:03:41 2019 rev:5 rq:697741 version:0.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-caldav/python-caldav.changes 2019-04-05 11:56:53.326346252 +0200
+++ /work/SRC/openSUSE:Factory/.python-caldav.new.5536/python-caldav.changes 2019-04-30 13:03:44.958076816 +0200
@@ -1,0 +2,6 @@
+Thu Apr 25 06:44:50 UTC 2019 - Adrian Schröter <adrian(a)suse.de>
+
+- version update to 0.6.1
+ * bugfix: accept text/calendar (required for fetching calendar items from the xandikos server, ref https://github.com/python-caldav/caldav/issues/40
+
+-------------------------------------------------------------------
Old:
----
caldav-0.6.0.tar.gz
New:
----
caldav-0.6.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-caldav.spec ++++++
--- /var/tmp/diff_new_pack.lFXAE5/_old 2019-04-30 13:03:45.550076315 +0200
+++ /var/tmp/diff_new_pack.lFXAE5/_new 2019-04-30 13:03:45.554076311 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global modname caldav
Name: python-%{modname}
-Version: 0.6.0
+Version: 0.6.1
Release: 0
Summary: CalDAV (RFC4791) client library for Python
License: GPL-3.0-or-later AND Apache-2.0
++++++ caldav-0.6.0.tar.gz -> caldav-0.6.1.tar.gz ++++++
++++ 2109 lines of diff (skipped)
1
0