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
August 2021
- 1 participants
- 1985 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-txtorcon for openSUSE:Factory checked in at 2021-08-31 19:55:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-txtorcon (Old)
and /work/SRC/openSUSE:Factory/.python-txtorcon.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-txtorcon"
Tue Aug 31 19:55:55 2021 rev:10 rq:915302 version:20.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-txtorcon/python-txtorcon.changes 2021-05-02 18:39:14.788147450 +0200
+++ /work/SRC/openSUSE:Factory/.python-txtorcon.new.1899/python-txtorcon.changes 2021-08-31 19:56:58.914062448 +0200
@@ -1,0 +2,6 @@
+Tue Aug 31 16:08:32 UTC 2021 - Matej Cepl <mcepl(a)suse.com>
+
+- Add 362-skip-failing-tests.patch to skip failing tests
+ (gh#meejah/txtorcon#362).
+
+-------------------------------------------------------------------
New:
----
362-skip-failing-tests.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-txtorcon.spec ++++++
--- /var/tmp/diff_new_pack.kZGg4c/_old 2021-08-31 19:56:59.330063024 +0200
+++ /var/tmp/diff_new_pack.kZGg4c/_new 2021-08-31 19:56:59.330063024 +0200
@@ -25,6 +25,9 @@
License: MIT
URL: https://txtorcon.readthedocs.org
Source: https://files.pythonhosted.org/packages/source/t/txtorcon/txtorcon-%{versio…
+# PATCH-FIX-UPSTREAM 362-skip-failing-tests.patch gh#meejah/txtorcon#362 mcepl(a)suse.com
+# Skip failing tests
+Patch0: 362-skip-failing-tests.patch
BuildRequires: %{python_module setuptools >= 36.2}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -53,7 +56,7 @@
unit-tests, examples, state-tracking code and configuration abstraction.
%prep
-%setup -q -n txtorcon-%{version}
+%autosetup -p1 -n txtorcon-%{version}
sed -i '/data_files/,/\]\,/s/^/#/' setup.py
@@ -69,7 +72,9 @@
%check
# looks more like integration tests
# Async tests don't work with pytest gh#crossbario/autobahn-python#1235
-%python_expand $python -m twisted.trial test
+%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
+$python -m twisted.trial test
+}
%files %{python_files}
%license LICENSE docs/*.rst
++++++ 362-skip-failing-tests.patch ++++++
---
test/test_torinfo.py | 4 ++++
1 file changed, 4 insertions(+)
--- a/test/test_torinfo.py
+++ b/test/test_torinfo.py
@@ -2,6 +2,7 @@ from zope.interface import implementer
from twisted.trial import unittest
from twisted.test import proto_helpers
from twisted.internet import defer
+from unittest import skip
from txtorcon import ITorControlProtocol, TorInfo, TorControlProtocol
@@ -60,6 +61,7 @@ class ProtocolIntegrationTests(unittest.
def send(self, line):
self.protocol.dataReceived(line.strip() + b"\r\n")
+ @skip('Skip failing test')
@defer.inlineCallbacks
def test_with_arg(self):
info = TorInfo(self.protocol)
@@ -154,6 +156,7 @@ something/two a second documentation str
d.addCallback(CheckAnswer(self, 'bar'))
return d
+ @skip('Skip failing test')
@defer.inlineCallbacks
def test_attribute_access(self):
'''
@@ -295,6 +298,7 @@ config/* a documentation string
info = TorInfo(self.protocol)
self.assertEqual(dir(info), [])
+ @skip('Skip failing test')
def test_other_bootstrap(self):
self.protocol.answers.append('''info/names=
multi/path/arg/* a documentation string
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package matrix-synapse for openSUSE:Factory checked in at 2021-08-31 19:55:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/matrix-synapse (Old)
and /work/SRC/openSUSE:Factory/.matrix-synapse.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "matrix-synapse"
Tue Aug 31 19:55:52 2021 rev:42 rq:915283 version:1.41.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/matrix-synapse/matrix-synapse.changes 2021-08-25 20:59:30.601058648 +0200
+++ /work/SRC/openSUSE:Factory/.matrix-synapse.new.1899/matrix-synapse.changes 2021-08-31 19:56:57.770060865 +0200
@@ -1,0 +2,44 @@
+Tue Aug 31 14:21:51 UTC 2021 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- Update to 1.41.1
+ Due to the two security issues highlighted below, server
+ administrators are encouraged to update Synapse. We are not aware
+ of these vulnerabilities being exploited in the wild.
+
+ - Security advisory
+ The following issues are fixed in v1.41.1.
+
+ - GHSA-3x4c-pq33-4w3q / CVE-2021-39164: Enumerating a private
+ room's list of members and their display names.
+
+ If an unauthorized user both knows the Room ID of a private
+ room and that room's history visibility is set to shared,
+ then they may be able to enumerate the room's members,
+ including their display names.
+
+ The unauthorized user must be on the same homeserver as a
+ user who is a member of the target room.
+
+ Fixed by 52c7a51cf.
+
+ - GHSA-jj53-8fmw-f2w2 / CVE-2021-39163: Disclosing a private
+ room's name, avatar, topic, and number of members.
+
+ If an unauthorized user knows the Room ID of a private room,
+ then its name, avatar, topic, and number of members may be
+ disclosed through Group / Community features.
+
+ The unauthorized user must be on the same homeserver as a
+ user who is a member of the target room, and their homeserver
+ must allow non-administrators to create groups
+ (enable_group_creation in the Synapse configuration; off by
+ default).
+
+ Fixed by cb35df940a, #10723.
+
+ - Bugfixes
+ - Fix a regression introduced in Synapse 1.41 which broke email
+ transmission on systems using older versions of the Twisted
+ library. (#10713)
+
+-------------------------------------------------------------------
Old:
----
matrix-synapse-1.41.0.obscpio
New:
----
matrix-synapse-1.41.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ matrix-synapse-test.spec ++++++
--- /var/tmp/diff_new_pack.vIAbYq/_old 2021-08-31 19:56:58.522061906 +0200
+++ /var/tmp/diff_new_pack.vIAbYq/_new 2021-08-31 19:56:58.530061917 +0200
@@ -27,7 +27,7 @@
%define pkgname matrix-synapse
Name: %{pkgname}-test
-Version: 1.41.0
+Version: 1.41.1
Release: 0
Summary: Test package for %{pkgname}
License: Apache-2.0
++++++ matrix-synapse.spec ++++++
--- /var/tmp/diff_new_pack.vIAbYq/_old 2021-08-31 19:56:58.562061961 +0200
+++ /var/tmp/diff_new_pack.vIAbYq/_new 2021-08-31 19:56:58.566061967 +0200
@@ -47,7 +47,7 @@
%define pkgname matrix-synapse
%define eggname matrix_synapse
Name: %{pkgname}
-Version: 1.41.0
+Version: 1.41.1
Release: 0
Summary: Matrix protocol reference homeserver
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.vIAbYq/_old 2021-08-31 19:56:58.626062050 +0200
+++ /var/tmp/diff_new_pack.vIAbYq/_new 2021-08-31 19:56:58.630062055 +0200
@@ -4,7 +4,7 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="url">https://github.com/matrix-org/synapse.git</param>
<param name="scm">git</param>
- <param name="revision">v1.41.0</param>
+ <param name="revision">v1.41.1</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<!--
++++++ matrix-synapse-1.41.0.obscpio -> matrix-synapse-1.41.1.obscpio ++++++
/work/SRC/openSUSE:Factory/matrix-synapse/matrix-synapse-1.41.0.obscpio /work/SRC/openSUSE:Factory/.matrix-synapse.new.1899/matrix-synapse-1.41.1.obscpio differ: char 50, line 1
++++++ matrix-synapse.obsinfo ++++++
--- /var/tmp/diff_new_pack.vIAbYq/_old 2021-08-31 19:56:58.710062166 +0200
+++ /var/tmp/diff_new_pack.vIAbYq/_new 2021-08-31 19:56:58.714062172 +0200
@@ -1,5 +1,5 @@
name: matrix-synapse
-version: 1.41.0
-mtime: 1629817593
-commit: f03cafb50c49a1569f1f99485f9cc42abfdc7b21
+version: 1.41.1
+mtime: 1630413808
+commit: a4c8a2f08b735266fbbe2f259e640f00dc5e3a00
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cutterff for openSUSE:Factory checked in at 2021-08-31 19:55:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cutterff (Old)
and /work/SRC/openSUSE:Factory/.cutterff.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cutterff"
Tue Aug 31 19:55:51 2021 rev:8 rq:915273 version:1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cutterff/cutterff.changes 2019-08-07 14:00:45.404853295 +0200
+++ /work/SRC/openSUSE:Factory/.cutterff.new.1899/cutterff.changes 2021-08-31 19:56:52.738053899 +0200
@@ -1,0 +2,64 @@
+Tue Aug 31 13:52:39 UTC 2021 - enzokiel(a)kabelmail.de
+
+- Update to version 1.0
+ * main.c
+ + replaced 'GLIB_MAJOR_VERSION' with
+ 'GLIB_MINOR_VERSION' and 'glib_major_version'
+ with 'glib_minor_version'
+ * gui.c
+ + setting '-GtkMenuBar-shadow-type' only for
+ versions < 3.20 (GTK-3 only)
+ + if closing a file with unsaved cutpoints a
+ dialog asks for discarding changes
+ + replaced in 'cff_gui_css_load_from_data'
+ 'gtk_style_context_add_provider_for_screen'
+ with 'gtk_style_context_add_provider'
+ + changed priority in 'cff_gui_logwindow_color_set'
+ from 'GTK_STYLE_PROVIDER_PRIORITY_APPLICATION' to
+ '..._USER' (GTK-3 only)
+ + changed tag color and font in 'textview' to
+ GTK-2 'gtk_widget_modify_...' or
+ GTK-3 'cff_gui_css_load_from_data'
+ + in 'cff_gui_logwindow_color_parse' converting
+ 'rgb(r,g,b)' to '#rrggbb' (GTK-2 only)
+ + popup in 'cff_gui_file_save' for selecting the
+ encoder for soft cutting
+ + may hang if log was set to 'debug'. So
+ 'g_main_context_invoke_full' in 'cff_gui_logwindow_cb'
+ was removed, 'cff_gui_logwindow_mainthread' is now
+ called every 5ms using 'g_timeout_add_full'
+ + remove last '\n' from log string in 'cff_gui_logwindow_cb'
+ + '_textview_scroll_to_iter' in 'cff_gui_logwindow_cb'
+ was removed. Now down scrolling is done using the
+ signal 'changed', and setting the new value in
+ 'cff_gui_logwindow_adjustment' with the function
+ 'gtk_adjustment_set_value'
+ + the slider is now 'GtkScale'
+ + using 'Cairo' instead of 'GdkDraw' (GTK-2 only)
+ * ffmpeg.c
+ + 'cff_ffmpeg_print_codecs_for_id': codecs separated
+ by commas, last space in front of terminating ')'
+ removed
+ + softcut is de- and encoding frames at the cutpoint(s)
+ + stream-sync starts copying packets if the timestamp
+ is greater or equal than the cutpoint
+ + test if bitstream filter 'mp4toannexb' is needed for
+ encoding in 'cff_ffmpeg_get_frame_dts' (h.264 + h.265)
+ + 'cff_ffmpeg_copy_open': if 'avformat_transfer_internal_
+ stream_timing_info' failed, try '(st->oStream)->time_
+ base = (st->iStream)->time_base' before 'av_stream_get_
+ codec_timebase'
+ + if the first DVB subtitle frame should clear a subtitle,
+ it is dropped (no subtitle shown yet). This will also
+ compute the right stream duration
+ * tools-gtk.c
+ + renamed 'guitl_' to 'cff_guitl_'
+ + moved 'cff_gui_beep' to 'cff_guitl_beep'
+ + 'cff_guitl_window_destroy' sets 'gWindata.topwin'
+ to NULL, if the main window is not on the top
+ + 'cff_guitl_dialog_icon' sets 'gWindata.topwin' to
+ 'gWindata.mainwin', is the top window is NULL
+ + changed signal 'size-allocate' in 'cff_guitl_window_setup'
+ to 'configure-event'
+
+-------------------------------------------------------------------
Old:
----
cutterff-0.9-src.tar.bz2
New:
----
cutterff-1.0-src.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cutterff.spec ++++++
--- /var/tmp/diff_new_pack.CQX7Be/_old 2021-08-31 19:56:53.182054514 +0200
+++ /var/tmp/diff_new_pack.CQX7Be/_new 2021-08-31 19:56:53.186054519 +0200
@@ -1,7 +1,7 @@
#
# spec file for package cutterff
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,15 +12,15 @@
# 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/
#
Name: cutterff
Summary: Video cutter that uses FFmpeg and GTK+
-Version: 0.9
+Version: 1.0
Release: 0
-Url: https://cutterff.sourceforge.io/
+URL: https://cutterff.sourceforge.io/
Source0: %{name}-%{version}-src.tar.bz2
Source1: %{name}.desktop
License: GPL-3.0
@@ -48,12 +48,12 @@
%lang_package
%prep
-%setup -q -n %{name}-%{version}
+%autosetup
%build
export CPPFLAGS="%{optflags}"
%configure
-make %{?_smp_mflags}
+%make_build
%install
%make_install
@@ -62,16 +62,7 @@
%find_lang %{name}
-%if 0%{?suse_version} < 1500
-%post
-%desktop_database_post
-
-%postun
-%desktop_database_postun
-%endif
-
%files
-%defattr(-,root,root)
%license COPYING
%doc README ChangeLog
%{_bindir}/%{name}
++++++ cutterff-0.9-src.tar.bz2 -> cutterff-1.0-src.tar.bz2 ++++++
++++ 14175 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package obs-service-product_converter for openSUSE:Factory checked in at 2021-08-31 19:55:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-product_converter (Old)
and /work/SRC/openSUSE:Factory/.obs-service-product_converter.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-product_converter"
Tue Aug 31 19:55:49 2021 rev:16 rq:915256 version:1.4.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-product_converter/obs-service-product_converter.changes 2021-07-01 07:05:47.919400117 +0200
+++ /work/SRC/openSUSE:Factory/.obs-service-product_converter.new.1899/obs-service-product_converter.changes 2021-08-31 19:56:51.866052692 +0200
@@ -1,0 +2,7 @@
+Tue Aug 24 11:56:37 UTC 2021 - Adrian Schr��ter <adrian(a)suse.de>
+
+- 1.4.7
+ * new option for picking rpms by version number instead of
+ repository priority
+
+-------------------------------------------------------------------
Old:
----
obs-service-product_converter-1.4.6.obscpio
New:
----
obs-service-product_converter-1.4.7.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-product_converter.spec ++++++
--- /var/tmp/diff_new_pack.BExGjr/_old 2021-08-31 19:56:52.398053429 +0200
+++ /var/tmp/diff_new_pack.BExGjr/_new 2021-08-31 19:56:52.402053434 +0200
@@ -19,7 +19,7 @@
%define service product_converter
Name: obs-service-%service
-Version: 1.4.6
+Version: 1.4.7
Release: 0
Summary: An OBS source service: create product media build descriptions
License: GPL-2.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.BExGjr/_old 2021-08-31 19:56:52.438053484 +0200
+++ /var/tmp/diff_new_pack.BExGjr/_new 2021-08-31 19:56:52.438053484 +0200
@@ -2,8 +2,8 @@
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/openSUSE/obs-service-product_converter.git</param>
<param name="scm">git</param>
- <param name="version">1.4.6</param>
- <param name="revision">1.4.6</param>
+ <param name="version">1.4.7</param>
+ <param name="revision">1.4.7</param>
</service>
<service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
++++++ obs-service-product_converter-1.4.6.obscpio -> obs-service-product_converter-1.4.7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-product_converter-1.4.6/BSProductXML.pm new/obs-service-product_converter-1.4.7/BSProductXML.pm
--- old/obs-service-product_converter-1.4.6/BSProductXML.pm 2021-06-30 09:32:39.000000000 +0200
+++ new/obs-service-product_converter-1.4.7/BSProductXML.pm 2021-08-24 13:46:57.000000000 +0200
@@ -294,6 +294,7 @@
'use_suggested',
'use_required',
'use_undecided', # take all packages, even the ungrouped ones
+ 'use_newest_version', # rpm version compare instead of repository priority
'allow_overflow',
'next_media_in_set',
'size',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-product_converter-1.4.6/create_single_product new/obs-service-product_converter-1.4.7/create_single_product
--- old/obs-service-product_converter-1.4.6/create_single_product 2021-06-30 09:32:39.000000000 +0200
+++ new/obs-service-product_converter-1.4.7/create_single_product 2021-08-24 13:46:57.000000000 +0200
@@ -316,6 +316,7 @@
$options{'IGNORE_MISSING_REPO_PACKAGES'} = "true" if (defined($medium->{'ignore_missing_packages'}) && $medium->{'ignore_missing_packages'} eq "true");
$options{'IGNORE_MISSING_META_PACKAGES'} = "true" if (defined($medium->{'ignore_missing_meta_packages'}) && $medium->{'ignore_missing_meta_packages'} eq "true");
+ $options{'USE_NEWEST_PACKAGE'} = "true" if (defined($medium->{'use_newest_version'}) && $medium->{'use_newest_version'} eq "true");
$options{'PLUGIN_DIR'} = "/usr/share/kiwi/modules/plugins/$mediaStyle";
$options{'INI_DIR'} = "/usr/share/kiwi/modules/plugins/$mediaStyle";
$options{'BETA_VERSION'} = $product->{'buildconfig'}->{'betaversion'} if (defined($product->{'buildconfig'}->{'betaversion'}));
++++++ obs-service-product_converter.obsinfo ++++++
--- /var/tmp/diff_new_pack.BExGjr/_old 2021-08-31 19:56:52.566053661 +0200
+++ /var/tmp/diff_new_pack.BExGjr/_new 2021-08-31 19:56:52.570053667 +0200
@@ -1,5 +1,5 @@
name: obs-service-product_converter
-version: 1.4.6
-mtime: 1625038359
-commit: 629300c500a764806c83f3b4e77b1b1f93dc5355
+version: 1.4.7
+mtime: 1629805617
+commit: e1d038921cc759a875dd14074147592e39ee4684
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2021-08-31 19:55:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
and /work/SRC/openSUSE:Factory/.crmsh.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh"
Tue Aug 31 19:55:48 2021 rev:220 rq:915255 version:4.3.1+20210827.1ae49236
Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2021-08-11 11:49:35.313575358 +0200
+++ /work/SRC/openSUSE:Factory/.crmsh.new.1899/crmsh.changes 2021-08-31 19:56:50.602050942 +0200
@@ -1,0 +2,12 @@
+Fri Aug 27 07:03:55 UTC 2021 - XLiang(a)suse.com
+
+- Update to version 4.3.1+20210827.1ae49236:
+ * Fix: hb_report: Using python way to collect ra trace files (bsc#1189641)
+
+-------------------------------------------------------------------
+Fri Aug 27 03:36:50 UTC 2021 - XLiang(a)suse.com
+
+- Update to version 4.3.1+20210827.4e4e83b3:
+ * Fix: bootstrap: adjust host list for parallax to get and copy known_hosts file(bsc#1188971)
+
+-------------------------------------------------------------------
Old:
----
crmsh-4.3.1+20210811.4045e09d.tar.bz2
New:
----
crmsh-4.3.1+20210827.1ae49236.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.s9AHha/_old 2021-08-31 19:56:51.114051651 +0200
+++ /var/tmp/diff_new_pack.s9AHha/_new 2021-08-31 19:56:51.118051657 +0200
@@ -36,7 +36,7 @@
Summary: High Availability cluster command-line interface
License: GPL-2.0-or-later
Group: %{pkg_group}
-Version: 4.3.1+20210811.4045e09d
+Version: 4.3.1+20210827.1ae49236
Release: 0
URL: http://crmsh.github.io
Source0: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.s9AHha/_old 2021-08-31 19:56:51.162051718 +0200
+++ /var/tmp/diff_new_pack.s9AHha/_new 2021-08-31 19:56:51.162051718 +0200
@@ -9,6 +9,6 @@
</service>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/crmsh.git</param>
- <param name="changesrevision">4045e09d6208e04923342b8ede1520aca88eda7d</param>
+ <param name="changesrevision">1ae49236c4cc28964968e97c448200614a5b0904</param>
</service>
</servicedata>
\ No newline at end of file
++++++ crmsh-4.3.1+20210811.4045e09d.tar.bz2 -> crmsh-4.3.1+20210827.1ae49236.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.3.1+20210811.4045e09d/crmsh/bootstrap.py new/crmsh-4.3.1+20210827.1ae49236/crmsh/bootstrap.py
--- old/crmsh-4.3.1+20210811.4045e09d/crmsh/bootstrap.py 2021-08-11 09:00:07.000000000 +0200
+++ new/crmsh-4.3.1+20210827.1ae49236/crmsh/bootstrap.py 2021-08-27 08:52:02.000000000 +0200
@@ -1623,10 +1623,8 @@
def join_ssh_merge(_cluster_node):
status("Merging known_hosts")
- me = utils.this_node()
hosts = [m.group(1)
- for m in re.finditer(r"^\s*host\s*([^ ;]+)\s*;", open(CSYNC2_CFG).read(), re.M)
- if m.group(1) != me]
+ for m in re.finditer(r"^\s*host\s*([^ ;]+)\s*;", open(CSYNC2_CFG).read(), re.M)]
if not hosts:
hosts = [_cluster_node]
warn("Unable to extract host list from %s" % (CSYNC2_CFG))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.3.1+20210811.4045e09d/hb_report/utillib.py new/crmsh-4.3.1+20210827.1ae49236/hb_report/utillib.py
--- old/crmsh-4.3.1+20210811.4045e09d/hb_report/utillib.py 2021-08-11 09:00:07.000000000 +0200
+++ new/crmsh-4.3.1+20210827.1ae49236/hb_report/utillib.py 2021-08-27 08:52:02.000000000 +0200
@@ -967,11 +967,9 @@
log_debug("looking for RA trace files in %s" % trace_dir)
flist = []
for f in find_files(trace_dir, constants.FROM_TIME, constants.TO_TIME):
- flist.append(os.path.join("trace_ra", '/'.join(f.split('/')[-2:])))
- if flist:
- cmd = "tar -cf - -C `dirname %s` %s | tar -xf - -C %s" % (trace_dir, ' '.join(flist), constants.WORKDIR)
- crmutils.ext_cmd(cmd)
- log_debug("found %d RA trace files in %s" % (len(flist), trace_dir))
+ dest_dir = os.path.join(constants.WORKDIR, '/'.join(f.split('/')[-3:-1]))
+ crmutils.mkdirp(dest_dir)
+ shutil.copy2(f, dest_dir)
def get_pe_inputs():
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package soci for openSUSE:Factory checked in at 2021-08-31 19:55:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/soci (Old)
and /work/SRC/openSUSE:Factory/.soci.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "soci"
Tue Aug 31 19:55:47 2021 rev:3 rq:915267 version:4.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/soci/soci.changes 2021-08-25 20:59:56.393024788 +0200
+++ /work/SRC/openSUSE:Factory/.soci.new.1899/soci.changes 2021-08-31 19:56:49.914049990 +0200
@@ -1,0 +2,11 @@
+Tue Aug 31 12:59:35 UTC 2021 - Giacomo Comes <gcomes.obs(a)gmail.com> - 4.0.2
+
+- Add build option SOCI_CXX11=ON, some packages (lime) needs it
+- fix several RPMLINT warning
+
+-------------------------------------------------------------------
+Wed Aug 25 09:05:17 UTC 2021 - Dan ��erm��k <dcermak(a)suse.com>
+
+- Enable test suite run in %check
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ soci.spec ++++++
--- /var/tmp/diff_new_pack.zLttW1/_old 2021-08-31 19:56:50.322050555 +0200
+++ /var/tmp/diff_new_pack.zLttW1/_new 2021-08-31 19:56:50.326050560 +0200
@@ -1,7 +1,7 @@
#
# spec file for package soci
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,11 +17,13 @@
%define sover 4_0
+%bcond_without tests
Name: soci
Version: 4.0.2
Release: 0
Summary: The C++ Database Access Library
License: BSL-1.0
+Group: Productivity/Databases/Tools
URL: https://soci.sourceforge.io/
Source: https://github.com/SOCI/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{nam…
BuildRequires: cmake
@@ -40,6 +42,7 @@
%package -n lib%{name}_core%{sover}
Summary: The C++ Database Access Library
+Group: Productivity/Databases/Tools
Requires: lib%{name}%{sover}-backend
Suggests: lib%{name}_empty%{sover}
@@ -50,6 +53,7 @@
%package devel
Summary: Development files for soci
+Group: Development/Tools/Other
Requires: lib%{name}_core%{sover} = %{version}
Requires: libboost_headers-devel
@@ -64,6 +68,7 @@
%package -n lib%{name}_empty%{sover}
Summary: Empty back-end for soci
+Group: Productivity/Databases/Tools
Provides: lib%{name}%{sover}-backend = %{version}
%description -n lib%{name}_empty%{sover}
@@ -75,6 +80,7 @@
%package empty-devel
Summary: Development files for the soci empty back-end
+Group: Development/Tools/Other
Requires: %{name}-devel = %{version}
Requires: lib%{name}_empty%{sover} = %{version}
@@ -89,6 +95,7 @@
%package -n lib%{name}_sqlite3-%{sover}
Summary: SQLite back-end for soci
+Group: Productivity/Databases/Tools
Provides: lib%{name}%{sover}-backend = %{version}
%description -n lib%{name}_sqlite3-%{sover}
@@ -100,6 +107,7 @@
%package sqlite3-devel
Summary: Development files for the soci SQLite back-end
+Group: Development/Tools/Other
Requires: %{name}-devel = %{version}
Requires: lib%{name}_sqlite3-%{sover} = %{version}
Requires: pkgconfig(sqlite3)
@@ -115,6 +123,7 @@
%package -n lib%{name}_postgresql%{sover}
Summary: PostgreSQL back-end for soci
+Group: Productivity/Databases/Tools
Provides: lib%{name}%{sover}-backend = %{version}
%description -n lib%{name}_postgresql%{sover}
@@ -126,6 +135,7 @@
%package postgresql-devel
Summary: Development files for the soci PostgreSQL back-end
+Group: Development/Tools/Other
Requires: %{name}-devel = %{version}
Requires: lib%{name}_postgresql%{sover} = %{version}
Requires: pkgconfig(libpq)
@@ -141,6 +151,7 @@
%package -n lib%{name}_mysql%{sover}
Summary: MariaDB back-end for soci
+Group: Productivity/Databases/Tools
Provides: lib%{name}%{sover}-backend = %{version}
%description -n lib%{name}_mysql%{sover}
@@ -152,6 +163,7 @@
%package mysql-devel
Summary: Development files for the soci MariaDB back-end
+Group: Development/Tools/Other
Requires: %{name}-devel = %{version}
Requires: lib%{name}_mysql%{sover} = %{version}
Requires: pkgconfig(libmariadb)
@@ -167,6 +179,7 @@
%package -n lib%{name}_odbc%{sover}
Summary: ODBC back-end for soci
+Group: Productivity/Databases/Tools
Provides: lib%{name}%{sover}-backend = %{version}
%description -n lib%{name}_odbc%{sover}
@@ -178,6 +191,7 @@
%package odbc-devel
Summary: Development files for the soci ODBC back-end
+Group: Development/Tools/Other
Requires: %{name}-devel = %{version}
Requires: lib%{name}_odbc%{sover} = %{version}
Requires: pkgconfig(odbc)
@@ -197,6 +211,12 @@
sed -i 's/-Werror //' cmake/SociConfig.cmake
%build
+# Support for building tests.
+%define soci_testflags -DBUILD_TESTS="NONE"
+%if %{with tests}
+%define soci_testflags -DSOCI_TEST=ON -DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" -DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=mloskot password=pantera"
+%endif
+
%cmake \
-DWITH_BOOST=ON \
-DWITH_EMPTY=ON \
@@ -207,35 +227,31 @@
-DWITH_FIREBIRD=OFF \
-DWITH_DB2=OFF \
-DWITH_ORACLE=OFF \
- -DSOCI_TESTS=OFF \
+ %{soci_testflags} \
+ -DSOCI_CXX11=ON \
-DSOCI_STATIC=OFF
%cmake_build
%install
%cmake_install
-%post -n lib%{name}_core%{sover} -p /sbin/ldconfig
+%if %{with tests}
+%check
+export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:%{buildroot}%{_libdir}
+%{ctest --exclude-regex 'soci_(odbc|mysql|postgresql)_test'}
+%endif
+%post -n lib%{name}_core%{sover} -p /sbin/ldconfig
%postun -n lib%{name}_core%{sover} -p /sbin/ldconfig
-
%post -n lib%{name}_empty%{sover} -p /sbin/ldconfig
-
%postun -n lib%{name}_empty%{sover} -p /sbin/ldconfig
-
%post -n lib%{name}_sqlite3-%{sover} -p /sbin/ldconfig
-
%postun -n lib%{name}_sqlite3-%{sover} -p /sbin/ldconfig
-
%post -n lib%{name}_postgresql%{sover} -p /sbin/ldconfig
-
%postun -n lib%{name}_postgresql%{sover} -p /sbin/ldconfig
-
%post -n lib%{name}_mysql%{sover} -p /sbin/ldconfig
-
%postun -n lib%{name}_mysql%{sover} -p /sbin/ldconfig
-
%post -n lib%{name}_odbc%{sover} -p /sbin/ldconfig
-
%postun -n lib%{name}_odbc%{sover} -p /sbin/ldconfig
%files -n lib%{name}_core%{sover}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tensorflow2 for openSUSE:Factory checked in at 2021-08-31 19:55:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tensorflow2 (Old)
and /work/SRC/openSUSE:Factory/.tensorflow2.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tensorflow2"
Tue Aug 31 19:55:45 2021 rev:21 rq:915219 version:2.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/tensorflow2/tensorflow2.changes 2021-05-20 19:25:16.493889696 +0200
+++ /work/SRC/openSUSE:Factory/.tensorflow2.new.1899/tensorflow2.changes 2021-08-31 19:56:42.174039275 +0200
@@ -1,0 +2,134 @@
+Thu Aug 19 03:51:15 UTC 2021 - Fusion Future <qydwhotmail(a)gmail.com>
+
+- Update to 2.6.0
+ Major changes are:
+ * Keras been split into a separate PIP package (keras), and its
+ code has been moved to the GitHub repositorykeras-team/keras.
+ The API endpoints for tf.keras stay unchanged, but are now
+ backed by the keras PIP package. The existing code in
+ tensorflow/python/keras is a staled copy and will be removed in
+ future release (2.7). Please remove any imports to
+ tensorflow.python.keras and replace them with public tf.keras
+ API instead.
+ * tf.train.experimental.enable_mixed_precision_graph_rewrite is
+ removed, as the API only works in graph mode and is not
+ customizable. The function is still accessible under
+ tf.compat.v1.mixed_precision.enable_mixed_precision_graph_rewrite,
+ but it is recommended to use the Keras mixed precision API
+ instead.
+ * tf.lite: Remove experimental.nn.dynamic_rnn,
+ experimental.nn.TfLiteRNNCell and
+ experimental.nn.TfLiteLSTMCell since they're no
+ longer supported. It's recommended to just use keras lstm
+ instead.
+ * tf.keras: The methods Model.to_yaml() and
+ keras.models.model_from_yaml have been replaced to raise a
+ RuntimeError as they can be abused to cause arbitrary code
+ execution. It is recommended to use JSON serialization instead
+ of YAML, or, a better alternative, serialize to H5.
+- Major changes from 2.5.x:
+ * Support for Python3.9 has been added.
+ * The TF_CPP_MIN_VLOG_LEVEL environment variable has been renamed
+ to to TF_CPP_MAX_VLOG_LEVEL which correctly describes its
+ effect.
+- Fixed multiple CVEs (boo#1189423):
+ * CVE-2021-37635
+ * CVE-2021-37636
+ * CVE-2021-37637
+ * CVE-2021-37638
+ * CVE-2021-37639
+ * CVE-2021-37640
+ * CVE-2021-37642
+ * CVE-2021-37641
+ * CVE-2021-37644
+ * CVE-2021-37643
+ * CVE-2021-37645
+ * CVE-2021-37646
+ * CVE-2021-37647
+ * CVE-2021-37648
+ * CVE-2021-37649
+ * CVE-2021-37650
+ * CVE-2021-37651
+ * CVE-2021-37652
+ * CVE-2021-37653
+ * CVE-2021-37654
+ * CVE-2021-37655
+ * CVE-2021-37656
+ * CVE-2021-37657
+ * CVE-2021-37658
+ * CVE-2021-37659
+ * CVE-2021-37660
+ * CVE-2021-37661
+ * CVE-2021-37662
+ * CVE-2021-37664
+ * CVE-2021-37663
+ * CVE-2021-37665
+ * CVE-2021-37666
+ * CVE-2021-37667
+ * CVE-2021-37668
+ * CVE-2021-37669
+ * CVE-2021-37670
+ * CVE-2021-37671
+ * CVE-2021-37672
+ * CVE-2021-37673
+ * CVE-2021-37674
+ * CVE-2021-37676
+ * CVE-2021-37675
+ * CVE-2021-37677
+ * CVE-2021-37678
+ * CVE-2021-37679
+ * CVE-2021-37680
+ * CVE-2021-37681
+ * CVE-2021-37682
+ * CVE-2021-37683
+ * CVE-2021-37684
+ * CVE-2021-37686
+ * CVE-2021-37685
+ * CVE-2021-37687
+ * CVE-2021-37688
+ * CVE-2021-37689
+ * CVE-2021-37691
+ * CVE-2021-37692
+ * CVE-2021-37690
+- Updated sources:
+ * abseil-cpp.tar.gz
+ * cpuinfo.zip
+ * dill-0.3.2.zip
+ * eigen.tar.gz
+ * google-cloud-cpp.tar.gz
+ * libxsmm_1.14.tar.gz
+ * llvm.tar.gz
+ * oneDNN.tar.gz
+ * rules_cc.tar.gz
+ * rules_closure.tar.gz
+ * rules_docker-0.18.0.tar.gz
+ * ruy.zip
+ * tblib-1.7.0.tar.gz
+- Added sources:
+ * ComputeLibrary.tar.gz
+ * oneDNN-v2.3-rc2.tar.gz
+ * platforms-0.0.2.tar.gz
+ * rules_proto.tar.gz
+ * tf_runtime.tar.gz
+ * tf_toolchains.tar.gz
+- Removed sources:
+ * kafka-v0.11.5.tar.gz
+- Add "tensorflow-2.6.0" prefix to existing patches to indicate
+ that patches are likely to be only applicable to a specific
+ version.
+ * fix-lite.patch -> tensorflow-2.6.0-fix-lite.patch
+ * numpy-tensor-small.patch -> tensorflow-2.6.0-numpy-tensor-small.patch
+ * removed-clog-build-as-included-in-cpuinfo.patch -> tensorflow-2.6.0-removed-clog-build-as-included-in-cpuinfo.patch
+ * removed-external-toolchains.patch -> tensorflow-2.6.0-removed-external-toolchains.patch
+ * remove-weakref.patch -> tensorflow-2.6.0-remove-weakref.patch
+ * tf-keras-hdf5-3.patch -> tensorflow-2.6.0-tf-keras-hdf5-3.patch
+- Rebase all existing patches.
+- Add tensorflow-2.6.0-compile-with-protobuf-3.16.patch to fix
+ build error with protobuf >= 3.16.0. (boo#1186860)
+ (https://github.com/protocolbuffers/protobuf/pull/8354)
+- Update bazel version requirement to 3.7.2.
+- Drop pcre-devel build requirement as it is not used anymore.
+- Drop --incompatible_no_support_tools_in_action_inputs=false as it
+ is removed in bazel >= 3.6.
+
+-------------------------------------------------------------------
Old:
----
dill-0.3.1.1.tar.gz
fix-lite.patch
kafka-v0.11.5.tar.gz
libxsmm_1.9.tar.gz
numpy-tensor-small.patch
remove-weakref.patch
removed-clog-build-as-included-in-cpuinfo.patch
removed-external-toolchains.patch
rules_docker-0.15.0.tar.gz
tblib-1.3.2.tar.gz
tensorflow-2.4.1.tar.gz
tf-keras-hdf5-3.patch
New:
----
ComputeLibrary.tar.gz
dill-0.3.2.zip
libxsmm_1.14.tar.gz
oneDNN-v2.3-rc2.tar.gz
platforms-0.0.2.tar.gz
rules_docker-0.18.0.tar.gz
rules_proto.tar.gz
tblib-1.7.0.tar.gz
tensorflow-2.6.0-compile-with-protobuf-3.16.patch
tensorflow-2.6.0-fix-lite.patch
tensorflow-2.6.0-numpy-tensor-small.patch
tensorflow-2.6.0-remove-weakref.patch
tensorflow-2.6.0-removed-clog-build-as-included-in-cpuinfo.patch
tensorflow-2.6.0-removed-external-toolchains.patch
tensorflow-2.6.0-tf-keras-hdf5-3.patch
tensorflow-2.6.0.tar.gz
tf_runtime.tar.gz
tf_toolchains.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tensorflow2.spec ++++++
--- /var/tmp/diff_new_pack.TIpYlc/_old 2021-08-31 19:56:46.454045200 +0200
+++ /var/tmp/diff_new_pack.TIpYlc/_new 2021-08-31 19:56:46.458045205 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package tensorflow2
+# spec file
#
# Copyright (c) 2021 SUSE LLC
#
@@ -18,12 +18,12 @@
#
%define pname tensorflow2
-%define vers 2.4.1
+%define vers 2.6.0
#%%define cand -rc4
-%define _vers 2_4_1
+%define _vers 2_6_0
%define libmaj 2
-%define libmin 4
-%define libref 1
+%define libmin 6
+%define libref 0
%define python_ver_hack python3.[0-9]
%ifarch aarch64
%define mklconfig mkl_aarch64
@@ -137,25 +137,23 @@
# License17: Apache-2.0
Source17: https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa4…
# License18: BSD-3-Clause
-Source18: https://github.com/hfp/libxsmm/archive/1.9.tar.gz#/libxsmm_1.9.tar.gz
+Source18: https://github.com/hfp/libxsmm/archive/1.14.tar.gz#/libxsmm_1.14.tar.gz
# License19: Apache-2.0
-Source19: https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d…
+Source19: https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7b…
# License21: Apache-2.0
Source21: https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b…
# License24: Apache-2.0
Source24: https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f…
# License26: MPL-2.0
# NOTE: tensorflow only uses MPL-2.0 part of eigen
-Source26: https://gitlab.com/libeigen/eigen/-/archive/011e0db31d1bed8b7f73662be6d57d9…
+Source26: https://gitlab.com/libeigen/eigen/-/archive/12e8d57108c50d8a63605c6eb0144c8…
# License27: BSD-2-Clause
Source27: https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525e…
Source28: https://docs.python.org/2.7/_sources/license.rst.txt#/license.rst.txt
-# License34: BSD-3-Clause and Intel
-Source34: https://github.com/edenhill/librdkafka/archive/v0.11.5.tar.gz#/kafka-v0.11.…
# License35: Apache-2.0
-Source35: https://github.com/GoogleCloudPlatform/google-cloud-cpp/archive/v0.4.0.tar.…
+Source35: https://github.com/googleapis/google-cloud-cpp/archive/v1.17.1.tar.gz#/goog…
# License37: Apache-2.0
-Source37: https://github.com/bazelbuild/rules_docker/archive/v0.15.0.tar.gz#/rules_do…
+Source37: https://github.com/bazelbuild/rules_docker/releases/download/v0.18.0/rules_…
# License44: BSD like
Source44: https://github.com/nanopb/nanopb/archive/f8ac463766281625ad710900479130c7fc…
# License45: Python license itself, do need as sha256b have to match so could not use system one
@@ -166,20 +164,20 @@
# License53: BSD like
Source53: https://storage.googleapis.com/mirror.tensorflow.org/www.kurims.kyoto-u.ac.…
# License54: Apache-2.0 WITH LLVM-exception OR NCSA
-Source54: https://github.com/llvm/llvm-project/archive/f402e682d0ef5598eeffc9a21a691b…
+Source54: https://github.com/llvm/llvm-project/archive/f7b1fa6f5ebec5780e626aa48d582f…
# License56: BSD-3-Clause
Source56: https://github.com/mborgerding/kissfft/archive/36dbc057604f00aacfc0288ddad5…
# Wrong rules package in Factory
# License58: Apache-2.0
-Source58: https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8…
+Source58: https://github.com/bazelbuild/rules_cc/archive/40548a2974f1aea06215272d9c2b…
# Source59: Apache-2.0
Source59: https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip#/rules_andro…
# License60: BSD 2-Clause
-Source60: https://github.com/pytorch/cpuinfo/archive/6cecd15784fcb6c5c0aa7311c6248879…
+Source60: https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a…
# License23: BSD-3-Clause
Source62: https://github.com/joe-kuo/sobol_data/archive/835a7d7b1ee3bc83e575e302a985c…
# Source63: Apache-2.0
-Source63: https://github.com/google/ruy/archive/5bb02fbf90824c2eb6cd7418f766c593106a3…
+Source63: https://github.com/google/ruy/archive/e6c1b8dc8a8b00ee74e7268aac8b18d7260ab…
# License64: Apache-2.0
Source64: https://github.com/dmlc/dlpack/archive/3efc489b55385936531a06ff83425b719387…
# License65: BSD like
@@ -190,25 +188,39 @@
# License67: Apache-2.0 WITH LLVM-exception OR NCSA
Source67: https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/openm…
# License68: Apache License 2.0
-Source68: https://github.com/oneapi-src/oneDNN/archive/v1.6.4.tar.gz#/oneDNN.tar.gz
+Source68: https://github.com/oneapi-src/oneDNN/archive/v2.3.tar.gz#/oneDNN.tar.gz
# License69: BSD-2-Clause
-Source69: https://files.pythonhosted.org/packages/ec/c4/8c651f3240a73c28a218194f3d527…
+Source69: https://files.pythonhosted.org/packages/d3/41/901ef2e81d7b1e834b9870d416cb0…
# License70: BSD-3-Clause
-Source70: https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf0240…
+Source70: https://files.pythonhosted.org/packages/e2/96/518a8ea959a734b70d2e95fef98bc…
# License71: PSF
Source71: https://files.pythonhosted.org/packages/6a/28/d32852f2af6b5ead85d396249d5bd…
+# License72: Apache License 2.0
+Source72: https://github.com/tensorflow/toolchains/archive/v1.1.21.tar.gz#/tf_toolcha…
+# License73: Apache License 2.0
+Source73: https://github.com/tensorflow/runtime/archive/b570a1921c9e55ac53c8972bd2bfd…
+# License74: MIT
+Source74: https://github.com/ARM-software/ComputeLibrary/archive/v21.05.tar.gz#/Compu…
+# License75: Apache License 2.0
+Source75: https://github.com/bazelbuild/platforms/releases/download/0.0.2/platforms-0…
+# License76: Apache License 2.0
+Source76: https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85…
+# License77: Apache License 2.0
+Source77: https://github.com/oneapi-src/oneDNN/archive/v2.3-rc2.tar.gz#/oneDNN-v2.3-r…
Source100: https://github.com/google/googletest/archive/release-1.8.0.tar.gz
-Patch10: removed-external-toolchains.patch
+Patch10: tensorflow-2.6.0-removed-external-toolchains.patch
# see https://github.com/tensorflow/tensorflow/pull/35943
-Patch13: remove-weakref.patch
-Patch14: fix-lite.patch
+Patch13: tensorflow-2.6.0-remove-weakref.patch
+Patch14: tensorflow-2.6.0-fix-lite.patch
# Fix from upstream for gcc10.1
-Patch20: removed-clog-build-as-included-in-cpuinfo.patch
+Patch20: tensorflow-2.6.0-removed-clog-build-as-included-in-cpuinfo.patch
# Fix for numpy 1.20 -- https://stackoverflow.com/questions/66373169 , https://github.com/tensorflow/tensorflow/issues/47691
-Patch21: numpy-tensor-small.patch
+Patch21: tensorflow-2.6.0-numpy-tensor-small.patch
# Fix for hdf5 3.0 -- https://github.com/tensorflow/tensorflow/issues/44467
-Patch22: tf-keras-hdf5-3.patch
+Patch22: tensorflow-2.6.0-tf-keras-hdf5-3.patch
+# PATCH-FIX-OPENSUSE tensorflow-2.6.0-compile-with-protobuf-3.16.patch https://github.com/protocolbuffers/protobuf/pull/8354
+Patch23: tensorflow-2.6.0-compile-with-protobuf-3.16.patch
Requires: python3
Requires: python3-Keras-Preprocessing
@@ -236,7 +248,7 @@
Provides: tensorflow
%endif
%if !%{is_lite}
-BuildRequires: bazel == 3.4.1
+BuildRequires: bazel == 3.7.2
#BuildRequires: bazel-rules-cc-source
#BuildRequires: bazel-apple-support-source
#BuildRequires: bazel-rules-apple-source
@@ -299,7 +311,6 @@
BuildRequires: lmdb-devel
BuildRequires: memory-constraints
BuildRequires: nasm
-BuildRequires: pcre-devel
# Requiring 3.9.1 which is the actual one in Leap 15.2
BuildRequires: protobuf-devel >= 3.9.1
BuildRequires: protobuf-java
@@ -473,7 +484,6 @@
%makebazelcache %{SOURCE26}
%makebazelcache %{SOURCE27}
%makebazelcache %{SOURCE28}
-%makebazelcache %{SOURCE34}
%makebazelcache %{SOURCE35}
%makebazelcache %{SOURCE44}
%makebazelcache %{SOURCE45}
@@ -494,16 +504,26 @@
%makebazelcache %{SOURCE69}
%makebazelcache %{SOURCE70}
%makebazelcache %{SOURCE71}
+%makebazelcache %{SOURCE72}
+%makebazelcache %{SOURCE73}
+%makebazelcache %{SOURCE74}
+%makebazelcache %{SOURCE75}
+%makebazelcache %{SOURCE76}
+%makebazelcache %{SOURCE77}
# unpack tensorflow
%setup -q -c -n %{pname}-%{version}
%sanitize_dir
-%patch10 -p 1
-%patch13 -p 1
-%patch14 -p 1
-%patch20 -p 1
-%patch21 -p 1
-%patch22 -p 1
+%patch10 -p 2
+%patch13 -p 2
+%patch14 -p 2
+%patch20 -p 2
+%patch21 -p 2
+%patch22 -p 2
+# https://github.com/protocolbuffers/protobuf/pull/8354
+if pkg-config --atleast-version 3.16.0 protobuf; then
+%patch23 -p 2
+fi
%define make_depend_src() test -e $(basename %{1}| sed 's/-.*//') && rmdir %{?2}%{!?2:$(basename %{1}| sed 's/-.*//')}; test -e %{2} && rmdir %{2}; tar xzf %{1}; mv $(basename %{1} | sed 's/\.tar\.gz//' ) %{?2}%{!?2:$(basename %{1}| sed 's/-.*//')}
# extract bazel rules
@@ -579,7 +599,6 @@
astor_archive,\
astunparse_archive,\
boringssl,\
- com_github_googleapis_googleapis,\
com_github_googlecloudplatform_google_cloud_cpp,\
com_github_grpc_grpc,\
com_google_protobuf,\
@@ -601,7 +620,6 @@
opt_einsum_archive,\
org_sqlite,\
pasta,\
- pcre,\
png,\
pybind11,\
six_archive,\
@@ -657,7 +675,6 @@
--config=%{mklconfig} \\\
--config=v2 \\\
--config=noaws \\\
- --incompatible_no_support_tools_in_action_inputs=false \\\
--override_repository="upb=/usr/share/bazel-workspaces/upb" \\\
--override_repository="bazel_skylib=/usr/src/bazel-skylib"\\\
--override_repository="bazel_toolchains=/home/abuild/rpmbuild/SOURCES/bazel-toolchains" \\\
++++++ abseil-cpp.tar.gz ++++++
++++ 68885 lines of diff (skipped)
++++++ cpuinfo.zip ++++++
Binary files /var/tmp/diff_new_pack.TIpYlc/_old and /var/tmp/diff_new_pack.TIpYlc/_new differ
++++++ eigen.tar.gz ++++++
++++ 40789 lines of diff (skipped)
++++++ google-cloud-cpp.tar.gz ++++++
++++ 379263 lines of diff (skipped)
++++++ libxsmm_1.9.tar.gz -> libxsmm_1.14.tar.gz ++++++
++++ 362421 lines of diff (skipped)
++++++ license.rst.txt ++++++
--- /var/tmp/diff_new_pack.TIpYlc/_old 2021-08-31 19:56:48.958048666 +0200
+++ /var/tmp/diff_new_pack.TIpYlc/_new 2021-08-31 19:56:48.958048666 +0200
@@ -22,7 +22,7 @@
In May 2000, Guido and the Python core development team moved to BeOpen.com to
form the BeOpen PythonLabs team. In October of the same year, the PythonLabs
team moved to Digital Creations (now Zope Corporation; see
-https://www.zope.org/). In 2001, the Python Software Foundation (PSF, see
+http://www.zope.com/). In 2001, the Python Software Foundation (PSF, see
https://www.python.org/psf/) was formed, a non-profit organization created
specifically to own Python-related Intellectual Property. Zope Corporation is a
sponsoring member of the PSF.
@@ -87,7 +87,7 @@
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python |release| alone or in any derivative
version, provided, however, that PSF's License Agreement and PSF's notice of
- copyright, i.e., "Copyright �� 2001-2020 Python Software Foundation; All Rights
+ copyright, i.e., "Copyright �� 2001-2019 Python Software Foundation; All Rights
Reserved" are retained in Python |release| alone or in any derivative version
prepared by Licensee.
++++++ llvm.tar.gz ++++++
/work/SRC/openSUSE:Factory/tensorflow2/llvm.tar.gz /work/SRC/openSUSE:Factory/.tensorflow2.new.1899/llvm.tar.gz differ: char 13, line 1
++++++ oneDNN.tar.gz ++++++
/work/SRC/openSUSE:Factory/tensorflow2/oneDNN.tar.gz /work/SRC/openSUSE:Factory/.tensorflow2.new.1899/oneDNN.tar.gz differ: char 13, line 1
++++++ rules_cc.tar.gz ++++++
++++ 22662 lines of diff (skipped)
++++++ rules_docker-0.15.0.tar.gz -> rules_docker-0.18.0.tar.gz ++++++
++++ 8601 lines of diff (skipped)
++++++ ruy.zip ++++++
Binary files /var/tmp/diff_new_pack.TIpYlc/_old and /var/tmp/diff_new_pack.TIpYlc/_new differ
++++++ tblib-1.3.2.tar.gz -> tblib-1.7.0.tar.gz ++++++
++++ 3008 lines of diff (skipped)
++++++ tensorflow-2.6.0-compile-with-protobuf-3.16.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/core/kernels/example_parsing_ops.cc
+++ b/tensorflow-2.6.0/tensorflow/core/kernels/example_parsing_ops.cc
@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKer
resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out);
OP_REQUIRES(ctx, status.ok(),
errors::InvalidArgument("Error while parsing JSON: ",
- string(status.error_message())));
+ string(status.message())));
}
}
++++++ tensorflow-2.6.0-fix-lite.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/lite/tools/make/Makefile
+++ b/tensorflow-2.6.0/tensorflow/lite/tools/make/Makefile
@@ -48,11 +48,12 @@ INCLUDES := \
-I$(OBJDIR)
# This is at the end so any globally-installed frameworks like protobuf don't
# override local versions in the source tree.
-INCLUDES += -I/usr/local/include
+INCLUDES += -I/usr/include
# These are the default libraries needed, but they can be added to or
# overridden by the platform-specific settings in target makefiles.
LIBS := \
+-lflatbuffers \
-lstdc++ \
-lpthread \
-lm \
@@ -162,8 +163,7 @@ $(wildcard tensorflow/lite/tools/optimiz
$(PROFILER_SRCS) \
tensorflow/lite/tools/make/downloads/farmhash/src/farmhash.cc \
tensorflow/lite/tools/make/downloads/fft2d/fftsg.c \
-tensorflow/lite/tools/make/downloads/fft2d/fftsg2d.c \
-tensorflow/lite/tools/make/downloads/flatbuffers/src/util.cpp
+tensorflow/lite/tools/make/downloads/fft2d/fftsg2d.c
CORE_CC_ALL_SRCS += \
$(shell find tensorflow/lite/tools/make/downloads/absl/absl/ \
-type f -name \*.cc | grep -v test | grep -v benchmark | grep -v synchronization | grep -v debugging | grep -v hash | grep -v flags | grep -v random)
++++++ tensorflow-2.6.0-numpy-tensor-small.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/python/ops/array_ops.py
+++ b/tensorflow-2.6.0/tensorflow/python/ops/array_ops.py
@@ -36,6 +36,7 @@ from tensorflow.python.framework import
from tensorflow.python.framework.constant_op import constant
from tensorflow.python.ops import gen_array_ops
from tensorflow.python.ops import gen_math_ops
+from tensorflow.python.ops import math_ops
# go/tf-wildcard-import
# pylint: disable=wildcard-import
from tensorflow.python.ops.gen_array_ops import *
@@ -2897,7 +2898,7 @@ def matrix_set_diag(
def _constant_if_small(value, shape, dtype, name):
try:
- if np.prod(shape) < 1000:
+ if math_ops.reduce_prod(shape) < 1000:
return constant(value, shape=shape, dtype=dtype, name=name)
except (NotImplementedError, TypeError):
# Happens when shape is a Tensor, list with Tensor elements, etc.
++++++ tensorflow-2.6.0-remove-weakref.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/python/util/BUILD
+++ b/tensorflow-2.6.0/tensorflow/python/util/BUILD
@@ -458,7 +458,6 @@ py_library(
"//tensorflow/python:global_test_configuration",
":tf_decorator",
":tf_export",
- "@org_python_pypi_backports_weakref",
"@com_google_protobuf//:protobuf_python",
"//third_party/py/numpy",
"@six_archive//:six",
--- a/tensorflow-2.6.0/tensorflow/tools/pip_package/BUILD
+++ b/tensorflow-2.6.0/tensorflow/tools/pip_package/BUILD
@@ -215,7 +215,6 @@ filegroup(
"@nasm//:LICENSE",
"@nsync//:LICENSE",
"@opt_einsum_archive//:LICENSE",
- "@org_python_pypi_backports_weakref//:LICENSE",
"@pasta//:LICENSE",
"@png//:LICENSE",
"@six_archive//:LICENSE",
--- a/tensorflow-2.6.0/tensorflow/workspace2.bzl
+++ b/tensorflow-2.6.0/tensorflow/workspace2.bzl
@@ -517,17 +517,6 @@ def _tf_repositories():
)
tf_http_archive(
- name = "org_python_pypi_backports_weakref",
- build_file = "//third_party:backports_weakref.BUILD",
- sha256 = "8813bf712a66b3d8b85dc289e1104ed220f1878cf981e2fe756dfaabe9a82892",
- strip_prefix = "backports.weakref-1.0rc1/src",
- urls = [
- "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packag…",
- "https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fd…",
- ],
- )
-
- tf_http_archive(
name = "dill_archive",
build_file = "//third_party:dill.BUILD",
system_build_file = "//third_party/systemlibs:dill.BUILD",
--- a/tensorflow-2.6.0/third_party/backports_weakref.BUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# Description:
-# Backport of new features in Python's weakref module.
-
-package(default_visibility = ["//visibility:public"])
-
-licenses(["notice"]) # Python 2.0
-
-py_library(
- name = "org_python_pypi_backports_weakref",
- srcs = [
- "backports/__init__.py",
- "backports/weakref.py",
- ],
- srcs_version = "PY3",
-)
-
-genrule(
- name = "license",
- srcs = ["@org_python_license"],
- outs = ["LICENSE"],
- cmd = "cp $< $@",
-)
++++++ tensorflow-2.6.0-removed-clog-build-as-included-in-cpuinfo.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/tools/pip_package/BUILD
+++ b/tensorflow-2.6.0/tensorflow/tools/pip_package/BUILD
@@ -224,7 +224,6 @@ filegroup(
"@termcolor_archive//:COPYING.txt",
"@typing_extensions_archive//:LICENSE",
"@zlib//:zlib.h",
- "@clog//:LICENSE",
"@cpuinfo//:LICENSE",
] + select({
"//tensorflow:android": [],
--- a/tensorflow-2.6.0/tensorflow/workspace2.bzl
+++ b/tensorflow-2.6.0/tensorflow/workspace2.bzl
@@ -19,7 +19,6 @@ load("//tensorflow/tools/def_file_filter
load("//third_party/FP16:workspace.bzl", FP16 = "repo")
load("//third_party/absl:workspace.bzl", absl = "repo")
load("//third_party/aws:workspace.bzl", aws = "repo")
-load("//third_party/clog:workspace.bzl", clog = "repo")
load("//third_party/cpuinfo:workspace.bzl", cpuinfo = "repo")
load("//third_party/dlpack:workspace.bzl", dlpack = "repo")
load("//third_party/eigen3:workspace.bzl", eigen3 = "repo")
@@ -55,7 +54,6 @@ def _initialize_third_party():
FP16()
absl()
aws()
- clog()
cpuinfo()
dlpack()
eigen3()
--- a/tensorflow-2.6.0/third_party/clog/BUILD
+++ /dev/null
@@ -1 +0,0 @@
-# This empty BUILD file is required to make Bazel treat this directory as a package.
--- a/tensorflow-2.6.0/third_party/clog/BUILD.bazel
+++ /dev/null
@@ -1,55 +0,0 @@
-# Description:
-# C-style (a-la printf) logging library
-
-package(default_visibility = ["//visibility:public"])
-
-licenses(["notice"])
-
-exports_files(["LICENSE"])
-
-cc_library(
- name = "clog",
- srcs = [
- "deps/clog/src/clog.c",
- ],
- hdrs = [
- "deps/clog/include/clog.h",
- ],
- copts = select({
- ":windows": [],
- "//conditions:default": ["-Wno-unused-result"],
- }),
- defines = select({
- # When linkstatic=False, we need default visibility
- ":macos_x86_64": ["CLOG_VISIBILITY="],
- "//conditions:default": [],
- }),
- linkopts = select({
- ":android": ["-llog"],
- "//conditions:default": [],
- }),
- linkstatic = select({
- # https://github.com/bazelbuild/bazel/issues/11552
- ":macos_x86_64": False,
- "//conditions:default": True,
- }),
- strip_include_prefix = "deps/clog/include",
-)
-
-config_setting(
- name = "android",
- values = {"crosstool_top": "//external:android/crosstool"},
-)
-
-config_setting(
- name = "windows",
- values = {"cpu": "x64_windows"},
-)
-
-config_setting(
- name = "macos_x86_64",
- values = {
- "apple_platform_type": "macos",
- "cpu": "darwin",
- },
-)
--- a/tensorflow-2.6.0/third_party/clog/workspace.bzl
+++ /dev/null
@@ -1,15 +0,0 @@
-"""Loads the clog library, used by cpuinfo and XNNPACK."""
-
-load("//third_party:repo.bzl", "tf_http_archive")
-
-def repo():
- tf_http_archive(
- name = "clog",
- strip_prefix = "cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970",
- sha256 = "3f2dc1970f397a0e59db72f9fca6ff144b216895c1d606f6c94a507c1e53a025",
- urls = [
- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/pytorch/cpu…",
- "https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c475…",
- ],
- build_file = "//third_party/clog:BUILD.bazel",
- )
--- a/tensorflow-2.6.0/third_party/cpuinfo/BUILD.bazel
+++ b/tensorflow-2.6.0/third_party/cpuinfo/BUILD.bazel
@@ -160,7 +160,7 @@ cc_library(
"src/arm/midr.h",
],
deps = [
- "@clog",
+ ":cpuinfo_clog",
],
)
@@ -185,6 +185,35 @@ cc_library(
],
)
+cc_library(
+ name = "cpuinfo_clog",
+ srcs = [
+ "deps/clog/src/clog.c",
+ ],
+ hdrs = [
+ "deps/clog/include/clog.h",
+ ],
+ copts = select({
+ ":windows_x86_64": [],
+ "//conditions:default": ["-Wno-unused-result"],
+ }),
+ defines = select({
+ # When linkstatic=False, we need default visibility
+ ":macos_x86_64": ["CLOG_VISIBILITY="],
+ "//conditions:default": [],
+ }),
+ linkopts = select({
+ ":android_arm64": ["-llog"],
+ "//conditions:default": [],
+ }),
+ linkstatic = select({
+ # https://github.com/bazelbuild/bazel/issues/11552
+ ":macos_x86_64": False,
+ "//conditions:default": True,
+ }),
+ strip_include_prefix = "deps/clog/include",
+)
+
############################# Build configurations #############################
config_setting(
++++++ tensorflow-2.6.0-removed-external-toolchains.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/workspace0.bzl
+++ b/tensorflow-2.6.0/tensorflow/workspace0.bzl
@@ -5,7 +5,6 @@ load("@bazel_tools//tools/build_defs/rep
load("@bazel_toolchains//repositories:repositories.bzl", bazel_toolchains_repositories = "repositories")
load("@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies")
load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
-load("@local_config_android//:android.bzl", "android_workspace")
load("@rules_cc//cc:repositories.bzl", "rules_cc_toolchains")
def _tf_bind():
@@ -60,24 +59,6 @@ def workspace():
)
http_archive(
- name = "mobile_ssd",
- build_file = "//:models.BUILD",
- sha256 = "bddd81ea5c80a97adfac1c9f770e6f55cbafd7cce4d3bbe15fbeb041e6b8f3e8",
- urls = [
- "https://storage.googleapis.com/download.tensorflow.org/models/object_detect…",
- ],
- )
-
- http_archive(
- name = "mobile_multibox",
- build_file = "//:models.BUILD",
- sha256 = "859edcddf84dddb974c36c36cfc1f74555148e9c9213dedacf1d6b613ad52b96",
- urls = [
- "https://storage.googleapis.com/download.tensorflow.org/models/mobile_multib…",
- ],
- )
-
- http_archive(
name = "stylize",
build_file = "//:models.BUILD",
sha256 = "3d374a730aef330424a356a8d4f04d8a54277c425e274ecb7d9c83aa912c6bfa",
@@ -111,7 +92,6 @@ def workspace():
# `git_repository` rules above, the following call will skip redefining them.
swift_rules_dependencies()
- android_workspace()
# If a target is bound twice, the later one wins, so we have to do tf bindings
# at the end of the WORKSPACE file.
--- a/tensorflow-2.6.0/tensorflow/workspace1.bzl
+++ b/tensorflow-2.6.0/tensorflow/workspace1.bzl
@@ -1,6 +1,5 @@
"""TensorFlow workspace initialization. Consult the WORKSPACE on how to use it."""
-load("//third_party/android:android_configure.bzl", "android_configure")
load("//third_party/toolchains/preconfig/generate:archives.bzl", "bazel_toolchains_archive")
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_repositories")
@@ -13,7 +12,6 @@ def workspace():
closure_repositories()
bazel_toolchains_archive()
- android_configure(name = "local_config_android")
grpc_deps()
++++++ tensorflow-2.6.0-tf-keras-hdf5-3.patch ++++++
--- a/tensorflow-2.6.0/tensorflow/python/keras/saving/hdf5_format.py
+++ b/tensorflow-2.6.0/tensorflow/python/keras/saving/hdf5_format.py
@@ -681,7 +681,7 @@ def load_weights_from_hdf5_group(f, laye
for name in layer_names:
g = f[name]
weight_names = load_attributes_from_hdf5_group(g, 'weight_names')
- if weight_names:
+ if np.any(weight_names):
filtered_layer_names.append(name)
layer_names = filtered_layer_names
if len(layer_names) != len(filtered_layers):
++++++ tensorflow-2.4.1.tar.gz -> tensorflow-2.6.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/tensorflow2/tensorflow-2.4.1.tar.gz /work/SRC/openSUSE:Factory/.tensorflow2.new.1899/tensorflow-2.6.0.tar.gz differ: char 12, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Syntax-Keyword-Try for openSUSE:Factory checked in at 2021-08-31 19:55:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Syntax-Keyword-Try (Old)
and /work/SRC/openSUSE:Factory/.perl-Syntax-Keyword-Try.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Syntax-Keyword-Try"
Tue Aug 31 19:55:41 2021 rev:12 rq:915220 version:0.25
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Syntax-Keyword-Try/perl-Syntax-Keyword-Try.changes 2021-05-12 19:33:30.222732858 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Syntax-Keyword-Try.new.1899/perl-Syntax-Keyword-Try.changes 2021-08-31 19:56:35.254029696 +0200
@@ -1,0 +2,13 @@
+Wed Jun 2 03:07:19 UTC 2021 - Tina M��ller <timueller+perl(a)suse.de>
+
+- updated to 0.25
+ see /usr/share/doc/packages/perl-Syntax-Keyword-Try/Changes
+
+ 0.25 2021-06-01
+ [CHANGES]
+ * Rewrite parsing logic to use XS::Parse::Keyword 0.06
+ * Removed the new-deprecated `try do { ... }` experimental syntax
+ * Updated docs now that 5.34 is officially released, including
+ `use feature 'try'`.
+
+-------------------------------------------------------------------
Old:
----
Syntax-Keyword-Try-0.24.tar.gz
New:
----
Syntax-Keyword-Try-0.25.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Syntax-Keyword-Try.spec ++++++
--- /var/tmp/diff_new_pack.pTWaq2/_old 2021-08-31 19:56:35.678030283 +0200
+++ /var/tmp/diff_new_pack.pTWaq2/_new 2021-08-31 19:56:35.682030288 +0200
@@ -18,7 +18,7 @@
%define cpan_name Syntax-Keyword-Try
Name: perl-Syntax-Keyword-Try
-Version: 0.24
+Version: 0.25
Release: 0
Summary: C<try/catch/finally> syntax for perl
License: Artistic-1.0 OR GPL-1.0-or-later
@@ -30,6 +30,9 @@
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(Module::Build) >= 0.400400
BuildRequires: perl(Test::More) >= 0.88
+BuildRequires: perl(XS::Parse::Keyword) >= 0.06
+BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.06
+Requires: perl(XS::Parse::Keyword) >= 0.06
%{perl_requires}
%description
@@ -44,10 +47,9 @@
for perl code.
Syntax similar to this module has now been added to core perl, starting at
-development version 5.33.7, and is expected to become generally available
-when perl 5.34 is released. If you are writing new code, it is suggested
-that you instead use the Feature::Compat::Try module instead, as that will
-enable the core feature on those supported perl versions, falling back to
+version 5.34.0. If you are writing new code, it is suggested that you
+instead use the Feature::Compat::Try module instead, as that will enable
+the core feature on those supported perl versions, falling back to
'Syntax::Keyword::Try' on older perls.
%prep
++++++ Syntax-Keyword-Try-0.24.tar.gz -> Syntax-Keyword-Try-0.25.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/Build.PL new/Syntax-Keyword-Try-0.25/Build.PL
--- old/Syntax-Keyword-Try-0.24/Build.PL 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/Build.PL 2021-06-01 22:49:17.000000000 +0200
@@ -3,6 +3,7 @@
use warnings;
use Module::Build;
+use XS::Parse::Keyword::Builder;
my $build = Module::Build->new(
module_name => "Syntax::Keyword::Try",
@@ -11,9 +12,11 @@
},
configure_requires => {
'Module::Build' => '0.4004', # test_requires
+ 'XS::Parse::Keyword::Builder' => '0.06',
},
requires => {
'perl' => '5.014', # pluggable keywords, XOP
+ 'XS::Parse::Keyword' => '0.06',
},
license => 'perl',
create_license => 1,
@@ -27,4 +30,6 @@
extra_compiler_flags => [qw( -Ihax )],
);
+XS::Parse::Keyword::Builder->extend_module_build( $build );
+
$build->create_build_script;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/Changes new/Syntax-Keyword-Try-0.25/Changes
--- old/Syntax-Keyword-Try-0.24/Changes 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/Changes 2021-06-01 22:49:17.000000000 +0200
@@ -1,5 +1,12 @@
Revision history for Syntax-Keyword-Try
+0.25 2021-06-01
+ [CHANGES]
+ * Rewrite parsing logic to use XS::Parse::Keyword 0.06
+ * Removed the new-deprecated `try do { ... }` experimental syntax
+ * Updated docs now that 5.34 is officially released, including
+ `use feature 'try'`.
+
0.24 2021-05-10
[CHANGES]
* Deprecate the `try do { ... }` (experimental) syntax now that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/MANIFEST new/Syntax-Keyword-Try-0.25/MANIFEST
--- old/Syntax-Keyword-Try-0.24/MANIFEST 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/MANIFEST 2021-06-01 22:49:17.000000000 +0200
@@ -1,9 +1,7 @@
Build.PL
Changes
-hax/lexer-additions.c.inc
hax/perl-additions.c.inc
hax/perl-backcompat.c.inc
-hax/wrap_keyword_plugin.c.inc
lib/Syntax/Keyword/Try.pm
lib/Syntax/Keyword/Try.xs
lib/Syntax/Keyword/Try/Deparse.pm
@@ -24,8 +22,6 @@
t/14try-localises.t
t/15context.t
t/16final-expr.t
-t/20try-do.t
-t/21try-do-finally.t
t/30compat.t
t/70deparse.t
t/80await+SKT.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/META.json new/Syntax-Keyword-Try-0.25/META.json
--- old/Syntax-Keyword-Try-0.24/META.json 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/META.json 2021-06-01 22:49:17.000000000 +0200
@@ -21,11 +21,13 @@
},
"configure" : {
"requires" : {
- "Module::Build" : "0.4004"
+ "Module::Build" : "0.4004",
+ "XS::Parse::Keyword::Builder" : "0.06"
}
},
"runtime" : {
"requires" : {
+ "XS::Parse::Keyword" : "0.06",
"perl" : "5.014"
}
},
@@ -38,11 +40,11 @@
"provides" : {
"Syntax::Keyword::Try" : {
"file" : "lib/Syntax/Keyword/Try.pm",
- "version" : "0.24"
+ "version" : "0.25"
},
"Syntax::Keyword::Try::Deparse" : {
"file" : "lib/Syntax/Keyword/Try/Deparse.pm",
- "version" : "0.24"
+ "version" : "0.25"
}
},
"release_status" : "stable",
@@ -52,6 +54,6 @@
],
"x_IRC" : "irc://irc.perl.org/#io-async"
},
- "version" : "0.24",
+ "version" : "0.25",
"x_serialization_backend" : "JSON::PP version 4.05"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/META.yml new/Syntax-Keyword-Try-0.25/META.yml
--- old/Syntax-Keyword-Try-0.24/META.yml 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/META.yml 2021-06-01 22:49:17.000000000 +0200
@@ -7,6 +7,7 @@
Test::More: '0.88'
configure_requires:
Module::Build: '0.4004'
+ XS::Parse::Keyword::Builder: '0.06'
dynamic_config: 1
generated_by: 'Module::Build version 0.4231, CPAN::Meta::Converter version 2.150010'
license: perl
@@ -17,14 +18,15 @@
provides:
Syntax::Keyword::Try:
file: lib/Syntax/Keyword/Try.pm
- version: '0.24'
+ version: '0.25'
Syntax::Keyword::Try::Deparse:
file: lib/Syntax/Keyword/Try/Deparse.pm
- version: '0.24'
+ version: '0.25'
requires:
+ XS::Parse::Keyword: '0.06'
perl: '5.014'
resources:
IRC: irc://irc.perl.org/#io-async
license: http://dev.perl.org/licenses/
-version: '0.24'
+version: '0.25'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/README new/Syntax-Keyword-Try-0.25/README
--- old/Syntax-Keyword-Try-0.24/README 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/README 2021-06-01 22:49:17.000000000 +0200
@@ -30,11 +30,10 @@
and behaviours for perl code.
Syntax similar to this module has now been added to core perl, starting
- at development version 5.33.7, and is expected to become generally
- available when perl 5.34 is released. If you are writing new code, it
- is suggested that you instead use the Feature::Compat::Try module
- instead, as that will enable the core feature on those supported perl
- versions, falling back to Syntax::Keyword::Try on older perls.
+ at version 5.34.0. If you are writing new code, it is suggested that
+ you instead use the Feature::Compat::Try module instead, as that will
+ enable the core feature on those supported perl versions, falling back
+ to Syntax::Keyword::Try on older perls.
Experimental Features
@@ -50,8 +49,6 @@
use Syntax::Keyword::Try qw( try :experimental(typed) );
- use Syntax::Keyword::Try qw( try :experimental(try_value) ); # deprecated
-
use Syntax::Keyword::Try qw( try :experimental ); # all of the above
Don't forget to import the main try symbol itself, to activate the
@@ -220,51 +217,6 @@
with that feature instead, you should consider using
Syntax::Keyword::Defer rather than using finally statements.
-VALUE SEMANTICS
-
- Warning: the feature described in this section was experimental and
- is now deprecated. This experiment has existed for a while, though
- given that since version 0.22 the regular try syntax already behaves
- fine inside a do block, there is no longer any reason for this
- experimental feature to exist. It will print a deprecation warning,
- and eventually will be removed in a later version. You should use do
- { try ... } instead.
-
- Additionally, on perl versions 5.18 and later, it will produce a
- warning in the experimental category.
-
- The syntax provided by this module may be used as a value-yielding
- expression. Because this syntax is new, experimental, and somewhat
- surprising, it must be specifically requested by name try_value:
-
- use Syntax::Keyword::Try qw( try try_value );
-
- my $result = try do { ... } catch { ... };
-
- Also, on Perl versions 5.24 and later:
-
- my $result = try do { ... } finally { ... };
-
- my $result = try do { ... } catch { ... } finally { ... };
-
- Specifically, note that the expression must be spelled as try do { ...
- } so that the syntax is distinct from that used by control-flow
- statements. The interposed do keyword reminds the reader, and instructs
- the syntax parser, that this will be an expression, not a statement. It
- is not necessary to similarly notate the catch or finally blocks.
-
- In this case, the syntax behaves syntactically like an expression, and
- may appear anywhere a normal expression is allowed. It follows similar
- semantics to the purely control-flow case; if the code in the try block
- does not throw an exception, then the expression as a whole yields
- whatever value the try expression did. If it fails, then the catch
- block is executed and the expression yields its resulting value
- instead. A finally block, if present, will be evaluated for
- side-effects before the rest of the expression returns.
-
- Remember that, as in the control-flow case, the return keyword will
- cause the entire containing function to return, not just the try block.
-
OTHER MODULES
There are already quite a number of modules on CPAN that provide a
@@ -279,9 +231,7 @@
* Syntax::Feature::Try
In addition, core perl itself gained a try/catch syntax based on this
- module at developemnt version 5.33.7, and should become generally
- available when 5.34 is released. It will be available as use feature
- 'try'.
+ module at version 5.34.0. It is available as use feature 'try'.
They are compared here, by feature:
@@ -337,10 +287,9 @@
Value Semantics
Like Try and Syntax::Feature::Try, the syntax provided by this module
- only works as a syntax-level statement and not an expression when the
- experimental try_value feature described above has not been enabled.
- You cannot assign from the result of a try block. A common workaround
- is to wrap the try/catch statement inside a do block, where its final
+ only works as a syntax-level statement and not an expression. You
+ cannot assign from the result of a try block. A common workaround is to
+ wrap the try/catch statement inside a do block, where its final
expression can be captured and used as a value.
The same do block wrapping also works for the core feature 'try'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/hax/lexer-additions.c.inc new/Syntax-Keyword-Try-0.25/hax/lexer-additions.c.inc
--- old/Syntax-Keyword-Try-0.24/hax/lexer-additions.c.inc 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/hax/lexer-additions.c.inc 1970-01-01 01:00:00.000000000 +0100
@@ -1,298 +0,0 @@
-/* vi: set ft=c inde=: */
-
-/* Perls before 5.18 lack isIDCONT_uni, but baring minor differences of weird
- * Unicode characters, isALNUM_uni is close enough
- */
-#ifndef isIDCONT_uni
-#define isIDCONT_uni(c) isALNUM_uni(c)
-#endif
-
-#define sv_cat_c(sv, c) MY_sv_cat_c(aTHX_ sv, c)
-static void MY_sv_cat_c(pTHX_ SV *sv, U32 c)
-{
- char ds[UTF8_MAXBYTES + 1], *d;
- d = (char *)uvchr_to_utf8((U8 *)ds, c);
- if (d - ds > 1) {
- sv_utf8_upgrade(sv);
- }
- sv_catpvn(sv, ds, d - ds);
-}
-
-#define lex_consume(s) MY_lex_consume(aTHX_ s)
-static int MY_lex_consume(pTHX_ char *s)
-{
- /* I want strprefix() */
- size_t i;
- for(i = 0; s[i]; i++) {
- if(s[i] != PL_parser->bufptr[i])
- return 0;
- }
-
- lex_read_to(PL_parser->bufptr + i);
- return i;
-}
-
-enum {
- LEX_IDENT_PACKAGENAME = (1<<0),
-};
-
-#define lex_scan_ident( ) MY_lex_scan_ident(aTHX_ 0)
-#define lex_scan_packagename() MY_lex_scan_ident(aTHX_ LEX_IDENT_PACKAGENAME)
-static SV *MY_lex_scan_ident(pTHX_ int flags)
-{
- I32 c;
- bool at_start = TRUE;
-
- char *ident = PL_parser->bufptr;
-
- while((c = lex_peek_unichar(0))) {
- if(at_start ? isIDFIRST_uni(c) : isALNUM_uni(c))
- at_start = FALSE;
- /* TODO: This sucks in the case of a false Foo:Bar match */
- else if((flags & LEX_IDENT_PACKAGENAME) && (c == ':')) {
- lex_read_unichar(0);
- if(lex_read_unichar(0) != ':')
- croak("Expected colon to be followed by another in package name");
- }
- else
- break;
-
- lex_read_unichar(0);
- }
-
- STRLEN len = PL_parser->bufptr - ident;
- if(!len)
- return NULL;
-
- SV *ret = newSVpvn(ident, len);
- if(lex_bufutf8())
- SvUTF8_on(ret);
-
- return ret;
-}
-
-#define lex_scan_attrval_into(name, val) MY_lex_scan_attrval_into(aTHX_ name, val)
-static bool MY_lex_scan_attrval_into(pTHX_ SV *name, SV *val)
-{
- /* TODO: really want lex_scan_ident_into() */
- SV *n = lex_scan_ident();
- if(!n)
- return FALSE;
-
- sv_setsv(name, n);
- SvREFCNT_dec(n);
-
- if(name != val)
- SvPOK_off(val);
-
- /* Do not read space here as space is not allowed between NAME(ARGS) */
-
- if(lex_peek_unichar(0) != '(')
- return TRUE;
-
- lex_read_unichar(0);
- if(name == val)
- sv_cat_c(val, '(');
- else
- sv_setpvs(val, "");
-
- int count = 1;
- I32 c = lex_peek_unichar(0);
- while(count && c != -1) {
- if(c == '(')
- count++;
- if(c == ')')
- count--;
- if(c == '\\') {
- /* The next char does not bump count even if it is ( or );
- * the \\ is still captured
- */
- sv_cat_c(val, lex_read_unichar(0));
- c = lex_peek_unichar(0);
- if(c == -1)
- goto unterminated;
- }
-
- /* Don't append final closing ')' on split name/val */
- if(count || (name == val))
- sv_cat_c(val, c);
- lex_read_unichar(0);
-
- c = lex_peek_unichar(0);
- }
-
- if(c == -1)
- return FALSE;
-
- return TRUE;
-
-unterminated:
- croak("Unterminated attribute parameter in attribute list");
-}
-
-#define lex_scan_attr() MY_lex_scan_attr(aTHX)
-static SV *MY_lex_scan_attr(pTHX)
-{
- SV *ret = newSV(0);
- if(MY_lex_scan_attrval_into(aTHX_ ret, ret))
- return ret;
-
- SvREFCNT_dec(ret);
- return NULL;
-}
-
-#define lex_scan_attrs(compcv) MY_lex_scan_attrs(aTHX_ compcv)
-static OP *MY_lex_scan_attrs(pTHX_ CV *compcv)
-{
- /* Attributes are supplied to newATTRSUB() as an OP_LIST containing
- * OP_CONSTs, one attribute in each as a plain SV. Note that we don't have
- * to parse inside the contents of the parens; that is handled by the
- * attribute handlers themselves
- */
- OP *attrs = NULL;
- SV *attr;
-
- lex_read_space(0);
- while((attr = lex_scan_attr())) {
- lex_read_space(0);
-
- if(compcv && strEQ(SvPV_nolen(attr), "lvalue")) {
- CvLVALUE_on(compcv);
- }
-
- if(!attrs)
- attrs = newLISTOP(OP_LIST, 0, NULL, NULL);
-
- attrs = op_append_elem(OP_LIST, attrs, newSVOP(OP_CONST, 0, attr));
-
- /* Accept additional colons to prefix additional attrs */
- if(lex_peek_unichar(0) == ':') {
- lex_read_unichar(0);
- lex_read_space(0);
- }
- }
-
- return attrs;
-}
-
-#define lex_scan_lexvar() MY_lex_scan_lexvar(aTHX)
-static SV *MY_lex_scan_lexvar(pTHX)
-{
- int sigil = lex_peek_unichar(0);
- switch(sigil) {
- case '$':
- case '@':
- case '%':
- lex_read_unichar(0);
- break;
-
- default:
- croak("Expected a lexical variable");
- }
-
- SV *ret = lex_scan_ident();
- if(!ret)
- return NULL;
-
- /* prepend sigil - which we know to be a single byte */
- SvGROW(ret, SvCUR(ret) + 1);
- Move(SvPVX(ret), SvPVX(ret) + 1, SvCUR(ret), char);
- SvPVX(ret)[0] = sigil;
- SvCUR(ret)++;
-
- SvPVX(ret)[SvCUR(ret)] = 0;
-
- return ret;
-}
-
-#define lex_scan_parenthesized() MY_lex_scan_parenthesized(aTHX)
-static SV *MY_lex_scan_parenthesized(pTHX)
-{
- I32 c;
- int parencount = 0;
- SV *ret = newSVpvs("");
- if(lex_bufutf8())
- SvUTF8_on(ret);
-
- c = lex_peek_unichar(0);
-
- while(c != -1) {
- sv_cat_c(ret, lex_read_unichar(0));
-
- switch(c) {
- case '(': parencount++; break;
- case ')': parencount--; break;
- }
- if(!parencount)
- break;
-
- c = lex_peek_unichar(0);
- }
-
- if(SvCUR(ret))
- return ret;
-
- SvREFCNT_dec(ret);
- return NULL;
-}
-
-#define lex_scan_version(flags) MY_lex_scan_version(aTHX_ flags)
-static SV *MY_lex_scan_version(pTHX_ int flags)
-{
- I32 c;
- SV *tmpsv = sv_2mortal(newSVpvs(""));
-
- /* scan_version() expects a version to end in linefeed, semicolon or
- * openbrace; gets confused if other keywords are fine. We'll have to
- * extract it first.
- * https://rt.cpan.org/Ticket/Display.html?id=132903
- */
-
- while((c = lex_peek_unichar(0))) {
- /* Allow a single leading v before accepting only digits, dot, underscore */
- if((!SvCUR(tmpsv) && (c == 'v')) || strchr("0123456789._", c))
- sv_cat_c(tmpsv, lex_read_unichar(0));
- else
- break;
- }
-
- if(!SvCUR(tmpsv) && (flags & PARSE_OPTIONAL))
- return NULL;
-
- SV *ret = newSV(0);
- scan_version(SvPVX(tmpsv), ret, FALSE);
-
- return ret;
-}
-
-#define parse_lexvar() MY_parse_lexvar(aTHX)
-static PADOFFSET MY_parse_lexvar(pTHX)
-{
- /* TODO: Rewrite this in terms of using lex_scan_lexvar()
- */
- char *lexname = PL_parser->bufptr;
-
- if(lex_read_unichar(0) != '$')
- croak("Expected a lexical scalar at %s", lexname);
-
- if(!isIDFIRST_uni(lex_peek_unichar(0)))
- croak("Expected a lexical scalar at %s", lexname);
- lex_read_unichar(0);
- while(isIDCONT_uni(lex_peek_unichar(0)))
- lex_read_unichar(0);
-
- /* Forbid $_ */
- if(PL_parser->bufptr - lexname == 2 && lexname[1] == '_')
- croak("Can't use global $_ in \"my\"");
-
- return pad_add_name_pvn(lexname, PL_parser->bufptr - lexname, 0, NULL, NULL);
-}
-
-#define parse_scoped_block(flags) MY_parse_scoped_block(aTHX_ flags)
-static OP *MY_parse_scoped_block(pTHX_ int flags)
-{
- OP *ret;
- I32 save_ix = block_start(TRUE);
- ret = parse_block(flags);
- return block_end(save_ix, ret);
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/hax/perl-additions.c.inc new/Syntax-Keyword-Try-0.25/hax/perl-additions.c.inc
--- old/Syntax-Keyword-Try-0.24/hax/perl-additions.c.inc 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/hax/perl-additions.c.inc 2021-06-01 22:49:17.000000000 +0200
@@ -1,4 +1,4 @@
-/* vi: set ft=c inde=: */
+/* vi: set ft=c */
#ifndef av_count
# define av_count(av) (AvFILL(av) + 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/hax/wrap_keyword_plugin.c.inc new/Syntax-Keyword-Try-0.25/hax/wrap_keyword_plugin.c.inc
--- old/Syntax-Keyword-Try-0.24/hax/wrap_keyword_plugin.c.inc 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/hax/wrap_keyword_plugin.c.inc 1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-/* vi: set ft=c inde=: */
-
-#ifndef OP_CHECK_MUTEX_LOCK /* < 5.15.8 */
-# define OP_CHECK_MUTEX_LOCK ((void)0)
-# define OP_CHECK_MUTEX_UNLOCK ((void)0)
-#endif
-
-#define wrap_keyword_plugin(func, var) S_wrap_keyword_plugin(aTHX_ func, var)
-
-static void S_wrap_keyword_plugin(pTHX_ Perl_keyword_plugin_t func, Perl_keyword_plugin_t *var)
-{
- /* BOOT can potentially race with other threads (RT123547) */
-
- /* Perl doesn't really provide us a nice mutex for doing this so this is the
- * best we can find. See also
- * https://rt.perl.org/Public/Bug/Display.html?id=132413
- */
- if(*var)
- return;
-
- OP_CHECK_MUTEX_LOCK;
- if(!*var) {
- *var = PL_keyword_plugin;
- PL_keyword_plugin = func;
- }
-
- OP_CHECK_MUTEX_UNLOCK;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/lib/Syntax/Keyword/Try/Deparse.pm new/Syntax-Keyword-Try-0.25/lib/Syntax/Keyword/Try/Deparse.pm
--- old/Syntax-Keyword-Try-0.24/lib/Syntax/Keyword/Try/Deparse.pm 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/lib/Syntax/Keyword/Try/Deparse.pm 2021-06-01 22:49:17.000000000 +0200
@@ -3,7 +3,7 @@
#
# (C) Paul Evans, 2021 -- leonerd(a)leonerd.org.uk
-package Syntax::Keyword::Try::Deparse 0.24;
+package Syntax::Keyword::Try::Deparse 0.25;
use v5.14;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/lib/Syntax/Keyword/Try.pm new/Syntax-Keyword-Try-0.25/lib/Syntax/Keyword/Try.pm
--- old/Syntax-Keyword-Try-0.24/lib/Syntax/Keyword/Try.pm 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/lib/Syntax/Keyword/Try.pm 2021-06-01 22:49:17.000000000 +0200
@@ -3,7 +3,7 @@
#
# (C) Paul Evans, 2016-2021 -- leonerd(a)leonerd.org.uk
-package Syntax::Keyword::Try 0.24;
+package Syntax::Keyword::Try 0.25;
use v5.14;
use warnings;
@@ -45,10 +45,9 @@
code.
Syntax similar to this module has now been added to core perl, starting at
-development version 5.33.7, and is expected to become generally available when
-perl 5.34 is released. If you are writing new code, it is suggested that you
-instead use the L<Feature::Compat::Try> module instead, as that will enable
-the core feature on those supported perl versions, falling back to
+version 5.34.0. If you are writing new code, it is suggested that you instead
+use the L<Feature::Compat::Try> module instead, as that will enable the core
+feature on those supported perl versions, falling back to
C<Syntax::Keyword::Try> on older perls.
=head1 Experimental Features
@@ -63,8 +62,6 @@
use Syntax::Keyword::Try qw( try :experimental(typed) );
- use Syntax::Keyword::Try qw( try :experimental(try_value) ); # deprecated
-
use Syntax::Keyword::Try qw( try :experimental ); # all of the above
Don't forget to import the main C<try> symbol itself, to activate the syntax.
@@ -234,56 +231,6 @@
should consider using L<Syntax::Keyword::Defer> rather than using C<finally>
statements.
-=head1 VALUE SEMANTICS
-
-=over 4
-
-B<Warning:> the feature described in this section was experimental and is now
-deprecated. This experiment has existed for a while, though given that since
-version 0.22 the regular C<try> syntax already behaves fine inside a C<do>
-block, there is no longer any reason for this experimental feature to exist.
-It will print a deprecation warning, and eventually will be removed in a later
-version. You should use C<do { try ... }> instead.
-
-Additionally, on I<perl> versions 5.18 and later, it will produce a warning
-in the C<experimental> category.
-
-=back
-
-The syntax provided by this module may be used as a value-yielding expression.
-Because this syntax is new, experimental, and somewhat surprising, it must be
-specifically requested by name C<try_value>:
-
- use Syntax::Keyword::Try qw( try try_value );
-
- my $result = try do { ... } catch { ... };
-
-Also, on Perl versions 5.24 and later:
-
- my $result = try do { ... } finally { ... };
-
- my $result = try do { ... } catch { ... } finally { ... };
-
-Specifically, note that the expression must be spelled as C<try do { ... }> so
-that the syntax is distinct from that used by control-flow statements. The
-interposed C<do> keyword reminds the reader, and instructs the syntax parser,
-that this will be an expression, not a statement. It is not necessary to
-similarly notate the C<catch> or C<finally> blocks.
-
-In this case, the syntax behaves syntactically like an expression, and may
-appear anywhere a normal expression is allowed. It follows similar semantics
-to the purely control-flow case; if the code in the C<try> block does not
-throw an exception, then the expression as a whole yields whatever value the
-C<try> expression did. If it fails, then the C<catch> block is executed and
-the expression yields its resulting value instead. A C<finally> block, if
-present, will be evaluated for side-effects before the rest of the expression
-returns.
-
-Remember that, as in the control-flow case, the C<return> keyword will cause
-the entire containing function to return, not just the C<try> block.
-
-=cut
-
=head1 OTHER MODULES
There are already quite a number of modules on CPAN that provide a
@@ -310,8 +257,7 @@
=back
In addition, core perl itself gained a C<try/catch> syntax based on this
-module at developemnt version 5.33.7, and should become generally available
-when 5.34 is released. It will be available as C<use feature 'try'>.
+module at version 5.34.0. It is available as C<use feature 'try'>.
They are compared here, by feature:
@@ -366,11 +312,10 @@
=head2 Value Semantics
Like L<Try> and L<Syntax::Feature::Try>, the syntax provided by this module
-only works as a syntax-level statement and not an expression when the
-experimental C<try_value> feature described above has not been enabled. You
-cannot assign from the result of a C<try> block. A common workaround is to
-wrap the C<try/catch> statement inside a C<do> block, where its final
-expression can be captured and used as a value.
+only works as a syntax-level statement and not an expression. You cannot
+assign from the result of a C<try> block. A common workaround is to wrap
+the C<try/catch> statement inside a C<do> block, where its final expression
+can be captured and used as a value.
The same C<do> block wrapping also works for the core C<feature 'try'>.
@@ -422,7 +367,7 @@
$class->import_into( $caller, @_ );
}
-my @EXPERIMENTAL = qw( typed try_value );
+my @EXPERIMENTAL = qw( typed );
sub import_into
{
@@ -433,7 +378,6 @@
my %syms = map { $_ => 1 } @syms;
$^H{"Syntax::Keyword::Try/try"}++ if delete $syms{try};
- $^H{"Syntax::Keyword::Try/try_value"}++ if delete $syms{try_value};
# Largely for Feature::Compat::Try's benefit
$^H{"Syntax::Keyword::Try/no_finally"}++ if delete $syms{"-no_finally"};
@@ -453,7 +397,10 @@
# Ignore requests for these, as they come automatically with `try`
delete @syms{qw( catch finally )};
- $^H{"Syntax::Keyword::Try/try_value"}++ if $^H{"Syntax::Keyword::Try/experimental(try_value)"};
+ if( $syms{try_value} or $syms{":experimental(try_value)"} ) {
+ croak "The 'try_value' experimental feature is now removed\n" .
+ "Instead, you should use do { try ... } to yield a value from a try/catch statement";
+ }
croak "Unrecognised import symbols @{[ keys %syms ]}" if keys %syms;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/lib/Syntax/Keyword/Try.xs new/Syntax-Keyword-Try-0.25/lib/Syntax/Keyword/Try.xs
--- old/Syntax-Keyword-Try-0.24/lib/Syntax/Keyword/Try.xs 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/lib/Syntax/Keyword/Try.xs 2021-06-01 22:49:17.000000000 +0200
@@ -7,6 +7,8 @@
#include "perl.h"
#include "XSUB.h"
+#include "XSParseKeyword.h"
+
#include "perl-backcompat.c.inc"
#if HAVE_PERL_VERSION(5,32,0)
@@ -23,12 +25,6 @@
typedef I32 array_ix_t;
#endif /* <5.19.4 */
-#ifndef wrap_keyword_plugin
-# include "wrap_keyword_plugin.c.inc"
-#endif
-
-#include "lexer-additions.c.inc"
-
#include "perl-additions.c.inc"
static OP *pp_entertrycatch(pTHX);
@@ -415,66 +411,37 @@
}
#endif
-static int try_keyword(pTHX_ OP **op)
+static int build_try(pTHX_ OP **out, XSParseKeywordPiece *args[], size_t nargs, void *hookdata)
{
- OP *try = NULL, *catch = NULL;
- AV *condcatch = NULL;
- CV *finally = NULL;
- OP *ret = NULL;
- bool is_value = FALSE;
- HV *hints = GvHV(PL_hintgv);
-
- lex_read_space(0);
+ U32 argi = 0;
- if(hints && hv_fetchs(hints, "Syntax::Keyword::Try/try_value", 0) &&
- lex_consume("do")) {
- lex_read_space(0);
- is_value = TRUE;
-
-#ifdef WARN_EXPERIMENTAL
- if(!hints || !hv_fetchs(hints, "Syntax::Keyword::Try/experimental(try_value)", 0)) {
- Perl_ck_warner(aTHX_ packWARN(WARN_EXPERIMENTAL),
- "'try do' syntax is experimental and may be changed or removed without notice");
- }
-#endif
-
- Perl_ck_warner(aTHX_ packWARN(WARN_DEPRECATED),
- "'try do' syntax is deprecated and will be removed. Use do { try ... } instead");
- }
+ OP *try = args[argi++]->op;
- if(lex_peek_unichar(0) != '{')
- croak("Expected try to be followed by '{'");
-
- try = parse_scoped_block(0);
- lex_read_space(0);
+ OP *ret = NULL;
+ HV *hints = GvHV(PL_hintgv);
bool require_var = hints && hv_fetchs(hints, "Syntax::Keyword::Try/require_var", 0);
- while(lex_consume("catch")) {
- OP *assignop = NULL, *condop = NULL;
- OP *body;
- I32 save_ix;
+ U32 ncatches = args[argi++]->i;
- if(catch)
- croak("Already have a default catch {} block");
-
- save_ix = block_start(TRUE);
- lex_read_space(0);
+ AV *condcatch = NULL;
+ OP *catch = NULL;
+ while(ncatches--) {
+ bool has_catchvar = args[argi++]->i;
+ PADOFFSET catchvar = has_catchvar ? args[argi++]->padix : 0;
+ int catchtype = has_catchvar ? args[argi++]->i : -1;
- if(lex_consume("(")) {
- PADOFFSET catchvar = 0;
- bool warned = FALSE;
+ bool warned = FALSE;
- lex_read_space(0);
- catchvar = parse_lexvar();
+ OP *condop = NULL;
- /* my $var = $@ */
- assignop = newBINOP(OP_SASSIGN, 0,
- newGVOP(OP_GVSV, 0, PL_errgv), newPADxVOP(OP_PADSV, catchvar, OPf_MOD, OPpLVAL_INTRO));
+ switch(catchtype) {
+ case -1: /* no type */
+ break;
- lex_read_space(0);
- if(lex_consume("isa")) {
- OP *type = parse_termexpr(0);
+ case 0: /* isa */
+ {
+ OP *type = args[argi++]->op;
#ifdef HAVE_OP_ISA
condop = newBINOP(OP_ISA, 0,
newPADxVOP(OP_PADSV, catchvar, 0, 0), type);
@@ -486,9 +453,12 @@
condop = newBINOP_CUSTOM(&pp_isa, 0,
newPADxVOP(OP_PADSV, catchvar, 0, 0), type);
#endif
+ break;
}
- else if(lex_consume("=~")) {
- OP *regexp = parse_termexpr(0);
+
+ case 1: /* =~ */
+ {
+ OP *regexp = args[argi++]->op;
if(regexp->op_type != OP_MATCH || cPMOPx(regexp)->op_first)
croak("Expected a regexp match");
@@ -501,30 +471,36 @@
regexp->op_flags |= OPf_KIDS|OPf_STACKED;
#endif
condop = regexp;
+ break;
}
+ default:
+ croak("TODO\n");
+ }
+
#ifdef WARN_EXPERIMENTAL
- if(condop && !warned &&
- (!hints || !hv_fetchs(hints, "Syntax::Keyword::Try/experimental(typed)", 0))) {
- warned = true;
- Perl_ck_warner(aTHX_ packWARN(WARN_EXPERIMENTAL),
- "typed catch syntax is experimental and may be changed or removed without notice");
- }
+ if(condop && !warned &&
+ (!hints || !hv_fetchs(hints, "Syntax::Keyword::Try/experimental(typed)", 0))) {
+ warned = true;
+ Perl_ck_warner(aTHX_ packWARN(WARN_EXPERIMENTAL),
+ "typed catch syntax is experimental and may be changed or removed without notice");
+ }
#endif
- if(!lex_consume(")"))
- croak("Expected close paren for catch (VAR)");
+ OP *body = args[argi++]->op;
- lex_read_space(0);
-
- intro_my();
- }
- else if(require_var) {
+ if(require_var && !has_catchvar)
croak("Expected (VAR) for catch");
- }
- body = block_end(save_ix, parse_block(0));
- lex_read_space(0);
+ if(catch)
+ croak("Already have a default catch {} block");
+
+ OP *assignop = NULL;
+ if(catchvar) {
+ /* my $var = $@ */
+ assignop = newBINOP(OP_SASSIGN, 0,
+ newGVOP(OP_GVSV, 0, PL_errgv), newPADxVOP(OP_PADSV, catchvar, OPf_MOD, OPpLVAL_INTRO));
+ }
if(condop) {
if(!condcatch)
@@ -536,8 +512,7 @@
}
else if(assignop) {
catch = op_prepend_elem(OP_LINESEQ,
- assignop,
- body);
+ assignop, body);
}
else
catch = body;
@@ -564,29 +539,11 @@
bool no_finally = hints && hv_fetchs(hints, "Syntax::Keyword::Try/no_finally", 0);
- if(!no_finally && lex_consume("finally")) {
- I32 floor_ix, save_ix;
- OP *body;
+ U32 has_finally = args[argi++]->i;
+ CV *finally = has_finally ? args[argi++]->cv : NULL;
-#if !HAVE_PERL_VERSION(5,24,0)
- if(is_value)
- croak("try do {} finally {} is not supported on this version of perl");
-#endif
-
- lex_read_space(0);
-
- floor_ix = start_subparse(FALSE, CVf_ANON);
- SAVEFREESV(PL_compcv);
-
- save_ix = block_start(0);
- body = parse_block(0);
- SvREFCNT_inc(PL_compcv);
- body = block_end(save_ix, body);
-
- finally = newATTRSUB(floor_ix, NULL, NULL, NULL, body);
-
- lex_read_space(0);
- }
+ if(no_finally && finally)
+ croak("finally {} is not permitted here");
if(!catch && !finally) {
op_free(try);
@@ -598,7 +555,7 @@
ret = try;
if(catch) {
- ret = newENTERTRYCATCHOP(is_value ? OPf_WANT_SCALAR : 0, try, catch);
+ ret = newENTERTRYCATCHOP(0, try, catch);
}
/* If there's a finally, make
@@ -614,30 +571,35 @@
newOP(OP_ENTER, 0),
ret);
- if(is_value)
- ret->op_ppaddr = &pp_leave_keeping_stack;
-
- *op = ret;
- return is_value ? KEYWORD_PLUGIN_EXPR : KEYWORD_PLUGIN_STMT;
+ *out = ret;
+ return KEYWORD_PLUGIN_STMT;
}
-static int (*next_keyword_plugin)(pTHX_ char *, STRLEN, OP **);
-
-static int my_keyword_plugin(pTHX_ char *kw, STRLEN kwlen, OP **op)
-{
- HV *hints;
- if(PL_parser && PL_parser->error_count)
- return (*next_keyword_plugin)(aTHX_ kw, kwlen, op);
-
- if(!(hints = GvHV(PL_hintgv)))
- return (*next_keyword_plugin)(aTHX_ kw, kwlen, op);
+static struct XSParseKeywordHooks hooks_try = {
+ .permit_hintkey = "Syntax::Keyword::Try/try",
- if(kwlen == 3 && strEQ(kw, "try") &&
- hv_fetchs(hints, "Syntax::Keyword::Try/try", 0))
- return try_keyword(aTHX_ op);
-
- return (*next_keyword_plugin)(aTHX_ kw, kwlen, op);
-}
+ .pieces = (const struct XSParseKeywordPieceType []){
+ XPK_BLOCK,
+ XPK_REPEATED(
+ XPK_LITERAL("catch"),
+ XPK_PREFIXED_BLOCK(
+ /* optionally ($var), ($var isa Type) or ($var =~ m/.../) */
+ XPK_PARENSCOPE_OPT(
+ XPK_LEXVAR_MY(XPK_LEXVAR_SCALAR),
+ XPK_CHOICE(
+ XPK_SEQUENCE(XPK_LITERAL("isa"), XPK_TERMEXPR),
+ XPK_SEQUENCE(XPK_LITERAL("=~"), XPK_TERMEXPR)
+ )
+ )
+ )
+ ),
+ XPK_OPTIONAL(
+ XPK_LITERAL("finally"), XPK_ANONSUB
+ ),
+ {0},
+ },
+ .build = &build_try,
+};
MODULE = Syntax::Keyword::Try PACKAGE = Syntax::Keyword::Try
@@ -661,4 +623,6 @@
Perl_custom_op_register(aTHX_ &pp_isa, &xop_isa);
#endif
- wrap_keyword_plugin(&my_keyword_plugin, &next_keyword_plugin);
+ boot_xs_parse_keyword(0.06);
+
+ register_xs_parse_keyword("try", &hooks_try, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/t/20try-do.t new/Syntax-Keyword-Try-0.25/t/20try-do.t
--- old/Syntax-Keyword-Try-0.24/t/20try-do.t 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/t/20try-do.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,88 +0,0 @@
-#!/usr/bin/perl
-
-use v5.14;
-use warnings;
-
-use Test::More;
-
-use constant HAVE_WARN_EXPERIMENTAL => $] >= 5.018;
-
-no if HAVE_WARN_EXPERIMENTAL, warnings => 'experimental';
-use Syntax::Keyword::Try qw( try try_value );
-
-no warnings 'deprecated';
-
-# try do { } yields result
-{
- is( try do { "result" } catch ($e) {},
- "result",
- 'try do { } yields result' );
-}
-
-# try do { } failure returns catch
-{
- is( try do { die "oops\n" } catch ($e) { "failure" },
- "failure",
- 'try do { } yields catch result on failure' );
-}
-
-# stack discipline
-{
- my @v = ( 1, [ 2, try do { 3 } catch ($e) {}, 4 ], 5 );
- is_deeply( \@v, [ 1, [ 2 .. 4 ], 5 ],
- 'try do { } preserves stack discipline' ) or
- diag "Got ", explain \@v;
-}
-
-# list context
-{
- my @v = try do { 1, 2, 3 } catch ($e) {};
- is_deeply( \@v, [ 1 .. 3 ],
- 'try do can yield lists' );
-}
-
-# $@ localising
-SKIP: {
- # RT124366
- skip "perls before 5.24 fail to lexicalise \$@ properly (RT124366)", 1 unless $] >= 5.024;
-
- eval { die "oopsie" };
-
- my $ret = try do { die "another failure" } catch ($e) {};
- like( $@, qr/^oopsie at /, '$@ after try do/catch' );
-}
-
-# Non-try do { ... } unaffected
-{
- is( do { 1 + 2 }, 3,
- 'Plain do { ... } unaffected' );
-}
-
-# try do syntax produces experimental and deprecated warnings
-SKIP: {
- use if HAVE_WARN_EXPERIMENTAL, warnings => 'experimental';
- skip "No 'experimental' warnings category", 1 unless HAVE_WARN_EXPERIMENTAL;
-
- use warnings 'deprecated';
-
- my $warnings = "";
- local $SIG{__WARN__} = sub { $warnings .= join "", @_ };
-
- eval "try do { 1 } catch (\$e) { 2 }" or die $@;
-
- like( $warnings, qr/^'try do' syntax is experimental/,
- 'try do syntax produces experimental warnings' );
- like( $warnings, qr/^'try do' syntax is deprecated /m,
- 'try do syntax produces deprecated warnings' );
-
- # warning can be disabled
- use Syntax::Keyword::Try qw( :experimental(try_value) );
- no warnings 'deprecated';
-
- $warnings = "";
-
- eval "try do { 3 } catch (\$e) { 4 }" or die $@;
- is( $warnings, "", 'no warnings when :experimental(try_value) is enabled' );
-}
-
-done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/t/21try-do-finally.t new/Syntax-Keyword-Try-0.25/t/21try-do-finally.t
--- old/Syntax-Keyword-Try-0.24/t/21try-do-finally.t 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/t/21try-do-finally.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-#!/usr/bin/perl
-
-use v5.14;
-use warnings;
-
-use Test::More;
-BEGIN {
- # Before 5.24 this code won't even compile
- plan skip_all => "try do { } finally { } is not supported before perl 5.24" if $] < 5.024;
-}
-
-use constant HAVE_WARN_EXPERIMENTAL => $] >= 5.018;
-
-no if HAVE_WARN_EXPERIMENTAL, warnings => 'experimental';
-use Syntax::Keyword::Try qw( try try_value );
-
-no warnings 'deprecated';
-
-# try do { } finally { }
-{
- my $x;
- my $result = try do { $x .= 1; "result" }
- finally { $x .= 2 }, $x .= 3;
-
- is( $result, "result", 'try do { } finally yields result' );
- is( $x, "123", 'try do {} finally has finally side-effect' );
-}
-
-# try do { } catch { } finally { }
-{
- my $x;
- my $result = try do { $x .= 4; die "oops" }
- catch ($e) { $x .= 5; "failure" }
- finally { $x .= 6 };
- is( $result, "failure", 'try do {} catch finally catches exception' );
- is( $x, "456", 'try do {} catch finally has finally side-effect' );
-}
-
-done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.24/t/30compat.t new/Syntax-Keyword-Try-0.25/t/30compat.t
--- old/Syntax-Keyword-Try-0.24/t/30compat.t 2021-05-10 15:39:16.000000000 +0200
+++ new/Syntax-Keyword-Try-0.25/t/30compat.t 2021-06-01 22:49:17.000000000 +0200
@@ -16,7 +16,7 @@
finally { 456 }
EOPERL
'try/finally is forbidden' );
- like( $@, qr/^Expected try \{\} to be followed by catch \{\} / );
+ like( $@, qr/^finally \{\} is not permitted here / );
}
# require var
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package streamlink for openSUSE:Factory checked in at 2021-08-31 19:55:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/streamlink (Old)
and /work/SRC/openSUSE:Factory/.streamlink.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "streamlink"
Tue Aug 31 19:55:40 2021 rev:7 rq:915215 version:2.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/streamlink/streamlink.changes 2021-08-19 10:02:07.499183263 +0200
+++ /work/SRC/openSUSE:Factory/.streamlink.new.1899/streamlink.changes 2021-08-31 19:56:34.506028661 +0200
@@ -1,0 +2,7 @@
+Mon Aug 30 15:51:53 UTC 2021 - Simon Puchert <simonpuchert(a)alice.de>
+
+- Add python-requests-version.patch:
+ * Revert a commit that increased the version requirements as the
+ required version is not available in Factory.
+
+-------------------------------------------------------------------
New:
----
python-requests-version.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ streamlink.spec ++++++
--- /var/tmp/diff_new_pack.hENird/_old 2021-08-31 19:56:34.950029275 +0200
+++ /var/tmp/diff_new_pack.hENird/_new 2021-08-31 19:56:34.958029286 +0200
@@ -26,6 +26,9 @@
URL: https://streamlink.github.io/
Source: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{v…
Source1: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{v…
+# Revert the increased requirements for now since we don't have
+# python-requests 2.26 yet.
+Patch0: python-requests-version.patch
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -66,6 +69,7 @@
%prep
%setup -q
+%patch0 -p1
%build
%python3_build
++++++ python-requests-version.patch ++++++
diff -Nur streamlink-2.3.0/setup.py streamlink-2.3.0-patched/setup.py
--- streamlink-2.3.0/setup.py 2021-07-26 02:24:06.000000000 +0200
+++ streamlink-2.3.0-patched/setup.py 2021-08-30 16:54:33.133224469 +0200
@@ -12,7 +12,7 @@
deps = [
# Temporarily set requests to 2.25.1 on Windows to fix issues with randomly failing tests
# Don't force an older requests version on non-Windows systems due to packaging reasons
- "requests>=2.26.0,<3.0 ; platform_system!='Windows'",
+ "requests>=2.21.0,<3.0 ; platform_system!='Windows'",
"requests==2.25.1 ; platform_system=='Windows'",
"isodate",
"websocket-client>=0.58.0",
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rt-tests for openSUSE:Factory checked in at 2021-08-31 19:55:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rt-tests (Old)
and /work/SRC/openSUSE:Factory/.rt-tests.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rt-tests"
Tue Aug 31 19:55:39 2021 rev:7 rq:915214 version:2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/rt-tests/rt-tests.changes 2021-07-29 21:33:05.972687165 +0200
+++ /work/SRC/openSUSE:Factory/.rt-tests.new.1899/rt-tests.changes 2021-08-31 19:56:33.802027686 +0200
@@ -1,0 +2,9 @@
+Tue Aug 31 08:27:01 UTC 2021 - Daniel Wagner <daniel.wagner(a)suse.com>
+
+- Update to upstream version v2.2
+ * signaltest: Fix JSON output latency values for 32bit machines
+ * oslat: Don't take trace_threshold into account during preheat
+ * sched_deadline: Update HRTICK_DL location
+ * Allow static builds by dropping dependency on pthread_getaffinity_np
+
+-------------------------------------------------------------------
Old:
----
rt-tests-2.1.tar.gz
New:
----
rt-tests-2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rt-tests.spec ++++++
--- /var/tmp/diff_new_pack.F7iiuS/_old 2021-08-31 19:56:34.242028295 +0200
+++ /var/tmp/diff_new_pack.F7iiuS/_new 2021-08-31 19:56:34.242028295 +0200
@@ -17,7 +17,7 @@
Name: rt-tests
-Version: 2.1
+Version: 2.2
Release: 0
Summary: Realtime Kernel Testsuite
License: GPL-2.0-only
++++++ rt-tests-2.1.tar.gz -> rt-tests-2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/Makefile new/rt-tests-2.2/Makefile
--- old/rt-tests-2.1/Makefile 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/Makefile 2021-08-31 03:58:19.000000000 +0200
@@ -1,4 +1,4 @@
-VERSION = 2.1
+VERSION = 2.2
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/lib/rt-numa.c new/rt-tests-2.2/src/lib/rt-numa.c
--- old/rt-tests-2.1/src/lib/rt-numa.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/lib/rt-numa.c 2021-08-31 03:58:19.000000000 +0200
@@ -68,15 +68,13 @@
int cpu_for_thread_ua(int thread_num, int max_cpus)
{
int res, num_cpus, i, m, cpu;
- pthread_t thread;
cpu_set_t cpuset;
- thread = pthread_self();
CPU_ZERO(&cpuset);
- res = pthread_getaffinity_np(thread, sizeof(cpu_set_t), &cpuset);
+ res = sched_getaffinity(0, sizeof(cpu_set_t), &cpuset);
if (res != 0)
- fatal("pthread_getaffinity_np failed: %s\n", strerror(res));
+ fatal("sched_getaffinity failed: %s\n", strerror(res));
num_cpus = CPU_COUNT(&cpuset);
m = thread_num % num_cpus;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/oslat/oslat.c new/rt-tests-2.2/src/oslat/oslat.c
--- old/rt-tests-2.1/src/oslat/oslat.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/oslat/oslat.c 2021-08-31 03:58:19.000000000 +0200
@@ -29,7 +29,7 @@
#include <numa.h>
#include <math.h>
#include <limits.h>
-#include <inttypes.h>
+#include <stdbool.h>
#include <sys/prctl.h>
#include <sys/stat.h>
@@ -151,6 +151,7 @@
struct global {
/* Configuration. */
unsigned int runtime_secs;
+ bool preheat;
/*
* Number of threads running for current test
* (either pre heat or real run)
@@ -300,7 +301,7 @@
us = index + 1;
assert(us > 0);
- if (g.trace_threshold && us >= g.trace_threshold) {
+ if (!g.preheat && g.trace_threshold && us >= g.trace_threshold) {
char *line = "%s: Trace threshold (%d us) triggered with %u us!\n"
"Stopping the test.\n";
tracemark(line, g.app_name, g.trace_threshold, us);
@@ -516,11 +517,12 @@
fprintf(f, " }\n");
}
-static void run_expt(struct thread *threads, int runtime_secs)
+static void run_expt(struct thread *threads, int runtime_secs, bool preheat)
{
int i;
g.runtime_secs = runtime_secs;
+ g.preheat = preheat;
g.n_threads_started = 0;
g.n_threads_running = 0;
g.n_threads_finished = 0;
@@ -847,14 +849,14 @@
g.n_threads = 1;
else
g.n_threads = g.n_threads_total;
- run_expt(threads, 1);
+ run_expt(threads, 1, true);
record_bias(threads);
if (!g.quiet)
printf("Test starts...\n");
/* Reset n_threads to always run on all the cores */
g.n_threads = g.n_threads_total;
- run_expt(threads, g.runtime);
+ run_expt(threads, g.runtime, false);
if (!g.quiet)
printf("Test completed.\n\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/pi_tests/pi_stress.c new/rt-tests-2.2/src/pi_tests/pi_stress.c
--- old/rt-tests-2.1/src/pi_tests/pi_stress.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/pi_tests/pi_stress.c 2021-08-31 03:58:19.000000000 +0200
@@ -668,7 +668,7 @@
}
/* initial state */
- pi_debug("low_priority[%d]: entering start wait (%d)\n", p->id,
+ pi_debug("low_priority[%d]: entering start wait (%ld)\n", p->id,
count++);
status = pthread_barrier_wait(&p->start_barrier);
if (status && status != PTHREAD_BARRIER_SERIAL_THREAD) {
@@ -796,7 +796,7 @@
}
/* start state */
- pi_debug("med_priority[%d]: entering start state (%d)\n", p->id,
+ pi_debug("med_priority[%d]: entering start state (%ld)\n", p->id,
count++);
status = pthread_barrier_wait(&p->start_barrier);
if (status && status != PTHREAD_BARRIER_SERIAL_THREAD) {
@@ -949,8 +949,7 @@
status = pthread_barrier_wait(&p->finish_barrier);
if (status && status != PTHREAD_BARRIER_SERIAL_THREAD) {
pi_error
- ("high_priority[%d]: pthread_barrier_wait(finish): %x",
- status);
+ ("high_priority[%d]: pthread_barrier_wait(finish): %x", p->id, status);
return NULL;
}
/* update the group stats */
@@ -1259,10 +1258,8 @@
k = strsep(&buf, del);
}
- if (!id) {
- free(buf);
+ if (!id)
return FAILURE;
- }
/* We do not validate the options, instead we pass all garbage
* to the kernel and see what's happening */
@@ -1280,7 +1277,6 @@
retval = FAILURE;
}
- free(buf);
return retval;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/pi_tests/pip_stress.c new/rt-tests-2.2/src/pi_tests/pip_stress.c
--- old/rt-tests-2.1/src/pi_tests/pip_stress.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/pi_tests/pip_stress.c 2021-08-31 03:58:19.000000000 +0200
@@ -254,7 +254,7 @@
res = sysconf(_SC_THREAD_PROCESS_SHARED);
if (res == -1) {
int err = errno; /* save the error number */
- err_msg("%s: sysconf(_SC_THREAD_PROCESS_SHARED): ");
+ err_msg("%s: sysconf(_SC_THREAD_PROCESS_SHARED): ", __func__);
err_exit(err, NULL);
}
#else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/ptsematest/ptsematest.c new/rt-tests-2.2/src/ptsematest/ptsematest.c
--- old/rt-tests-2.1/src/ptsematest/ptsematest.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/ptsematest/ptsematest.c 2021-08-31 03:58:19.000000000 +0200
@@ -58,7 +58,6 @@
void *semathread(void *param)
{
int mustgetcpu = 0;
- int first = 1;
struct params *par = param;
cpu_set_t mask;
int policy = SCHED_FIFO;
@@ -92,11 +91,6 @@
if (mustgetcpu)
par->cpu = get_cpu();
} else {
- /* Receiver */
- if (!first) {
- pthread_mutex_lock(&syncmutex[par->num]);
- first = 1;
- }
pthread_mutex_lock(&testmutex[par->num]);
/* ... Got the lock: End of latency measurement */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/sched_deadline/cyclicdeadline.c new/rt-tests-2.2/src/sched_deadline/cyclicdeadline.c
--- old/rt-tests-2.1/src/sched_deadline/cyclicdeadline.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/sched_deadline/cyclicdeadline.c 2021-08-31 03:58:19.000000000 +0200
@@ -230,13 +230,55 @@
mark_fd = open(files, O_WRONLY);
}
+/*
+ * Return true if file exists
+ */
+static int check_file_exists(char *path)
+{
+ int ret;
+ struct stat st;
+
+ ret = !stat(path, &st);
+
+ return ret;
+
+}
+
+/*
+ * Return 0 on success
+ */
+
+static int fill_sched_features(char *path)
+{
+ int ret;
+ const char *debugfs;
+
+ debugfs = find_debugfs();
+ if (strlen(debugfs) == 0)
+ return -1;
+
+ snprintf(path, MAX_PATH, "%s/sched/features", debugfs);
+ ret = check_file_exists(path);
+ if (ret)
+ return 0;
+
+ snprintf(path, MAX_PATH, "%s/sched_features", debugfs);
+ ret = check_file_exists(path);
+ if (ret)
+ return 0;
+
+ memset(path, 0, MAX_PATH);
+
+ return ret;
+
+}
+
static int setup_hr_tick(void)
{
- const char *debugfs = find_debugfs();
- char files[strlen(debugfs) + strlen("/sched_features") + 1];
+ char path[MAX_PATH];
char buf[500];
- struct stat st;
static int set = 0;
+ int hrtick_dl = 0;
char *p;
int ret;
int len;
@@ -244,27 +286,23 @@
if (set)
return 1;
-
set = 1;
- if (strlen(debugfs) == 0)
+ ret = fill_sched_features(path);
+ if (ret)
return 0;
- sprintf(files, "%s/sched_features", debugfs);
- ret = stat(files, &st);
- if (ret < 0)
- return 0;
-
- fd = open(files, O_RDWR);
- perror(files);
- if (fd < 0)
+ fd = open(path, O_RDWR);
+ if (fd < 0) {
+ perror(path);
return 0;
+ }
len = sizeof(buf);
ret = read(fd, buf, len);
if (ret < 0) {
- perror(files);
+ perror(path);
close(fd);
return 0;
}
@@ -274,18 +312,34 @@
ret = 1;
- p = strstr(buf, "HRTICK");
- if (p + 3 >= buf) {
+ p = strstr(buf, "HRTICK_DL");
+ if (p && p - 3 >= buf) {
+ hrtick_dl = 1;
p -= 3;
- if (strncmp(p, "NO_HRTICK", 9) == 0) {
- ret = write(fd, "HRTICK", 6);
- if (ret != 6)
+ if (strncmp(p, "NO_HRTICK_DL", 12) == 0) {
+ ret = write(fd, "HRTICK_DL", 9);
+ if (ret != 9)
ret = 0;
else
ret = 1;
}
}
+ /* Backwards compatibility for kernel that only have HRTICK */
+ if (!hrtick_dl) {
+ p = strstr(buf, "HRTICK");
+ if (p && p - 3 >= buf) {
+ p -=3;
+ if (strncmp(p, "NO_HRTICK", 9) == 0) {
+ ret = write(fd, "HRTICK", 6);
+ if (ret != 6)
+ ret = 0;
+ else
+ ret = 1;
+ }
+ }
+ }
+
close(fd);
return ret;
}
@@ -1092,7 +1146,7 @@
/* Default cpu to use is the last one */
if (!all_cpus && !setcpu) {
- setcpu_buf = malloc(10);
+ setcpu_buf = malloc(12);
if (!setcpu_buf)
fatal("malloc");
sprintf(setcpu_buf, "%d", cpu_count - 1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/sched_deadline/deadline_test.c new/rt-tests-2.2/src/sched_deadline/deadline_test.c
--- old/rt-tests-2.1/src/sched_deadline/deadline_test.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/sched_deadline/deadline_test.c 2021-08-31 03:58:19.000000000 +0200
@@ -368,6 +368,49 @@
mark_fd = open(files, O_WRONLY);
}
+/*
+ * Return true if file exists
+ */
+static int check_file_exists(char *path)
+{
+ int ret;
+ struct stat st;
+
+ ret = !stat(path, &st);
+
+ return ret;
+
+}
+
+/*
+ * Return 0 on success
+ */
+
+static int fill_sched_features(char *path)
+{
+ int ret;
+ const char *debugfs;
+
+ debugfs = find_debugfs();
+ if (strlen(debugfs) == 0)
+ return -1;
+
+ snprintf(path, MAX_PATH, "%s/sched/features", debugfs);
+ ret = check_file_exists(path);
+ if (ret)
+ return 0;
+
+ snprintf(path, MAX_PATH, "%s/sched_features", debugfs);
+ ret = check_file_exists(path);
+ if (ret)
+ return 0;
+
+ memset(path, 0, MAX_PATH);
+
+ return ret;
+
+}
+
/**
* setup_hr_tick - Enable the HRTICK in sched_features (if available)
*
@@ -381,11 +424,10 @@
*/
static int setup_hr_tick(void)
{
- const char *debugfs = find_debugfs();
- char files[strlen(debugfs) + strlen("/sched_features") + 1];
+ char path[MAX_PATH];
char buf[500];
- struct stat st;
static int set = 0;
+ int hrtick_dl = 0;
char *p;
int ret;
int len;
@@ -396,17 +438,13 @@
set = 1;
- if (strlen(debugfs) == 0)
- return 0;
-
- sprintf(files, "%s/sched_features", debugfs);
- ret = stat(files, &st);
- if (ret < 0)
+ ret = fill_sched_features(path);
+ if (ret)
return 0;
- fd = open(files, O_RDWR);
+ fd = open(path, O_RDWR);
if (fd < 0) {
- perror(files);
+ perror(path);
return 0;
}
@@ -414,7 +452,7 @@
ret = read(fd, buf, len);
if (ret < 0) {
- perror(files);
+ perror(path);
close(fd);
return 0;
}
@@ -424,18 +462,35 @@
ret = 1;
- p = strstr(buf, "HRTICK");
- if (p + 3 >= buf) {
+ p = strstr(buf, "HRTICK_DL");
+ if (p && p - 3 >= buf) {
+ hrtick_dl = 1;
p -= 3;
- if (strncmp(p, "NO_HRTICK", 9) == 0) {
- ret = write(fd, "HRTICK", 6);
- if (ret != 6)
+ if (strncmp(p, "NO_HRTICK_DL", 12) == 0) {
+ ret = write(fd, "HRTICK_DL", 9);
+ if (ret != 9)
ret = 0;
else
ret = 1;
}
}
+ /* Backwards compatibility for kernel that only have HRTICK */
+ if (!hrtick_dl) {
+ p = strstr(buf, "HRTICK");
+ if (p && p - 3 >= buf) {
+ p -=3;
+ if (strncmp(p, "NO_HRTICK", 9) == 0) {
+ ret = write(fd, "HRTICK", 6);
+ if (ret != 6)
+ ret = 0;
+ else
+ ret = 1;
+ }
+ }
+ }
+
+
close(fd);
return ret;
}
@@ -673,12 +728,12 @@
int *pids;
int i;
- va_start(ap, flags);
-
fd = open_cpuset(path, "tasks");
if (fd < 0)
return "open tasks";
+ va_start(ap, flags);
+
ret = 0;
pids = va_arg(ap, int *);
@@ -818,10 +873,6 @@
goto again;
fprintf(stderr, "Failed to remove %s\n", path);
perror("rmdir");
- if (retry++ < 5) {
- fprintf(stderr, "Trying again\n");
- goto again;
- }
}
}
@@ -1766,6 +1817,11 @@
exit(-1);
}
+ if (nr_threads < 1) {
+ fprintf(stderr, "The number of threads must be at least 1\n");
+ exit(-1);
+ }
+
if (setcpu) {
nr_cpus = calc_nr_cpus(setcpu, &setcpu_buf);
if (nr_cpus < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rt-tests-2.1/src/signaltest/signaltest.c new/rt-tests-2.2/src/signaltest/signaltest.c
--- old/rt-tests-2.1/src/signaltest/signaltest.c 2021-06-30 05:09:41.000000000 +0200
+++ new/rt-tests-2.2/src/signaltest/signaltest.c 2021-08-31 03:58:19.000000000 +0200
@@ -393,9 +393,9 @@
for (i = 0; i < num_threads; i++) {
fprintf(f, " \"%u\": {\n", i);
s = &par->stats[i];
- fprintf(f, " \"cycles\": %" PRIu64 ",\n", s->cycles);
- fprintf(f, " \"min\": %" PRIu64 ",\n", s->min);
- fprintf(f, " \"max\": %" PRIu64 ",\n", s->max);
+ fprintf(f, " \"cycles\": %ld,\n", s->cycles);
+ fprintf(f, " \"min\": %ld,\n", s->min);
+ fprintf(f, " \"max\": %ld,\n", s->max);
fprintf(f, " \"avg\": %.2f,\n", s->avg/s->cycles);
fprintf(f, " \"cpu\": %d\n", par->cpu);
fprintf(f, " }%s\n", i == num_threads - 1 ? "" : ",");
1
0