openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
July 2019
- 2 participants
- 2045 discussions
Hello community,
here is the log from the commit of package expat for openSUSE:Factory checked in at 2019-07-08 15:00:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/expat (Old)
and /work/SRC/openSUSE:Factory/.expat.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "expat"
Mon Jul 8 15:00:07 2019 rev:57 rq:713395 version:2.2.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/expat/expat.changes 2019-02-11 21:16:10.183375978 +0100
+++ /work/SRC/openSUSE:Factory/.expat.new.4615/expat.changes 2019-07-08 15:00:08.602454578 +0200
@@ -1,0 +2,22 @@
+Tue Jul 2 10:33:51 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Version update to 2.2.7 (CVE-2018-20843, bsc#1139937)
+ * Security fixes:
+ - CVE-2018-20843 - Fix extraction of namespace prefixes from
+ XML names; XML names with multiple colons could end up in
+ the wrong namespace, and take a high amount of RAM and CPU
+ resources while processing, opening the door to use for
+ denial-of-service attacks
+ * Other changes:
+ - Autotools/CMake: Utilize -fvisibility=hidden to stop
+ exporting non-API symbols
+ - Autotools: Add --without-examples and --without-tests
+ - Autotools: Modernize configure.ac
+ - Autotools: Fix check for -fvisibility=hidden for Clang
+ - Autotools: Fix compilation for lack of docbook2x-man
+ - CMake: Make libdir of pkgconfig expat.pc support multilib
+ - CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR
+ - Remove fallback to bcopy, assume that memmove(3) exists
+- Removed expat-2.2.6-fix-make-clean.patch
+
+-------------------------------------------------------------------
Old:
----
expat-2.2.6-fix-make-clean.patch
expat-2.2.6.tar.bz2
expat-2.2.6.tar.bz2.asc
New:
----
expat-2.2.7.tar.xz
expat-2.2.7.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ expat.spec ++++++
--- /var/tmp/diff_new_pack.fbIma0/_old 2019-07-08 15:00:09.306455642 +0200
+++ /var/tmp/diff_new_pack.fbIma0/_new 2019-07-08 15:00:09.310455648 +0200
@@ -16,19 +16,18 @@
#
-%global unversion 2_2_6
+%global unversion 2_2_7
Name: expat
-Version: 2.2.6
+Version: 2.2.7
Release: 0
Summary: XML Parser Toolkit
License: MIT
Group: Development/Libraries/C and C++
URL: http://libexpat.github.io
-Source0: https://github.com/libexpat/libexpat/releases/download/R_%{unversion}/expat…
+Source0: https://github.com/libexpat/libexpat/releases/download/R_%{unversion}/expat…
Source1: %{name}faq.html
Source2: baselibs.conf
-Source3: https://github.com/libexpat/libexpat/releases/download/R_%{unversion}/expat…
-Patch0: expat-2.2.6-fix-make-clean.patch
+Source3: https://github.com/libexpat/libexpat/releases/download/R_%{unversion}/expat…
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
@@ -63,7 +62,6 @@
%prep
%setup -q
-%patch0 -p1
cp %{SOURCE1} .
rm -f examples/*.dsp
@@ -99,7 +97,6 @@
%doc doc/expat.png doc/reference.html doc/style.css doc/valid-xhtml10.png
%doc examples/elements.c examples/outline.c examples/Makefile.am examples/Makefile.in
%doc AUTHORS Changes
-%{_mandir}/man?/*
%{_bindir}/xmlwf
%files -n libexpat1
1
0
Hello community,
here is the log from the commit of package python-lxml for openSUSE:Factory checked in at 2019-07-08 15:00:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-lxml (Old)
and /work/SRC/openSUSE:Factory/.python-lxml.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-lxml"
Mon Jul 8 15:00:02 2019 rev:72 rq:713340 version:4.3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-lxml/python-lxml.changes 2019-04-09 20:17:47.717754090 +0200
+++ /work/SRC/openSUSE:Factory/.python-lxml.new.4615/python-lxml.changes 2019-07-08 15:00:02.490445336 +0200
@@ -1,0 +2,5 @@
+Tue Jul 2 15:03:15 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Remove generated files
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-lxml.spec ++++++
--- /var/tmp/diff_new_pack.6gv5rG/_old 2019-07-08 15:00:03.234446461 +0200
+++ /var/tmp/diff_new_pack.6gv5rG/_new 2019-07-08 15:00:03.238446467 +0200
@@ -74,10 +74,9 @@
cp %{SOURCE1} .
# remove generated files
-# rm src/lxml/lxml.etree.c
+find -name '*.c' -delete -print
rm src/lxml/lxml.etree.h
rm src/lxml/lxml.etree_api.h
-# rm src/lxml/lxml.objectify.c
%build
export CFLAGS="%{optflags}"
1
0
Hello community,
here is the log from the commit of package python-Sphinx for openSUSE:Factory checked in at 2019-07-08 14:59:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Sphinx (Old)
and /work/SRC/openSUSE:Factory/.python-Sphinx.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Sphinx"
Mon Jul 8 14:59:56 2019 rev:56 rq:713076 version:2.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Sphinx/python-Sphinx.changes 2019-06-18 14:49:26.993683588 +0200
+++ /work/SRC/openSUSE:Factory/.python-Sphinx.new.4615/python-Sphinx.changes 2019-07-08 14:59:57.666438042 +0200
@@ -1,0 +2,7 @@
+Tue Jul 2 14:44:28 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 2.1.2:
+ * #6497: custom lexers fails highlighting when syntax error
+ * #6478, #6488: info field lists are incorrectly recognized
+
+-------------------------------------------------------------------
Old:
----
Sphinx-2.1.1.tar.gz
New:
----
Sphinx-2.1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Sphinx.spec ++++++
--- /var/tmp/diff_new_pack.YNn2tS/_old 2019-07-08 14:59:58.778439723 +0200
+++ /var/tmp/diff_new_pack.YNn2tS/_new 2019-07-08 14:59:58.778439723 +0200
@@ -28,7 +28,7 @@
%endif
%define skip_python2 1
Name: python-Sphinx%{psuffix}
-Version: 2.1.1
+Version: 2.1.2
Release: 0
Summary: Python documentation generator
License: BSD-2-Clause
++++++ Sphinx-2.1.1.tar.gz -> Sphinx-2.1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/CHANGES new/Sphinx-2.1.2/CHANGES
--- old/Sphinx-2.1.1/CHANGES 2019-06-10 15:34:31.000000000 +0200
+++ new/Sphinx-2.1.2/CHANGES 2019-06-19 13:31:54.000000000 +0200
@@ -1,3 +1,12 @@
+Release 2.1.2 (released Jun 19, 2019)
+=====================================
+
+Bugs fixed
+----------
+
+* #6497: custom lexers fails highlighting when syntax error
+* #6478, #6488: info field lists are incorrectly recognized
+
Release 2.1.1 (released Jun 10, 2019)
=====================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/PKG-INFO new/Sphinx-2.1.2/PKG-INFO
--- old/Sphinx-2.1.1/PKG-INFO 2019-06-10 15:35:14.000000000 +0200
+++ new/Sphinx-2.1.2/PKG-INFO 2019-06-19 13:32:20.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: Sphinx
-Version: 2.1.1
+Version: 2.1.2
Summary: Python documentation generator
Home-page: http://sphinx-doc.org/
Author: Georg Brandl
@@ -166,5 +166,5 @@
Classifier: Topic :: Utilities
Requires-Python: >=3.5
Description-Content-Type: text/x-rst
-Provides-Extra: docs
Provides-Extra: test
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/Sphinx.egg-info/PKG-INFO new/Sphinx-2.1.2/Sphinx.egg-info/PKG-INFO
--- old/Sphinx-2.1.1/Sphinx.egg-info/PKG-INFO 2019-06-10 15:35:04.000000000 +0200
+++ new/Sphinx-2.1.2/Sphinx.egg-info/PKG-INFO 2019-06-19 13:32:12.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: Sphinx
-Version: 2.1.1
+Version: 2.1.2
Summary: Python documentation generator
Home-page: http://sphinx-doc.org/
Author: Georg Brandl
@@ -166,5 +166,5 @@
Classifier: Topic :: Utilities
Requires-Python: >=3.5
Description-Content-Type: text/x-rst
-Provides-Extra: docs
Provides-Extra: test
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/setup.cfg new/Sphinx-2.1.2/setup.cfg
--- old/Sphinx-2.1.1/setup.cfg 2019-06-10 15:35:14.000000000 +0200
+++ new/Sphinx-2.1.2/setup.cfg 2019-06-19 13:32:20.000000000 +0200
@@ -5,9 +5,6 @@
tag_build =
tag_date = 0
-[bdist_wheel]
-universal = 1
-
[aliases]
release = egg_info -Db ''
upload = upload --sign --identity=36580288
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/sphinx/__init__.py new/Sphinx-2.1.2/sphinx/__init__.py
--- old/Sphinx-2.1.1/sphinx/__init__.py 2019-06-10 15:34:11.000000000 +0200
+++ new/Sphinx-2.1.2/sphinx/__init__.py 2019-06-19 13:31:54.000000000 +0200
@@ -32,8 +32,8 @@
warnings.filterwarnings('ignore', "'U' mode is deprecated",
DeprecationWarning, module='docutils.io')
-__version__ = '2.1.1'
-__released__ = '2.1.1' # used when Sphinx builds its own docs
+__version__ = '2.1.2'
+__released__ = '2.1.2' # used when Sphinx builds its own docs
#: Version info for better programmatic use.
#:
@@ -43,7 +43,7 @@
#:
#: .. versionadded:: 1.2
#: Before version 1.2, check the string ``sphinx.__version__``.
-version_info = (2, 1, 1, 'final', 0)
+version_info = (2, 1, 2, 'final', 0)
package_dir = path.abspath(path.dirname(__file__))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/sphinx/directives/__init__.py new/Sphinx-2.1.2/sphinx/directives/__init__.py
--- old/Sphinx-2.1.1/sphinx/directives/__init__.py 2019-06-10 15:32:06.000000000 +0200
+++ new/Sphinx-2.1.2/sphinx/directives/__init__.py 2019-06-19 13:24:25.000000000 +0200
@@ -73,6 +73,7 @@
def get_field_type_map(self):
# type: () -> Dict[str, Tuple[Field, bool]]
if self._doc_field_type_map == {}:
+ self._doc_field_type_map = {}
for field in self.doc_field_types:
for name in field.names:
self._doc_field_type_map[name] = (field, False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sphinx-2.1.1/sphinx/highlighting.py new/Sphinx-2.1.2/sphinx/highlighting.py
--- old/Sphinx-2.1.1/sphinx/highlighting.py 2019-06-10 15:28:23.000000000 +0200
+++ new/Sphinx-2.1.2/sphinx/highlighting.py 2019-06-19 13:24:25.000000000 +0200
@@ -139,7 +139,8 @@
lexer = lexers['none']
if lang in lexers:
- lexer = lexers[lang]
+ # just return custom lexers here (without installing raiseonerror filter)
+ return lexers[lang]
elif lang in lexer_classes:
lexer = lexer_classes[lang](**opts)
else:
1
0
Hello community,
here is the log from the commit of package presage for openSUSE:Factory checked in at 2019-07-08 14:59:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/presage (Old)
and /work/SRC/openSUSE:Factory/.presage.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "presage"
Mon Jul 8 14:59:50 2019 rev:18 rq:713072 version:0.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/presage/presage.changes 2019-06-27 16:23:05.614331142 +0200
+++ /work/SRC/openSUSE:Factory/.presage.new.4615/presage.changes 2019-07-08 14:59:51.430428613 +0200
@@ -1,0 +2,14 @@
+Tue Jul 2 13:26:59 UTC 2019 - Stefan Brüns <stefan.bruens(a)rwth-aachen.de>
+
+- Add explicit BuildRequires for pkg-config for doc flavor, otherwise
+ configuration on Leap 15.x / SLE 15 fails.
+- Disable build and checks for tools/bindings when building API docs.
+
+-------------------------------------------------------------------
+Thu Jun 27 00:14:16 UTC 2019 - Stefan Brüns <stefan.bruens(a)rwth-aachen.de>
+
+- Make the package name dependent on the flavor, otherwise OBS can not track
+ the packages correctly and keeps blocking until all flavors are finished.
+- Remove unnneded Requires: presage in devel subpackge
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ presage.spec ++++++
--- /var/tmp/diff_new_pack.FGpsUG/_old 2019-07-08 14:59:52.142429691 +0200
+++ /var/tmp/diff_new_pack.FGpsUG/_new 2019-07-08 14:59:52.146429696 +0200
@@ -17,16 +17,22 @@
%global flavor @BUILD_FLAVOR@%{nil}
+%global sname presage
+%if "%{flavor}" != ""
+%global pname %{sname}-%{flavor}
+%else
+%global pname %{sname}
+%endif
%define py_ver %(python -c "import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v" 2>/dev/null || echo PYTHON-NOT-FOUND)
-Name: presage
+Name: %pname
Version: 0.9.1
Release: 0
Summary: Intelligent predictive text entry platform (tools and demos)
License: GPL-2.0-only
Group: Productivity/Text/Utilities
Url: http://presage.sourceforge.net
-Source: http://ncu.dl.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{…
+Source: http://ncu.dl.sourceforge.net/project/%{sname}/%{sname}/%{version}/%{sname}…
# PATCH-FIX-UPSTREAM jzheng(a)suse.com - fix ncurese builds in openSUSE
Patch0: presage-0.8.9-ncurses_flag.patch
# PATCH-FIX-UPSTREAM i(a)marguerite.su - port to cmuclmtk
@@ -46,12 +52,13 @@
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
-%if "%{flavor}" == doc
+%if "%{flavor}" == "doc"
# Documentation Start
BuildRequires: doxygen
BuildRequires: ghostscript-fonts-std
BuildRequires: graphviz
BuildRequires: graphviz-gd
+BuildRequires: pkgconfig
# Documentation End
%else
BuildRequires: help2man
@@ -63,7 +70,6 @@
BuildRequires: python-gtk-devel
BuildRequires: python-xlib
BuildRequires: swig
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version}
BuildRequires: dbus-1-glib-devel
BuildRequires: dbus-1-python-devel
@@ -90,7 +96,6 @@
%package -n libpresage-devel
Summary: Intelligent predictive text entry platform (development files)
Group: Development/Libraries/C and C++
-Requires: %{name} = %{version}
Requires: libpresage1 = %{version}
%description -n libpresage-devel
@@ -103,7 +108,7 @@
%package -n libpresage1
Summary: Intelligent predictive text entry platform (shared library)
Group: System/Libraries
-Requires: presage-data
+Requires: presage-data = %{version}
%description -n libpresage1
Presage is an intelligent predictive text entry platform.
@@ -198,7 +203,7 @@
%endif
%prep
-%setup -q
+%setup -q -n %{sname}-%{version}
find . -type f -exec sed -i 's/\r//g' "{}" \;
%patch0 -p1
%patch1 -p1
@@ -216,7 +221,8 @@
%build
autoreconf -fi
%if "%{flavor}" == "doc"
-%configure --disable-sqlite
+# nl -ba ./configure
+%configure --disable-sqlite --disable-gprompter --disable-gpresagemate --disable-python-binding
make -C doc %{?_smp_mflags}
%else
export LIBS+="-lm -lgmodule-2.0"
1
0
Hello community,
here is the log from the commit of package libyui-ncurses for openSUSE:Factory checked in at 2019-07-08 14:59:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-ncurses (Old)
and /work/SRC/openSUSE:Factory/.libyui-ncurses.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libyui-ncurses"
Mon Jul 8 14:59:45 2019 rev:46 rq:713066 version:2.52.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-ncurses/libyui-ncurses.changes 2019-06-28 16:34:24.598647079 +0200
+++ /work/SRC/openSUSE:Factory/.libyui-ncurses.new.4615/libyui-ncurses.changes 2019-07-08 14:59:46.634421363 +0200
@@ -1,0 +2,7 @@
+Fri Jun 28 13:52:07 UTC 2019 - Ladislav Slezák <lslezak(a)suse.cz>
+
+- Send the notify events also when some widgets are changed via the
+ REST API (CheckBox, RadioButton, InputField) (bsc#1139747)
+- 2.52.0
+
+-------------------------------------------------------------------
Old:
----
libyui-ncurses-2.51.0.tar.bz2
New:
----
libyui-ncurses-2.52.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libyui-ncurses-doc.spec ++++++
--- /var/tmp/diff_new_pack.SHuKOg/_old 2019-07-08 14:59:47.326422409 +0200
+++ /var/tmp/diff_new_pack.SHuKOg/_new 2019-07-08 14:59:47.326422409 +0200
@@ -20,7 +20,7 @@
%define so_version 10
Name: %{parent}-doc
-Version: 2.51.0
+Version: 2.52.0
Release: 0
Source: %{parent}-%{version}.tar.bz2
++++++ libyui-ncurses.spec ++++++
--- /var/tmp/diff_new_pack.SHuKOg/_old 2019-07-08 14:59:47.366422469 +0200
+++ /var/tmp/diff_new_pack.SHuKOg/_new 2019-07-08 14:59:47.370422475 +0200
@@ -17,7 +17,7 @@
Name: libyui-ncurses
-Version: 2.51.0
+Version: 2.52.0
Release: 0
Source: %{name}-%{version}.tar.bz2
++++++ libyui-ncurses-2.51.0.tar.bz2 -> libyui-ncurses-2.52.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/.travis.yml new/libyui-ncurses-2.52.0/.travis.yml
--- old/libyui-ncurses-2.51.0/.travis.yml 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/.travis.yml 2019-07-02 15:44:07.000000000 +0200
@@ -5,6 +5,8 @@
before_install:
- docker build -t libyui-ncurses-image .
+ # list the installed packages (just for easier debugging)
+ - docker run --rm -it libyui-ncurses-image rpm -qa | sort
script:
# the "libyui-travis" script is included in the base libyui/devel image
# see https://github.com/libyui/docker-devel/blob/master/libyui-travis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/Dockerfile new/libyui-ncurses-2.52.0/Dockerfile
--- old/libyui-ncurses-2.51.0/Dockerfile 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/Dockerfile 2019-07-02 15:44:07.000000000 +0200
@@ -1,4 +1,4 @@
-# Use the libyui/devel image as the base
-FROM libyui/devel
+# Use the libyui-devel image as the base
+FROM registry.opensuse.org/devel/libraries/libyui/containers/libyui-devel:latest
COPY . /usr/src/app
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/VERSION.cmake new/libyui-ncurses-2.52.0/VERSION.cmake
--- old/libyui-ncurses-2.51.0/VERSION.cmake 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/VERSION.cmake 2019-07-02 15:44:07.000000000 +0200
@@ -1,5 +1,5 @@
SET( VERSION_MAJOR "2" )
-SET( VERSION_MINOR "51" )
+SET( VERSION_MINOR "52" )
SET( VERSION_PATCH "0" )
SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/package/libyui-ncurses-doc.spec new/libyui-ncurses-2.52.0/package/libyui-ncurses-doc.spec
--- old/libyui-ncurses-2.51.0/package/libyui-ncurses-doc.spec 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/package/libyui-ncurses-doc.spec 2019-07-02 15:44:07.000000000 +0200
@@ -19,7 +19,7 @@
%define so_version 10
Name: %{parent}-doc
-Version: 2.51.0
+Version: 2.52.0
Release: 0
Source: %{parent}-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/package/libyui-ncurses.changes new/libyui-ncurses-2.52.0/package/libyui-ncurses.changes
--- old/libyui-ncurses-2.51.0/package/libyui-ncurses.changes 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/package/libyui-ncurses.changes 2019-07-02 15:44:07.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Fri Jun 28 13:52:07 UTC 2019 - Ladislav Slezák <lslezak(a)suse.cz>
+
+- Send the notify events also when some widgets are changed via the
+ REST API (CheckBox, RadioButton, InputField) (bsc#1139747)
+- 2.52.0
+
+-------------------------------------------------------------------
Wed Apr 17 13:51:42 UTC 2019 - Ladislav Slezak <lslezak(a)suse.cz>
- Adapt to the latest libyui base library (REST API extension)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/package/libyui-ncurses.spec new/libyui-ncurses-2.52.0/package/libyui-ncurses.spec
--- old/libyui-ncurses-2.51.0/package/libyui-ncurses.spec 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/package/libyui-ncurses.spec 2019-07-02 15:44:07.000000000 +0200
@@ -17,7 +17,7 @@
Name: libyui-ncurses
-Version: 2.51.0
+Version: 2.52.0
Release: 0
Source: %{name}-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCCheckBox.cc new/libyui-ncurses-2.52.0/src/NCCheckBox.cc
--- old/libyui-ncurses-2.51.0/src/NCCheckBox.cc 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCCheckBox.cc 2019-07-02 15:44:07.000000000 +0200
@@ -26,6 +26,7 @@
#include <yui/YUILog.h>
#include "NCurses.h"
#include "NCCheckBox.h"
+#include "YNCursesUI.h"
unsigned char NCCheckBox::statetag[3] = { '?', ' ', 'x' };
@@ -88,6 +89,8 @@
void NCCheckBox::setValue( YCheckBoxState state )
{
+ YCheckBoxState old = value();
+
switch ( state )
{
case YCheckBox_on:
@@ -107,6 +110,14 @@
}
Redraw();
+
+ // trigger the notify event if enabled
+ if (old != state && notify())
+ {
+ NCursesEvent event = NCursesEvent::ValueChanged;
+ event.widget = this;
+ YNCursesUI::ui()->sendEvent(event);
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCDialog.cc new/libyui-ncurses-2.52.0/src/NCDialog.cc
--- old/libyui-ncurses-2.51.0/src/NCDialog.cc 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCDialog.cc 2019-07-02 15:44:07.000000000 +0200
@@ -1081,10 +1081,19 @@
case WEOF:
+ if (pendingEvent)
+ {
+#if VERBOSE_EVENTS
+ yuiDebug() << "Keeping the pending event" << std::endl;
+#endif
+ }
+ else
+ {
if ( timeout_millisec == -1 )
pendingEvent = NCursesEvent::cancel;
else if ( timeout_millisec > 0 )
pendingEvent = NCursesEvent::timeout;
+ }
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCDialog.h new/libyui-ncurses-2.52.0/src/NCDialog.h
--- old/libyui-ncurses-2.51.0/src/NCDialog.h 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCDialog.h 2019-07-02 15:44:07.000000000 +0200
@@ -178,6 +178,11 @@
**/
virtual void activate();
+ // Get the pending event, only for special cases (REST API)
+ NCursesEvent getPendingEvent() { return pendingEvent;}
+ // Set the pending event, makes sense only when simulating the user actions (REST API)
+ void setPendingEvent(NCursesEvent event) { pendingEvent = event;}
+
protected:
enum NCDopts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCInputField.cc new/libyui-ncurses-2.52.0/src/NCInputField.cc
--- old/libyui-ncurses-2.51.0/src/NCInputField.cc 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCInputField.cc 2019-07-02 15:44:07.000000000 +0200
@@ -28,6 +28,7 @@
#include <yui/YUILog.h>
#include "NCurses.h"
#include "NCInputField.h"
+#include "YNCursesUI.h"
#include <wctype.h> // iswalnum()
@@ -177,6 +178,7 @@
void NCInputField::setValue( const std::string & ntext )
{
+ std::string old_value = value();
buffer = NCstring( ntext ).str();
if ( maxInputLength && buffer.length() > maxInputLength )
@@ -188,6 +190,13 @@
curpos = buffer.length();
tUpdate();
+
+ if (notify() && old_value != ntext)
+ {
+ NCursesEvent event = NCursesEvent::ValueChanged;
+ event.widget = this;
+ YNCursesUI::ui()->sendEvent(event);
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCPushButton.cc new/libyui-ncurses-2.52.0/src/NCPushButton.cc
--- old/libyui-ncurses-2.51.0/src/NCPushButton.cc 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCPushButton.cc 2019-07-02 15:44:07.000000000 +0200
@@ -28,6 +28,7 @@
#include "NCDialog.h"
#include "NCurses.h"
#include "NCPushButton.h"
+#include "YNCursesUI.h"
NCPushButton::NCPushButton( YWidget * parent, const std::string & nlabel )
@@ -123,10 +124,11 @@
NC::CENTER );
}
+// pressing the button
void NCPushButton::activate()
{
- // focus the button
- setKeyboardFocus();
- // and fake pressing the RETURN key
- ::ungetch(KEY_RETURN);
+ // send an activation event for this widget
+ NCursesEvent event = NCursesEvent::Activated;
+ event.widget = this;
+ YNCursesUI::ui()->sendEvent(event);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCRadioButton.cc new/libyui-ncurses-2.52.0/src/NCRadioButton.cc
--- old/libyui-ncurses-2.51.0/src/NCRadioButton.cc 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCRadioButton.cc 2019-07-02 15:44:07.000000000 +0200
@@ -27,6 +27,7 @@
#include "NCurses.h"
#include "NCRadioButton.h"
#include "NCRadioButtonGroup.h"
+#include "YNCursesUI.h"
NCRadioButton::NCRadioButton( YWidget * parent,
@@ -96,6 +97,13 @@
}
Redraw();
+
+ if (notify())
+ {
+ NCursesEvent event = NCursesEvent::ValueChanged;
+ event.widget = this;
+ YNCursesUI::ui()->sendEvent(event);
+ }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/NCWidget.h new/libyui-ncurses-2.52.0/src/NCWidget.h
--- old/libyui-ncurses-2.51.0/src/NCWidget.h 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/NCWidget.h 2019-07-02 15:44:07.000000000 +0200
@@ -39,6 +39,8 @@
#define YWIDGET_MAGIC 42
+// debug option: enable verbose event logging
+#define VERBOSE_EVENTS 0
class NCWidget : public tnode<NCWidget*>, protected NCursesError
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/YNCursesUI.cc new/libyui-ncurses-2.52.0/src/YNCursesUI.cc
--- old/libyui-ncurses-2.51.0/src/YNCursesUI.cc 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/YNCursesUI.cc 2019-07-02 15:44:07.000000000 +0200
@@ -451,3 +451,28 @@
return 0;
}
+
+void YNCursesUI::sendEvent( NCursesEvent event )
+{
+ // do not send anything if the events are globally blocked
+ // i.e. allow masking the events caused by changes from the code
+ if (eventsBlocked())
+ {
+#if VERBOSE_EVENTS
+ yuiDebug() << "Events blocked, ignoring event " << event << std::endl;
+#endif
+ return;
+ }
+
+ NCDialog *dialog = dynamic_cast<NCDialog *>(NCDialog::currentDialog(false)); // don't throw
+
+ if (dialog)
+ {
+ yuiDebug() << "Sending event: " << event << std::endl;
+ dialog->setPendingEvent(event);
+ }
+ else
+ {
+ yuiError() << "No dialog" << std::endl;
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.51.0/src/YNCursesUI.h new/libyui-ncurses-2.52.0/src/YNCursesUI.h
--- old/libyui-ncurses-2.51.0/src/YNCursesUI.h 2019-04-17 17:53:37.000000000 +0200
+++ new/libyui-ncurses-2.52.0/src/YNCursesUI.h 2019-07-02 15:44:07.000000000 +0200
@@ -126,6 +126,12 @@
* with sendWidgetID(). This returns the widget or 0 if not found.
**/
YWidget * askSendWidgetID();
+
+ /**
+ * Send an event to the UI. It's used in special cases (REST API) to simulate
+ * the user actions.
+ **/
+ void sendEvent( NCursesEvent event );
};
1
0
Hello community,
here is the log from the commit of package python-pytest4 for openSUSE:Factory checked in at 2019-07-08 14:59:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest4 (Old)
and /work/SRC/openSUSE:Factory/.python-pytest4.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest4"
Mon Jul 8 14:59:39 2019 rev:5 rq:713062 version:4.6.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest4/python-pytest4.changes 2019-06-18 14:49:53.589671744 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest4.new.4615/python-pytest4.changes 2019-07-08 14:59:39.622410761 +0200
@@ -1,0 +2,9 @@
+Tue Jul 2 13:27:39 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 4.6.4:
+ * #5404: Emit a warning when attempting to unwrap a broken object raises an exception, for easier debugging (#5080).
+ * #5444: Fix --stepwise mode when the first file passed on the command-line fails to collect.
+ * #5482: Fix bug introduced in 4.6.0 causing collection errors when passing more than 2 positional arguments to pytest.mark.parametrize.
+ * #5505: Fix crash when discovery fails while using -p no:terminal.
+
+-------------------------------------------------------------------
Old:
----
pytest-4.6.3.tar.gz
New:
----
pytest-4.6.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest4.spec ++++++
--- /var/tmp/diff_new_pack.Oeavdu/_old 2019-07-08 14:59:40.326411825 +0200
+++ /var/tmp/diff_new_pack.Oeavdu/_new 2019-07-08 14:59:40.330411830 +0200
@@ -26,7 +26,7 @@
%bcond_with test
%endif
Name: python-pytest4%{psuffix}
-Version: 4.6.3
+Version: 4.6.4
Release: 0
Summary: Python testing tool with autodiscovery and detailed asserts
License: MIT
@@ -48,7 +48,7 @@
Requires: python-wcwidth
Requires(post): update-alternatives
Requires(postun): update-alternatives
-Conflicts: python-pytest < 4.0
+Conflicts: python-pytest
Provides: python-pytest = %{version}-%{release}
Obsoletes: python-pytest4-doc
BuildArch: noarch
@@ -56,7 +56,7 @@
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module importlib_metadata >= 0.12}
BuildRequires: %{python_module pygments-pytest}
-BuildRequires: %{python_module pytest >= %{version}}
+BuildRequires: %{python_module pytest4 >= %{version}}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: python-funcsigs
BuildRequires: python-mock
++++++ pytest-4.6.3.tar.gz -> pytest-4.6.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/AUTHORS new/pytest-4.6.4/AUTHORS
--- old/pytest-4.6.3/AUTHORS 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/AUTHORS 2019-06-29 04:00:08.000000000 +0200
@@ -135,6 +135,7 @@
Katarzyna Jachim
Katerina Koukiou
Kevin Cox
+Kevin J. Foley
Kodi B. Arfer
Kostis Anagnostopoulos
Kristoffer Nordström
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/CHANGELOG.rst new/pytest-4.6.4/CHANGELOG.rst
--- old/pytest-4.6.3/CHANGELOG.rst 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/CHANGELOG.rst 2019-06-29 04:00:08.000000000 +0200
@@ -18,6 +18,26 @@
.. towncrier release notes start
+pytest 4.6.4 (2019-06-28)
+=========================
+
+Bug Fixes
+---------
+
+- `#5404 <https://github.com/pytest-dev/pytest/issues/5404>`_: Emit a warning when attempting to unwrap a broken object raises an exception,
+ for easier debugging (`#5080 <https://github.com/pytest-dev/pytest/issues/5080>`__).
+
+
+- `#5444 <https://github.com/pytest-dev/pytest/issues/5444>`_: Fix ``--stepwise`` mode when the first file passed on the command-line fails to collect.
+
+
+- `#5482 <https://github.com/pytest-dev/pytest/issues/5482>`_: Fix bug introduced in 4.6.0 causing collection errors when passing
+ more than 2 positional arguments to ``pytest.mark.parametrize``.
+
+
+- `#5505 <https://github.com/pytest-dev/pytest/issues/5505>`_: Fix crash when discovery fails while using ``-p no:terminal``.
+
+
pytest 4.6.3 (2019-06-11)
=========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/PKG-INFO new/pytest-4.6.4/PKG-INFO
--- old/pytest-4.6.3/PKG-INFO 2019-06-11 18:55:35.000000000 +0200
+++ new/pytest-4.6.4/PKG-INFO 2019-06-29 04:00:24.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pytest
-Version: 4.6.3
+Version: 4.6.4
Summary: pytest: simple powerful testing with Python
Home-page: https://docs.pytest.org/en/latest/
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/doc/en/announce/index.rst new/pytest-4.6.4/doc/en/announce/index.rst
--- old/pytest-4.6.3/doc/en/announce/index.rst 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/doc/en/announce/index.rst 2019-06-29 04:00:08.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 2
+ release-4.6.4
release-4.6.3
release-4.6.2
release-4.6.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/doc/en/announce/release-4.6.4.rst new/pytest-4.6.4/doc/en/announce/release-4.6.4.rst
--- old/pytest-4.6.3/doc/en/announce/release-4.6.4.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-4.6.4/doc/en/announce/release-4.6.4.rst 2019-06-29 04:00:08.000000000 +0200
@@ -0,0 +1,22 @@
+pytest-4.6.4
+=======================================
+
+pytest 4.6.4 has just been released to PyPI.
+
+This is a bug-fix release, being a drop-in replacement. To upgrade::
+
+ pip install --upgrade pytest
+
+The full changelog is available at https://docs.pytest.org/en/latest/changelog.html.
+
+Thanks to all who contributed to this release, among them:
+
+* Anthony Sottile
+* Bruno Oliveira
+* Daniel Hahler
+* Thomas Grainger
+* Zac Hatfield-Dodds
+
+
+Happy testing,
+The pytest Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/_pytest/_version.py new/pytest-4.6.4/src/_pytest/_version.py
--- old/pytest-4.6.3/src/_pytest/_version.py 2019-06-11 18:55:34.000000000 +0200
+++ new/pytest-4.6.4/src/_pytest/_version.py 2019-06-29 04:00:23.000000000 +0200
@@ -1,4 +1,4 @@
# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-version = '4.6.3'
+version = '4.6.4'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/_pytest/compat.py new/pytest-4.6.4/src/_pytest/compat.py
--- old/pytest-4.6.3/src/_pytest/compat.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/src/_pytest/compat.py 2019-06-29 04:00:08.000000000 +0200
@@ -377,7 +377,7 @@
else:
def safe_str(v):
- """returns v as string, converting to ascii if necessary"""
+ """returns v as string, converting to utf-8 if necessary"""
try:
return str(v)
except UnicodeError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/_pytest/doctest.py new/pytest-4.6.4/src/_pytest/doctest.py
--- old/pytest-4.6.3/src/_pytest/doctest.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/src/_pytest/doctest.py 2019-06-29 04:00:08.000000000 +0200
@@ -8,6 +8,7 @@
import platform
import sys
import traceback
+import warnings
from contextlib import contextmanager
import pytest
@@ -17,6 +18,7 @@
from _pytest.compat import safe_getattr
from _pytest.fixtures import FixtureRequest
from _pytest.outcomes import Skipped
+from _pytest.warning_types import PytestWarning
DOCTEST_REPORT_CHOICE_NONE = "none"
DOCTEST_REPORT_CHOICE_CDIFF = "cdiff"
@@ -374,10 +376,18 @@
else:
def _mock_aware_unwrap(obj, stop=None):
- if stop is None:
- return real_unwrap(obj, stop=_is_mocked)
- else:
+ try:
+ if stop is None or stop is _is_mocked:
+ return real_unwrap(obj, stop=_is_mocked)
return real_unwrap(obj, stop=lambda obj: _is_mocked(obj) or stop(obj))
+ except Exception as e:
+ warnings.warn(
+ "Got %r when unwrapping %r. This is usually caused "
+ "by a violation of Python's object protocol; see e.g. "
+ "https://github.com/pytest-dev/pytest/issues/5080" % (e, obj),
+ PytestWarning,
+ )
+ raise
inspect.unwrap = _mock_aware_unwrap
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/_pytest/mark/structures.py new/pytest-4.6.4/src/_pytest/mark/structures.py
--- old/pytest-4.6.3/src/_pytest/mark/structures.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/src/_pytest/mark/structures.py 2019-06-29 04:00:08.000000000 +0200
@@ -104,10 +104,7 @@
return cls(parameterset, marks=[], id=None)
@staticmethod
- def _parse_parametrize_args(argnames, argvalues, **_):
- """It receives an ignored _ (kwargs) argument so this function can
- take also calls from parametrize ignoring scope, indirect, and other
- arguments..."""
+ def _parse_parametrize_args(argnames, argvalues, *args, **kwargs):
if not isinstance(argnames, (tuple, list)):
argnames = [x.strip() for x in argnames.split(",") if x.strip()]
force_tuple = len(argnames) == 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/_pytest/nodes.py new/pytest-4.6.4/src/_pytest/nodes.py
--- old/pytest-4.6.3/src/_pytest/nodes.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/src/_pytest/nodes.py 2019-06-29 04:00:08.000000000 +0200
@@ -329,7 +329,7 @@
# Respect explicit tbstyle option, but default to "short"
# (None._repr_failure_py defaults to "long" without "fulltrace" option).
- tbstyle = self.config.getoption("tbstyle")
+ tbstyle = self.config.getoption("tbstyle", "auto")
if tbstyle == "auto":
tbstyle = "short"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/_pytest/stepwise.py new/pytest-4.6.4/src/_pytest/stepwise.py
--- old/pytest-4.6.3/src/_pytest/stepwise.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/src/_pytest/stepwise.py 2019-06-29 04:00:08.000000000 +0200
@@ -29,6 +29,7 @@
self.config = config
self.active = config.getvalue("stepwise")
self.session = None
+ self.report_status = ""
if self.active:
self.lastfailed = config.cache.get("cache/stepwise", None)
@@ -70,12 +71,6 @@
config.hook.pytest_deselected(items=already_passed)
- def pytest_collectreport(self, report):
- if self.active and report.failed:
- self.session.shouldstop = (
- "Error when collecting test, stopping test execution."
- )
-
def pytest_runtest_logreport(self, report):
# Skip this hook if plugin is not active or the test is xfailed.
if not self.active or "xfail" in report.keywords:
@@ -104,7 +99,7 @@
self.lastfailed = None
def pytest_report_collectionfinish(self):
- if self.active and self.config.getoption("verbose") >= 0:
+ if self.active and self.config.getoption("verbose") >= 0 and self.report_status:
return "stepwise: %s" % self.report_status
def pytest_sessionfinish(self, session):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/pytest.egg-info/PKG-INFO new/pytest-4.6.4/src/pytest.egg-info/PKG-INFO
--- old/pytest-4.6.3/src/pytest.egg-info/PKG-INFO 2019-06-11 18:55:34.000000000 +0200
+++ new/pytest-4.6.4/src/pytest.egg-info/PKG-INFO 2019-06-29 04:00:23.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pytest
-Version: 4.6.3
+Version: 4.6.4
Summary: pytest: simple powerful testing with Python
Home-page: https://docs.pytest.org/en/latest/
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/src/pytest.egg-info/SOURCES.txt new/pytest-4.6.4/src/pytest.egg-info/SOURCES.txt
--- old/pytest-4.6.3/src/pytest.egg-info/SOURCES.txt 2019-06-11 18:55:34.000000000 +0200
+++ new/pytest-4.6.4/src/pytest.egg-info/SOURCES.txt 2019-06-29 04:00:24.000000000 +0200
@@ -197,6 +197,7 @@
doc/en/announce/release-4.6.1.rst
doc/en/announce/release-4.6.2.rst
doc/en/announce/release-4.6.3.rst
+doc/en/announce/release-4.6.4.rst
doc/en/announce/sprint2016.rst
doc/en/example/attic.rst
doc/en/example/conftest.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/testing/python/metafunc.py new/pytest-4.6.4/testing/python/metafunc.py
--- old/pytest-4.6.3/testing/python/metafunc.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/testing/python/metafunc.py 2019-06-29 04:00:08.000000000 +0200
@@ -1765,3 +1765,16 @@
result.stdout.fnmatch_lines(
["*test_func_a*0*PASS*", "*test_func_a*2*PASS*", "*test_func_b*10*PASS*"]
)
+
+ def test_parametrize_positional_args(self, testdir):
+ testdir.makepyfile(
+ """
+ import pytest
+
+ @pytest.mark.parametrize("a", [1], False)
+ def test_foo(a):
+ pass
+ """
+ )
+ result = testdir.runpytest()
+ result.assert_outcomes(passed=1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/testing/test_config.py new/pytest-4.6.4/testing/test_config.py
--- old/pytest-4.6.3/testing/test_config.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/testing/test_config.py 2019-06-29 04:00:08.000000000 +0200
@@ -15,6 +15,7 @@
from _pytest.config.findpaths import determine_setup
from _pytest.config.findpaths import get_common_ancestor
from _pytest.config.findpaths import getcfg
+from _pytest.main import EXIT_INTERRUPTED
from _pytest.main import EXIT_NOTESTSCOLLECTED
from _pytest.main import EXIT_OK
from _pytest.main import EXIT_TESTSFAILED
@@ -752,10 +753,10 @@
**{
"conftest": conftest_source,
"subdir/conftest": conftest_source,
- "subdir/test_foo": """
+ "subdir/test_foo": """\
def test_foo(pytestconfig):
assert pytestconfig.getini('foo') == 'subdir'
- """,
+ """,
}
)
@@ -788,6 +789,12 @@
assert "ValueError" in err
+def test_no_terminal_discovery_error(testdir):
+ testdir.makepyfile("raise TypeError('oops!')")
+ result = testdir.runpytest("-p", "no:terminal", "--collect-only")
+ assert result.ret == EXIT_INTERRUPTED
+
+
def test_load_initial_conftest_last_ordering(testdir, _config_for_test):
pm = _config_for_test.pluginmanager
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/testing/test_doctest.py new/pytest-4.6.4/testing/test_doctest.py
--- old/pytest-4.6.3/testing/test_doctest.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/testing/test_doctest.py 2019-06-29 04:00:08.000000000 +0200
@@ -3,11 +3,14 @@
from __future__ import division
from __future__ import print_function
+import inspect
import sys
import textwrap
import pytest
from _pytest.compat import MODULE_NOT_FOUND_ERROR
+from _pytest.doctest import _is_mocked
+from _pytest.doctest import _patch_unwrap_mock_aware
from _pytest.doctest import DoctestItem
from _pytest.doctest import DoctestModule
from _pytest.doctest import DoctestTextfile
@@ -1237,3 +1240,25 @@
)
result = testdir.runpytest("--doctest-modules")
result.stdout.fnmatch_lines(["* 1 passed *"])
+
+
+class Broken:
+ def __getattr__(self, _):
+ raise KeyError("This should be an AttributeError")
+
+
+(a)pytest.mark.skipif(not hasattr(inspect, "unwrap"), reason="nothing to patch")
+(a)pytest.mark.parametrize( # pragma: no branch (lambdas are not called)
+ "stop", [None, _is_mocked, lambda f: None, lambda f: False, lambda f: True]
+)
+def test_warning_on_unwrap_of_broken_object(stop):
+ bad_instance = Broken()
+ assert inspect.unwrap.__module__ == "inspect"
+ with _patch_unwrap_mock_aware():
+ assert inspect.unwrap.__module__ != "inspect"
+ with pytest.warns(
+ pytest.PytestWarning, match="^Got KeyError.* when unwrapping"
+ ):
+ with pytest.raises(KeyError):
+ inspect.unwrap(bad_instance, stop=stop)
+ assert inspect.unwrap.__module__ == "inspect"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-4.6.3/testing/test_stepwise.py new/pytest-4.6.4/testing/test_stepwise.py
--- old/pytest-4.6.3/testing/test_stepwise.py 2019-06-11 18:55:18.000000000 +0200
+++ new/pytest-4.6.4/testing/test_stepwise.py 2019-06-29 04:00:08.000000000 +0200
@@ -157,14 +157,12 @@
assert "test_success PASSED" in stdout
-def test_stop_on_collection_errors(broken_testdir):
- result = broken_testdir.runpytest(
- "-v",
- "--strict-markers",
- "--stepwise",
- "working_testfile.py",
- "broken_testfile.py",
- )
-
- stdout = result.stdout.str()
- assert "errors during collection" in stdout
+(a)pytest.mark.parametrize("broken_first", [True, False])
+def test_stop_on_collection_errors(broken_testdir, broken_first):
+ """Stop during collection errors. Broken test first or broken test last
+ actually surfaced a bug (#5444), so we test both situations."""
+ files = ["working_testfile.py", "broken_testfile.py"]
+ if broken_first:
+ files.reverse()
+ result = broken_testdir.runpytest("-v", "--strict-markers", "--stepwise", *files)
+ result.stdout.fnmatch_lines("*errors during collection*")
1
0
Hello community,
here is the log from the commit of package python-parso for openSUSE:Factory checked in at 2019-07-08 14:59:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-parso (Old)
and /work/SRC/openSUSE:Factory/.python-parso.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-parso"
Mon Jul 8 14:59:34 2019 rev:8 rq:713046 version:0.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-parso/python-parso.changes 2019-04-22 12:22:51.840861961 +0200
+++ /work/SRC/openSUSE:Factory/.python-parso.new.4615/python-parso.changes 2019-07-08 14:59:35.086403902 +0200
@@ -1,0 +2,9 @@
+Tue Jul 2 09:42:44 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- update to 0.5.0
+ * comp_for is now called sync_comp_for for all Python versions to
+ be compatible with the Python 3.8 Grammar
+ * Added .pyi stubs for a lot of the parso API
+ * Small FileIO changes
+
+-------------------------------------------------------------------
Old:
----
parso-0.4.0.tar.gz
New:
----
parso-0.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-parso.spec ++++++
--- /var/tmp/diff_new_pack.x6EgYO/_old 2019-07-08 14:59:35.706404839 +0200
+++ /var/tmp/diff_new_pack.x6EgYO/_new 2019-07-08 14:59:35.706404839 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-parso
-Version: 0.4.0
+Version: 0.5.0
Release: 0
Summary: An autocompletion tool for Python
License: MIT AND Python-2.0
++++++ parso-0.4.0.tar.gz -> parso-0.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/CHANGELOG.rst new/parso-0.5.0/CHANGELOG.rst
--- old/parso-0.4.0/CHANGELOG.rst 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/CHANGELOG.rst 2019-06-20 21:27:50.000000000 +0200
@@ -3,6 +3,14 @@
Changelog
---------
+0.5.0 (2019-06-20)
+++++++++++++++++++
+
+- **Breaking Change** comp_for is now called sync_comp_for for all Python
+ versions to be compatible with the Python 3.8 Grammar
+- Added .pyi stubs for a lot of the parso API
+- Small FileIO changes
+
0.4.0 (2019-04-05)
++++++++++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/PKG-INFO new/parso-0.5.0/PKG-INFO
--- old/parso-0.4.0/PKG-INFO 2019-04-05 19:10:01.000000000 +0200
+++ new/parso-0.5.0/PKG-INFO 2019-06-20 22:11:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: parso
-Version: 0.4.0
+Version: 0.5.0
Summary: A Python Parser
Home-page: https://github.com/davidhalter/parso
Author: David Halter
@@ -106,6 +106,14 @@
Changelog
---------
+ 0.5.0 (2019-06-20)
+ ++++++++++++++++++
+
+ - **Breaking Change** comp_for is now called sync_comp_for for all Python
+ versions to be compatible with the Python 3.8 Grammar
+ - Added .pyi stubs for a lot of the parso API
+ - Small FileIO changes
+
0.4.0 (2019-04-05)
++++++++++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/conftest.py new/parso-0.5.0/conftest.py
--- old/parso-0.4.0/conftest.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/conftest.py 2019-06-20 21:27:50.000000000 +0200
@@ -14,7 +14,7 @@
collect_ignore = ["setup.py"]
VERSIONS_2 = '2.6', '2.7'
-VERSIONS_3 = '3.3', '3.4', '3.5', '3.6', '3.7'
+VERSIONS_3 = '3.3', '3.4', '3.5', '3.6', '3.7', '3.8'
@pytest.fixture(scope='session')
@@ -155,3 +155,9 @@
def works_ge_py35(each_version):
version_info = parse_version_string(each_version)
return Checker(each_version, version_info >= (3, 5))
+
+
+(a)pytest.fixture
+def works_ge_py38(each_version):
+ version_info = parse_version_string(each_version)
+ return Checker(each_version, version_info >= (3, 8))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/__init__.py new/parso-0.5.0/parso/__init__.py
--- old/parso-0.4.0/parso/__init__.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/__init__.py 2019-06-20 21:27:50.000000000 +0200
@@ -43,7 +43,7 @@
from parso.utils import split_lines, python_bytes_to_unicode
-__version__ = '0.4.0'
+__version__ = '0.5.0'
def parse(code=None, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/cache.py new/parso-0.5.0/parso/cache.py
--- old/parso-0.4.0/parso/cache.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/cache.py 2019-06-20 21:27:50.000000000 +0200
@@ -18,7 +18,7 @@
LOG = logging.getLogger(__name__)
-_PICKLE_VERSION = 31
+_PICKLE_VERSION = 32
"""
Version number (integer) for file system cache.
@@ -82,9 +82,8 @@
"""
Returns a module or None, if it fails.
"""
- try:
- p_time = file_io.get_last_modified()
- except FileNotFoundError:
+ p_time = file_io.get_last_modified()
+ if p_time is None:
return None
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/file_io.py new/parso-0.5.0/parso/file_io.py
--- old/parso-0.4.0/parso/file_io.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/file_io.py 2019-06-20 21:27:50.000000000 +0200
@@ -14,10 +14,13 @@
def get_last_modified(self):
"""
- Returns float - timestamp
- Might raise FileNotFoundError
+ Returns float - timestamp or None, if path doesn't exist.
"""
- return os.path.getmtime(self.path)
+ try:
+ return os.path.getmtime(self.path)
+ except OSError:
+ # Might raise FileNotFoundError, OSError for Python 2
+ return None
def __repr__(self):
return '%s(%s)' % (self.__class__.__name__, self.path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/normalizer.py new/parso-0.5.0/parso/normalizer.py
--- old/parso-0.4.0/parso/normalizer.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/normalizer.py 2019-06-20 21:27:50.000000000 +0200
@@ -41,8 +41,8 @@
except AttributeError:
return self.visit_leaf(node)
else:
- with self.visit_node(node):
- return ''.join(self.visit(child) for child in children)
+ with self.visit_node(node):
+ return ''.join(self.visit(child) for child in children)
@contextmanager
def visit_node(self, node):
@@ -147,7 +147,6 @@
return '<%s: %s>' % (self.__class__.__name__, self.code)
-
class Rule(object):
code = None
message = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/errors.py new/parso-0.5.0/parso/python/errors.py
--- old/parso-0.4.0/parso/python/errors.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/errors.py 2019-06-20 21:27:50.000000000 +0200
@@ -953,20 +953,17 @@
self.add_issue(node, message=message)
-(a)ErrorFinder.register_rule(type='comp_for')
@ErrorFinder.register_rule(type='sync_comp_for')
class _CompForRule(_CheckAssignmentRule):
message = "asynchronous comprehension outside of an asynchronous function"
def is_issue(self, node):
- # Some of the nodes here are already used, so no else if
- if node.type != 'comp_for' or self._normalizer.version < (3, 8):
- # comp_for was replaced by sync_comp_for in Python 3.8.
- expr_list = node.children[1 + int(node.children[0] == 'async')]
- if expr_list.type != 'expr_list': # Already handled.
- self._check_assignment(expr_list)
+ expr_list = node.children[1]
+ print(expr_list)
+ if expr_list.type != 'expr_list': # Already handled.
+ self._check_assignment(expr_list)
- return node.children[0] == 'async' \
+ return node.parent.children[0] == 'async' \
and not self._normalizer.context.is_async_funcdef()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar27.txt new/parso-0.5.0/parso/python/grammar27.txt
--- old/parso-0.4.0/parso/python/grammar27.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar27.txt 2019-06-20 21:27:50.000000000 +0200
@@ -107,7 +107,7 @@
NAME | NUMBER | strings)
strings: STRING+
listmaker: test ( list_for | (',' test)* [','] )
-testlist_comp: test ( comp_for | (',' test)* [','] )
+testlist_comp: test ( sync_comp_for | (',' test)* [','] )
lambdef: 'lambda' [varargslist] ':' test
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
@@ -115,8 +115,8 @@
sliceop: ':' [test]
exprlist: expr (',' expr)* [',']
testlist: test (',' test)* [',']
-dictorsetmaker: ( (test ':' test (comp_for | (',' test ':' test)* [','])) |
- (test (comp_for | (',' test)* [','])) )
+dictorsetmaker: ( (test ':' test (sync_comp_for | (',' test ':' test)* [','])) |
+ (test (sync_comp_for | (',' test)* [','])) )
classdef: 'class' NAME ['(' [testlist] ')'] ':' suite
@@ -125,14 +125,14 @@
|'**' test)
# The reason that keywords are test nodes instead of NAME is that using NAME
# results in an ambiguity. ast.c makes sure it's a NAME.
-argument: test [comp_for] | test '=' test
+argument: test [sync_comp_for] | test '=' test
list_iter: list_for | list_if
list_for: 'for' exprlist 'in' testlist_safe [list_iter]
list_if: 'if' old_test [list_iter]
-comp_iter: comp_for | comp_if
-comp_for: 'for' exprlist 'in' or_test [comp_iter]
+comp_iter: sync_comp_for | comp_if
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
comp_if: 'if' old_test [comp_iter]
testlist1: test (',' test)*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar33.txt new/parso-0.5.0/parso/python/grammar33.txt
--- old/parso-0.4.0/parso/python/grammar33.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar33.txt 2019-06-20 21:27:50.000000000 +0200
@@ -105,15 +105,15 @@
'{' [dictorsetmaker] '}' |
NAME | NUMBER | strings | '...' | 'None' | 'True' | 'False')
strings: STRING+
-testlist_comp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
+testlist_comp: (test|star_expr) ( sync_comp_for | (',' (test|star_expr))* [','] )
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
sliceop: ':' [test]
exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
testlist: test (',' test)* [',']
-dictorsetmaker: ( (test ':' test (comp_for | (',' test ':' test)* [','])) |
- (test (comp_for | (',' test)* [','])) )
+dictorsetmaker: ( (test ':' test (sync_comp_for | (',' test ':' test)* [','])) |
+ (test (sync_comp_for | (',' test)* [','])) )
classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
@@ -122,9 +122,9 @@
|'**' test)
# The reason that keywords are test nodes instead of NAME is that using NAME
# results in an ambiguity. ast.c makes sure it's a NAME.
-argument: test [comp_for] | test '=' test # Really [keyword '='] test
-comp_iter: comp_for | comp_if
-comp_for: 'for' exprlist 'in' or_test [comp_iter]
+argument: test [sync_comp_for] | test '=' test # Really [keyword '='] test
+comp_iter: sync_comp_for | comp_if
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
comp_if: 'if' test_nocond [comp_iter]
# not used in grammar, but may appear in "node" passed from Parser to Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar34.txt new/parso-0.5.0/parso/python/grammar34.txt
--- old/parso-0.4.0/parso/python/grammar34.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar34.txt 2019-06-20 21:27:50.000000000 +0200
@@ -105,15 +105,15 @@
'{' [dictorsetmaker] '}' |
NAME | NUMBER | strings | '...' | 'None' | 'True' | 'False')
strings: STRING+
-testlist_comp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
+testlist_comp: (test|star_expr) ( sync_comp_for | (',' (test|star_expr))* [','] )
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
sliceop: ':' [test]
exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
testlist: test (',' test)* [',']
-dictorsetmaker: ( (test ':' test (comp_for | (',' test ':' test)* [','])) |
- (test (comp_for | (',' test)* [','])) )
+dictorsetmaker: ( (test ':' test (sync_comp_for | (',' test ':' test)* [','])) |
+ (test (sync_comp_for | (',' test)* [','])) )
classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
@@ -122,9 +122,9 @@
|'**' test)
# The reason that keywords are test nodes instead of NAME is that using NAME
# results in an ambiguity. ast.c makes sure it's a NAME.
-argument: test [comp_for] | test '=' test # Really [keyword '='] test
-comp_iter: comp_for | comp_if
-comp_for: 'for' exprlist 'in' or_test [comp_iter]
+argument: test [sync_comp_for] | test '=' test # Really [keyword '='] test
+comp_iter: sync_comp_for | comp_if
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
comp_if: 'if' test_nocond [comp_iter]
# not used in grammar, but may appear in "node" passed from Parser to Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar35.txt new/parso-0.5.0/parso/python/grammar35.txt
--- old/parso-0.4.0/parso/python/grammar35.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar35.txt 2019-06-20 21:27:50.000000000 +0200
@@ -112,7 +112,7 @@
'{' [dictorsetmaker] '}' |
NAME | NUMBER | strings | '...' | 'None' | 'True' | 'False')
strings: STRING+
-testlist_comp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
+testlist_comp: (test|star_expr) ( sync_comp_for | (',' (test|star_expr))* [','] )
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
@@ -120,9 +120,9 @@
exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
testlist: test (',' test)* [',']
dictorsetmaker: ( ((test ':' test | '**' expr)
- (comp_for | (',' (test ':' test | '**' expr))* [','])) |
+ (sync_comp_for | (',' (test ':' test | '**' expr))* [','])) |
((test | star_expr)
- (comp_for | (',' (test | star_expr))* [','])) )
+ (sync_comp_for | (',' (test | star_expr))* [','])) )
classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
@@ -137,13 +137,13 @@
# Illegal combinations and orderings are blocked in ast.c:
# multiple (test comp_for) arguments are blocked; keyword unpackings
# that precede iterable unpackings are blocked; etc.
-argument: ( test [comp_for] |
+argument: ( test [sync_comp_for] |
test '=' test |
'**' test |
'*' test )
-comp_iter: comp_for | comp_if
-comp_for: 'for' exprlist 'in' or_test [comp_iter]
+comp_iter: sync_comp_for | comp_if
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
comp_if: 'if' test_nocond [comp_iter]
# not used in grammar, but may appear in "node" passed from Parser to Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar36.txt new/parso-0.5.0/parso/python/grammar36.txt
--- old/parso-0.4.0/parso/python/grammar36.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar36.txt 2019-06-20 21:27:50.000000000 +0200
@@ -140,7 +140,8 @@
'*' test )
comp_iter: comp_for | comp_if
-comp_for: ['async'] 'for' exprlist 'in' or_test [comp_iter]
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
+comp_for: ['async'] sync_comp_for
comp_if: 'if' test_nocond [comp_iter]
# not used in grammar, but may appear in "node" passed from Parser to Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar37.txt new/parso-0.5.0/parso/python/grammar37.txt
--- old/parso-0.4.0/parso/python/grammar37.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar37.txt 2019-06-20 21:27:50.000000000 +0200
@@ -138,7 +138,8 @@
'*' test )
comp_iter: comp_for | comp_if
-comp_for: ['async'] 'for' exprlist 'in' or_test [comp_iter]
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
+comp_for: ['async'] sync_comp_for
comp_if: 'if' test_nocond [comp_iter]
# not used in grammar, but may appear in "node" passed from Parser to Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/grammar38.txt new/parso-0.5.0/parso/python/grammar38.txt
--- old/parso-0.4.0/parso/python/grammar38.txt 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/grammar38.txt 2019-06-20 21:27:50.000000000 +0200
@@ -20,13 +20,25 @@
funcdef: 'def' NAME parameters ['->' test] ':' suite
parameters: '(' [typedargslist] ')'
-typedargslist: (tfpdef ['=' test] (',' tfpdef ['=' test])* [',' [
+typedargslist: (
+ (tfpdef ['=' test] (',' tfpdef ['=' test])* ',' '/' [',' [ tfpdef ['=' test] (
+ ',' tfpdef ['=' test])* ([',' [
+ '*' [tfpdef] (',' tfpdef ['=' test])* [',' ['**' tfpdef [',']]]
+ | '**' tfpdef [',']]])
+ | '*' [tfpdef] (',' tfpdef ['=' test])* ([',' ['**' tfpdef [',']]])
+ | '**' tfpdef [',']]] )
+| (tfpdef ['=' test] (',' tfpdef ['=' test])* [',' [
'*' [tfpdef] (',' tfpdef ['=' test])* [',' ['**' tfpdef [',']]]
| '**' tfpdef [',']]]
| '*' [tfpdef] (',' tfpdef ['=' test])* [',' ['**' tfpdef [',']]]
| '**' tfpdef [','])
+)
tfpdef: NAME [':' test]
-varargslist: (vfpdef ['=' test] (',' vfpdef ['=' test])* [',' [
+varargslist: vfpdef ['=' test ](',' vfpdef ['=' test])* ',' '/' [',' [ (vfpdef ['=' test] (',' vfpdef ['=' test])* [',' [
+ '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
+ | '**' vfpdef [',']]]
+ | '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
+ | '**' vfpdef [',']) ]] | (vfpdef ['=' test] (',' vfpdef ['=' test])* [',' [
'*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
| '**' vfpdef [',']]]
| '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
@@ -69,8 +81,8 @@
compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
async_stmt: 'async' (funcdef | with_stmt | for_stmt)
-if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
-while_stmt: 'while' test ':' suite ['else' ':' suite]
+if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
+while_stmt: 'while' namedexpr_test ':' suite ['else' ':' suite]
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
try_stmt: ('try' ':' suite
((except_clause ':' suite)+
@@ -83,6 +95,7 @@
except_clause: 'except' [test ['as' NAME]]
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
+namedexpr_test: test [':=' test]
test: or_test ['if' or_test 'else' test] | lambdef
test_nocond: or_test | lambdef_nocond
lambdef: 'lambda' [varargslist] ':' test
@@ -108,7 +121,7 @@
'[' [testlist_comp] ']' |
'{' [dictorsetmaker] '}' |
NAME | NUMBER | strings | '...' | 'None' | 'True' | 'False')
-testlist_comp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
+testlist_comp: (namedexpr_test|star_expr) ( comp_for | (',' (namedexpr_test|star_expr))* [','] )
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
@@ -134,6 +147,7 @@
# multiple (test comp_for) arguments are blocked; keyword unpackings
# that precede iterable unpackings are blocked; etc.
argument: ( test [comp_for] |
+ test ':=' test |
test '=' test |
'**' test |
'*' test )
@@ -153,5 +167,5 @@
fstring: FSTRING_START fstring_content* FSTRING_END
fstring_content: FSTRING_STRING | fstring_expr
fstring_conversion: '!' NAME
-fstring_expr: '{' testlist [ fstring_conversion ] [ fstring_format_spec ] '}'
+fstring_expr: '{' testlist ['='] [ fstring_conversion ] [ fstring_format_spec ] '}'
fstring_format_spec: ':' fstring_content*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/parser.py new/parso-0.5.0/parso/python/parser.py
--- old/parso-0.4.0/parso/python/parser.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/parser.py 2019-06-20 21:27:50.000000000 +0200
@@ -39,13 +39,13 @@
'for_stmt': tree.ForStmt,
'while_stmt': tree.WhileStmt,
'try_stmt': tree.TryStmt,
- 'comp_for': tree.CompFor,
+ 'sync_comp_for': tree.SyncCompFor,
# Not sure if this is the best idea, but IMO it's the easiest way to
# avoid extreme amounts of work around the subtle difference of 2/3
# grammar in list comoprehensions.
- 'list_for': tree.CompFor,
+ 'list_for': tree.SyncCompFor,
# Same here. This just exists in Python 2.6.
- 'gen_for': tree.CompFor,
+ 'gen_for': tree.SyncCompFor,
'decorator': tree.Decorator,
'lambdef': tree.Lambda,
'old_lambdef': tree.Lambda,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/tokenize.py new/parso-0.5.0/parso/python/tokenize.py
--- old/parso-0.4.0/parso/python/tokenize.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/tokenize.py 2019-06-20 21:27:50.000000000 +0200
@@ -120,6 +120,8 @@
fstring_string_single_line = _compile(r'(?:[^{}\r\n]+|\{\{|\}\})+')
fstring_string_multi_line = _compile(r'(?:[^{}]+|\{\{|\}\})+')
+fstring_format_spec_single_line = _compile(r'[^{}\r\n]+')
+fstring_format_spec_multi_line = _compile(r'[^{}]+')
def _create_token_collection(version_info):
@@ -151,6 +153,8 @@
Octnumber = '0[oO]?[0-7]+'
Decnumber = r'(?:0+|[1-9][0-9]*)'
Intnumber = group(Hexnumber, Binnumber, Octnumber, Decnumber)
+ if version_info[0] < 3:
+ Intnumber += '[lL]?'
Exponent = r'[eE][-+]?[0-9]+'
Pointfloat = group(r'[0-9]+\.[0-9]*', r'\.[0-9]+') + maybe(Exponent)
Expfloat = r'[0-9]+' + Exponent
@@ -186,9 +190,13 @@
Bracket = '[][(){}]'
- special_args = [r'\r\n?', r'\n', r'[:;.,@]']
+ special_args = [r'\r\n?', r'\n', r'[;.,@]']
if version_info >= (3, 0):
special_args.insert(0, r'\.\.\.')
+ if version_info >= (3, 8):
+ special_args.insert(0, ":=?")
+ else:
+ special_args.insert(0, ":")
Special = group(*special_args)
Funny = group(Operator, Bracket, Special)
@@ -281,7 +289,10 @@
return len(self.quote) == 3
def is_in_expr(self):
- return (self.parentheses_count - self.format_spec_count) > 0
+ return self.parentheses_count > self.format_spec_count
+
+ def is_in_format_spec(self):
+ return not self.is_in_expr() and self.format_spec_count
def _close_fstring_if_necessary(fstring_stack, string, start_pos, additional_prefix):
@@ -303,10 +314,18 @@
def _find_fstring_string(endpats, fstring_stack, line, lnum, pos):
tos = fstring_stack[-1]
allow_multiline = tos.allow_multiline()
- if allow_multiline:
- match = fstring_string_multi_line.match(line, pos)
+ if tos.is_in_format_spec():
+ if allow_multiline:
+ regex = fstring_format_spec_multi_line
+ else:
+ regex = fstring_format_spec_single_line
else:
- match = fstring_string_single_line.match(line, pos)
+ if allow_multiline:
+ regex = fstring_string_multi_line
+ else:
+ regex = fstring_string_single_line
+
+ match = regex.match(line, pos)
if match is None:
return tos.previous_lines, pos
@@ -575,7 +594,8 @@
if paren_level:
paren_level -= 1
elif token == ':' and fstring_stack \
- and fstring_stack[-1].parentheses_count == 1:
+ and fstring_stack[-1].parentheses_count \
+ - fstring_stack[-1].format_spec_count == 1:
fstring_stack[-1].format_spec_count += 1
yield PythonToken(OP, token, spos, prefix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso/python/tree.py new/parso-0.5.0/parso/python/tree.py
--- old/parso-0.4.0/parso/python/tree.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/parso/python/tree.py 2019-06-20 21:27:50.000000000 +0200
@@ -43,6 +43,7 @@
"""
import re
+from collections import Mapping
from parso._compatibility import utf8_repr, unicode
from parso.tree import Node, BaseNode, Leaf, ErrorNode, ErrorLeaf, \
@@ -55,7 +56,7 @@
_RETURN_STMT_CONTAINERS = set(['suite', 'simple_stmt']) | _FLOW_CONTAINERS
_FUNC_CONTAINERS = set(['suite', 'simple_stmt', 'decorated']) | _FLOW_CONTAINERS
_GET_DEFINITION_TYPES = set([
- 'expr_stmt', 'comp_for', 'with_stmt', 'for_stmt', 'import_name',
+ 'expr_stmt', 'sync_comp_for', 'with_stmt', 'for_stmt', 'import_name',
'import_from', 'param'
])
_IMPORTS = set(['import_name', 'import_from'])
@@ -442,7 +443,7 @@
recurse(child)
recurse(self)
- self._used_names = dct
+ self._used_names = UsedNamesMapping(dct)
return self._used_names
@@ -466,6 +467,9 @@
:rtype: list of :class:`Decorator`
"""
decorated = self.parent
+ if decorated.type == 'async_funcdef':
+ decorated = decorated.parent
+
if decorated.type == 'decorated':
if decorated.children[0].type == 'decorators':
return decorated.children[0].children
@@ -545,7 +549,8 @@
if param_children[0] == '*' \
and (len(param_children) == 1
or param_children[1] == ',') \
- or check_python2_nested_param(param_children[0]):
+ or check_python2_nested_param(param_children[0]) \
+ or param_children[0] == '/':
for p in param_children:
p.parent = parent
new_children += param_children
@@ -1158,6 +1163,13 @@
index -= 2
except ValueError:
pass
+ try:
+ keyword_only_index = self.parent.children.index('/')
+ if index > keyword_only_index:
+ # Skip the ` /, `
+ index -= 2
+ except ValueError:
+ pass
return index - 1
def get_parent_function(self):
@@ -1189,8 +1201,8 @@
return '<%s: %s>' % (type(self).__name__, str(self._tfpdef()) + default)
-class CompFor(PythonBaseNode):
- type = 'comp_for'
+class SyncCompFor(PythonBaseNode):
+ type = 'sync_comp_for'
__slots__ = ()
def get_defined_names(self):
@@ -1198,4 +1210,33 @@
Returns the a list of `Name` that the comprehension defines.
"""
# allow async for
- return _defined_names(self.children[self.children.index('for') + 1])
+ return _defined_names(self.children[1])
+
+
+# This is simply here so an older Jedi version can work with this new parso
+# version. Can be deleted in the next release.
+CompFor = SyncCompFor
+
+
+class UsedNamesMapping(Mapping):
+ """
+ This class exists for the sole purpose of creating an immutable dict.
+ """
+ def __init__(self, dct):
+ self._dict = dct
+
+ def __getitem__(self, key):
+ return self._dict[key]
+
+ def __len__(self):
+ return len(self._dict)
+
+ def __iter__(self):
+ return iter(self._dict)
+
+ def __hash__(self):
+ return id(self)
+
+ def __eq__(self, other):
+ # Comparing these dicts does not make sense.
+ return self is other
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/parso.egg-info/PKG-INFO new/parso-0.5.0/parso.egg-info/PKG-INFO
--- old/parso-0.4.0/parso.egg-info/PKG-INFO 2019-04-05 19:10:01.000000000 +0200
+++ new/parso-0.5.0/parso.egg-info/PKG-INFO 2019-06-20 22:11:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: parso
-Version: 0.4.0
+Version: 0.5.0
Summary: A Python Parser
Home-page: https://github.com/davidhalter/parso
Author: David Halter
@@ -106,6 +106,14 @@
Changelog
---------
+ 0.5.0 (2019-06-20)
+ ++++++++++++++++++
+
+ - **Breaking Change** comp_for is now called sync_comp_for for all Python
+ versions to be compatible with the Python 3.8 Grammar
+ - Added .pyi stubs for a lot of the parso API
+ - Small FileIO changes
+
0.4.0 (2019-04-05)
++++++++++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/test/failing_examples.py new/parso-0.5.0/test/failing_examples.py
--- old/parso-0.4.0/test/failing_examples.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/test/failing_examples.py 2019-06-20 21:27:50.000000000 +0200
@@ -146,7 +146,7 @@
# Now nested parsing
"f'{continue}'",
"f'{1;1}'",
- "f'{a=3}'",
+ "f'{a;}'",
"f'{b\"\" \"\"}'",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/test/test_fstring.py new/parso-0.5.0/test/test_fstring.py
--- old/parso-0.4.0/test/test_fstring.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/test/test_fstring.py 2019-06-20 21:27:50.000000000 +0200
@@ -7,7 +7,7 @@
@pytest.fixture
def grammar():
- return load_grammar(version='3.6')
+ return load_grammar(version='3.8')
@pytest.mark.parametrize(
@@ -21,6 +21,9 @@
'{1:1.{32}}',
'{1::>4}',
'{foo} {bar}',
+ '{x:{y}}',
+ '{x:{y:}}',
+ '{x:{y:1}}',
# Escapes
'{{}}',
@@ -28,6 +31,10 @@
'{{{1}',
'1{{2{{3',
'}}',
+
+ # New Python 3.8 syntax f'{a=}'
+ '{a=}',
+ '{a()=}',
]
)
def test_valid(code, grammar):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/test/test_parser.py new/parso-0.5.0/test/test_parser.py
--- old/parso-0.4.0/test/test_parser.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/test/test_parser.py 2019-06-20 21:27:50.000000000 +0200
@@ -189,3 +189,22 @@
check(child)
check(parse("if foo:\n bar", version=each_version))
+
+
+def test_named_expression(works_ge_py38):
+ works_ge_py38.parse("(a := 1, a + 1)")
+
+
+(a)pytest.mark.parametrize(
+ 'param_code', [
+ 'a=1, /',
+ 'a, /',
+ 'a=1, /, b=3',
+ 'a, /, b',
+ 'a, /, b',
+ 'a, /, *, b',
+ 'a, /, **kwargs',
+ ]
+)
+def test_positional_only_arguments(works_ge_py38, param_code):
+ works_ge_py38.parse("def x(%s): pass" % param_code)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.4.0/test/test_pgen2.py new/parso-0.5.0/test/test_pgen2.py
--- old/parso-0.4.0/test/test_pgen2.py 2019-04-05 19:01:55.000000000 +0200
+++ new/parso-0.5.0/test/test_pgen2.py 2019-06-20 21:27:50.000000000 +0200
@@ -190,6 +190,19 @@
works_in_py2.parse("07")
+def test_long_notation(works_in_py2):
+ works_in_py2.parse("0xFl")
+ works_in_py2.parse("0xFL")
+ works_in_py2.parse("0b1l")
+ works_in_py2.parse("0B1L")
+ works_in_py2.parse("0o7l")
+ works_in_py2.parse("0O7L")
+ works_in_py2.parse("0l")
+ works_in_py2.parse("0L")
+ works_in_py2.parse("10l")
+ works_in_py2.parse("10L")
+
+
def test_new_binary_notation(each_version):
_parse("""0b101010""", each_version)
_invalid_syntax("""0b0101021""", each_version)
1
0
Hello community,
here is the log from the commit of package gstreamer for openSUSE:Factory checked in at 2019-07-08 14:59:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer (Old)
and /work/SRC/openSUSE:Factory/.gstreamer.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer"
Mon Jul 8 14:59:20 2019 rev:60 rq:713024 version:1.16.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer/gstreamer.changes 2019-06-30 10:18:07.979306225 +0200
+++ /work/SRC/openSUSE:Factory/.gstreamer.new.4615/gstreamer.changes 2019-07-08 14:59:21.574383472 +0200
@@ -1,0 +2,5 @@
+Mon Jul 1 09:45:51 UTC 2019 - Andreas Schwab <schwab(a)suse.de>
+
+- Use libunwind only if available
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer.spec ++++++
--- /var/tmp/diff_new_pack.IKzkJP/_old 2019-07-08 14:59:22.738385232 +0200
+++ /var/tmp/diff_new_pack.IKzkJP/_new 2019-07-08 14:59:22.742385238 +0200
@@ -64,7 +64,10 @@
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(libdw)
+%define libunwind_archs %{ix86} ia64 x86_64 %{arm} ppc ppc64 ppc64le aarch64
+%ifarch %{libunwind_archs}
BuildRequires: pkgconfig(libunwind)
+%endif
# Ensure that the documentation corresponds with the installed version:
Requires: libgstreamer-1_0-0 = %{version}
@@ -85,8 +88,8 @@
%package -n libgstreamer-1_0-0
Summary: Streaming-Media Framework Runtime
-# We want to have core modules installed:
Group: System/Libraries
+# We want to have core modules installed:
Requires: %{name}
%description -n libgstreamer-1_0-0
@@ -126,8 +129,8 @@
%package utils
Summary: Streaming-Media Framework Runtime
-# Generic name, never used in SuSE:
Group: Productivity/Multimedia/Other
+# Generic name, never used in SuSE:
Provides: gstreamer:%{_bindir}/gst-launch-%{gst_branch} = %{version}
# Symbol for unversioned wrappers:
Provides: gstreamer-utils_versioned = %{version}
@@ -179,6 +182,9 @@
-Dexamples=disabled \
-Dtests=disabled \
-Ddbghelp=disabled \
+%ifnarch %{libunwind_archs}
+ -Dlibunwind=disabled \
+%endif
%{nil}
%{meson_build}
%else
1
0
Hello community,
here is the log from the commit of package apache-ivy for openSUSE:Factory checked in at 2019-07-08 14:59:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-ivy (Old)
and /work/SRC/openSUSE:Factory/.apache-ivy.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache-ivy"
Mon Jul 8 14:59:14 2019 rev:17 rq:713014 version:2.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-ivy/apache-ivy.changes 2019-04-14 12:20:20.735611679 +0200
+++ /work/SRC/openSUSE:Factory/.apache-ivy.new.4615/apache-ivy.changes 2019-07-08 14:59:15.406374146 +0200
@@ -1,0 +2,6 @@
+Tue Jul 2 09:22:21 UTC 2019 - Fridrich Strba <fstrba(a)suse.com>
+
+- Add possibility to build with ssh and vfs integration, since
+ we have all the dependencies in openSUSE.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache-ivy.spec ++++++
--- /var/tmp/diff_new_pack.7GdyzD/_old 2019-07-08 14:59:16.410375664 +0200
+++ /var/tmp/diff_new_pack.7GdyzD/_new 2019-07-08 14:59:16.418375676 +0200
@@ -16,6 +16,8 @@
#
+%bcond_without ssh
+%bcond_without vfs
Name: apache-ivy
Version: 2.4.0
Release: 0
@@ -39,6 +41,14 @@
Provides: ivy = %{version}-%{release}
Obsoletes: ivy < %{version}-%{release}
BuildArch: noarch
+%if %{with vfs}
+BuildRequires: apache-commons-vfs2
+%endif
+%if %{with ssh}
+BuildRequires: jsch-agent-proxy-connector-factory
+BuildRequires: jsch-agent-proxy-core
+BuildRequires: jsch-agent-proxy-jsch
+%endif
%description
Apache Ivy is a tool for managing (recording, tracking, resolving and
@@ -70,23 +80,39 @@
# Remove prebuilt documentation
rm -rf doc build/doc
-# How to properly disable a plugin?
-# we disable vfs plugin since commons-vfs is not available
-rm -rf src/java/org/apache/ivy/plugins/repository/vfs \
- src/java/org/apache/ivy/plugins/resolver/VfsResolver.java
+# Port from commons-vfs 1.x to 2.x
+%if %{with vfs}
+sed -i "s/commons.vfs/&2/" {src,test}/java/org/apache/ivy/plugins/repository/vfs/*
+%else
+sed -i /commons-vfs/d ivy.xml
sed '/vfs.*=.*org.apache.ivy.plugins.resolver.VfsResolver/d' -i \
src/java/org/apache/ivy/core/settings/typedef.properties
+rm -rf src/java/org/apache/ivy/plugins/repository/vfs
+rm -rf src/java/org/apache/ivy/plugins/resolver/VfsResolver.java
+%endif
+%if %{without ssh}
rm -r src/java/org/apache/ivy/plugins/repository/{ssh,sftp}
rm src/java/org/apache/ivy/plugins/resolver/*{Ssh,SFTP}*.java
+%endif
%build
# Craft class path
mkdir -p lib
build-jar-repository lib ant ant/ant-nodeps oro jsch commons-httpclient
+export CLASSPATH=$(build-classpath ant ant/ant-nodeps oro jsch commons-httpclient)
+%if %{with vfs}
+build-jar-repository lib commons-vfs2
+export CLASSPATH=${CLASSPATH}:$(build-classpath commons-vfs2)
+%endif
+%if %{with ssh}
+build-jar-repository lib jsch.agentproxy.core \
+ jsch.agentproxy.connector-factory \
+ jsch.agentproxy.jsch
+export CLASSPATH=${CLASSPATH}:$(build-classpath jsch.agentproxy.core jsch.agentproxy.connector-factory jsch.agentproxy.jsch)
+%endif
# Build
-export CLASSPATH=$(build-classpath ant ant/ant-nodeps oro jsch commons-httpclient)
ant -Dtarget.ivy.version=%{version} /localivy /offline jar javadoc
%install
1
0
Hello community,
here is the log from the commit of package libreoffice-share-linker for openSUSE:Factory checked in at 2019-07-08 14:59:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice-share-linker (Old)
and /work/SRC/openSUSE:Factory/.libreoffice-share-linker.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice-share-linker"
Mon Jul 8 14:59:09 2019 rev:5 rq:713000 version:1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice-share-linker/libreoffice-share-linker.changes 2017-05-20 10:10:36.397796191 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice-share-linker.new.4615/libreoffice-share-linker.changes 2019-07-08 14:59:10.386366556 +0200
@@ -1,0 +2,5 @@
+Tue Jul 2 08:11:43 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Work with paranoid umask settings bsc#1139727
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice-share-linker.spec ++++++
--- /var/tmp/diff_new_pack.h2U6va/_old 2019-07-08 14:59:10.998367481 +0200
+++ /var/tmp/diff_new_pack.h2U6va/_new 2019-07-08 14:59:11.002367487 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libreoffice-share-linker
#
-# 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,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/
#
++++++ link-to-ooo-home ++++++
--- /var/tmp/diff_new_pack.h2U6va/_old 2019-07-08 14:59:11.030367530 +0200
+++ /var/tmp/diff_new_pack.h2U6va/_new 2019-07-08 14:59:11.034367535 +0200
@@ -23,6 +23,7 @@
# if the location is already there skip it
if [[ ! -e "${dirname}" ]]; then
mkdir -p "${dirname}"
+ chmod --reference="${file}" "${dirname}"
fi
continue
fi
1
0