openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
December 2023
- 1 participants
- 1464 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Flask-Gravatar for openSUSE:Factory checked in at 2023-12-06 23:47:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Flask-Gravatar (Old)
and /work/SRC/openSUSE:Factory/.python-Flask-Gravatar.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Flask-Gravatar"
Wed Dec 6 23:47:08 2023 rev:5 rq:1131001 version:0.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Flask-Gravatar/python-Flask-Gravatar.changes 2021-12-19 17:23:28.927786635 +0100
+++ /work/SRC/openSUSE:Factory/.python-Flask-Gravatar.new.25432/python-Flask-Gravatar.changes 2023-12-06 23:47:16.105142915 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 13:24:20 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Flask-Gravatar.spec ++++++
--- /var/tmp/diff_new_pack.SCgJ4r/_old 2023-12-06 23:47:16.889171819 +0100
+++ /var/tmp/diff_new_pack.SCgJ4r/_new 2023-12-06 23:47:16.889171819 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-Flask-Gravatar
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
Name: python-Flask-Gravatar
Version: 0.5.0
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Flask-Compress for openSUSE:Factory checked in at 2023-12-06 23:47:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Flask-Compress (Old)
and /work/SRC/openSUSE:Factory/.python-Flask-Compress.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Flask-Compress"
Wed Dec 6 23:47:06 2023 rev:11 rq:1131000 version:1.13
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Flask-Compress/python-Flask-Compress.changes 2022-11-06 12:42:39.617545877 +0100
+++ /work/SRC/openSUSE:Factory/.python-Flask-Compress.new.25432/python-Flask-Compress.changes 2023-12-06 23:47:13.417043816 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 13:24:18 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Flask-Compress.spec ++++++
--- /var/tmp/diff_new_pack.hWmyQB/_old 2023-12-06 23:47:14.041066821 +0100
+++ /var/tmp/diff_new_pack.hWmyQB/_new 2023-12-06 23:47:14.041066821 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-Flask-Compress
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2016, Martin Hauke <mardnh(a)gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -17,7 +17,7 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
Name: python-Flask-Compress
Version: 1.13
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Flask-Babel for openSUSE:Factory checked in at 2023-12-06 23:47:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Flask-Babel (Old)
and /work/SRC/openSUSE:Factory/.python-Flask-Babel.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Flask-Babel"
Wed Dec 6 23:47:05 2023 rev:8 rq:1130999 version:3.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Flask-Babel/python-Flask-Babel.changes 2023-08-21 11:46:13.207762246 +0200
+++ /work/SRC/openSUSE:Factory/.python-Flask-Babel.new.25432/python-Flask-Babel.changes 2023-12-06 23:47:11.504973325 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 13:24:16 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Flask-Babel.spec ++++++
--- /var/tmp/diff_new_pack.Jzcb1Q/_old 2023-12-06 23:47:12.609014027 +0100
+++ /var/tmp/diff_new_pack.Jzcb1Q/_new 2023-12-06 23:47:12.613014174 +0100
@@ -17,6 +17,7 @@
#
+%{?sle15_python_module_pythons}
Name: python-Flask-Babel
Version: 3.1.0
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-grpc-google-iam-v1 for openSUSE:Factory checked in at 2023-12-06 23:47:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-grpc-google-iam-v1 (Old)
and /work/SRC/openSUSE:Factory/.python-grpc-google-iam-v1.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-grpc-google-iam-v1"
Wed Dec 6 23:47:03 2023 rev:4 rq:1131007 version:0.12.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-grpc-google-iam-v1/python-grpc-google-iam-v1.changes 2022-09-10 20:17:55.200925958 +0200
+++ /work/SRC/openSUSE:Factory/.python-grpc-google-iam-v1.new.25432/python-grpc-google-iam-v1.changes 2023-12-06 23:47:08.188851073 +0100
@@ -1,0 +2,10 @@
+Tue Dec 5 13:58:23 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 0.12.7
+ * Add classifier for python 3.11 (#31)
+- from version 0.12.6
+ * **deps:** Allow protobuf >= 3.19.5 (1044946)
+- from version 0.12.5
+ * Require python 3.7+ (#8)
+
+-------------------------------------------------------------------
Old:
----
grpc-google-iam-v1-0.12.4.tar.gz
New:
----
grpc-google-iam-v1-0.12.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-grpc-google-iam-v1.spec ++++++
--- /var/tmp/diff_new_pack.ONbSxN/_old 2023-12-06 23:47:08.976880124 +0100
+++ /var/tmp/diff_new_pack.ONbSxN/_new 2023-12-06 23:47:08.980880272 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-grpc-google-iam-v1
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-grpc-google-iam-v1
-Version: 0.12.4
+Version: 0.12.7
Release: 0
Summary: GRPC library for the google-iam-v1 service
License: Apache-2.0
@@ -29,11 +29,11 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-googleapis-common-protos >= 1.56.0
-Requires: python-grpcio >= 1.0.0
+Requires: python-grpcio >= 1.44.0
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module googleapis-common-protos >= 1.56.0}
-BuildRequires: %{python_module grpcio >= 1.0.0}
+BuildRequires: %{python_module grpcio >= 1.44.0}
# /SECTION
%python_subpackages
++++++ grpc-google-iam-v1-0.12.4.tar.gz -> grpc-google-iam-v1-0.12.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/PKG-INFO new/grpc-google-iam-v1-0.12.7/PKG-INFO
--- old/grpc-google-iam-v1-0.12.4/PKG-INFO 2022-04-06 18:13:15.438945500 +0200
+++ new/grpc-google-iam-v1-0.12.7/PKG-INFO 2023-11-09 22:24:24.674781600 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: grpc-google-iam-v1
-Version: 0.12.4
+Version: 0.12.7
Summary: IAM API client library
Home-page: https://github.com/googleapis/python-grpc-google-iam-v1
Author: Google LLC
@@ -12,15 +12,18 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet
-Requires-Python: >=3.6
+Requires-Python: >=3.7
License-File: LICENSE
+Requires-Dist: grpcio<2.0.0dev,>=1.44.0
+Requires-Dist: googleapis-common-protos[grpc]<2.0.0dev,>=1.56.0
+Requires-Dist: protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5
Python Client for IAM
=====================
@@ -59,7 +62,7 @@
Supported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^
-Python >= 3.6
+Python >= 3.7
Mac/Linux
@@ -95,4 +98,3 @@
.. _IAM API Product documentation: https://cloud.google.com/iam
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/README.rst new/grpc-google-iam-v1-0.12.7/README.rst
--- old/grpc-google-iam-v1-0.12.4/README.rst 2022-04-05 23:49:19.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/README.rst 2023-11-09 22:21:51.000000000 +0100
@@ -35,7 +35,7 @@
Supported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^
-Python >= 3.6
+Python >= 3.7
Mac/Linux
@@ -70,4 +70,4 @@
APIs that we cover.
.. _IAM API Product documentation: https://cloud.google.com/iam
-.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
\ No newline at end of file
+.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/__init__.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/__init__.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/__init__.py 2022-04-06 16:24:37.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/__init__.py 2023-11-09 22:21:51.000000000 +0100
@@ -10,4 +10,4 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
-# limitations under the License.
\ No newline at end of file
+# limitations under the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/iam_policy.proto new/grpc-google-iam-v1-0.12.7/google/iam/v1/iam_policy.proto
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/iam_policy.proto 2022-04-06 16:23:35.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/iam_policy.proto 2023-11-09 22:21:51.000000000 +0100
@@ -26,7 +26,7 @@
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Iam.V1";
-option go_package = "google.golang.org/genproto/googleapis/iam/v1;iam";
+option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb";
option java_multiple_files = true;
option java_outer_classname = "IamPolicyProto";
option java_package = "com.google.iam.v1";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/iam_policy_pb2.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/iam_policy_pb2.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/iam_policy_pb2.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/iam_policy_pb2.py 2023-11-09 22:21:51.000000000 +0100
@@ -38,7 +38,7 @@
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x1egoogle/iam/v1/iam_policy.proto\x12\rgoogle.iam.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/iam/v1/options.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a google/protobuf/field_mask.proto"\x8f\x01\n\x13SetIamPolicyRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12*\n\x06policy\x18\x02 \x01(\x0b\x32\x15.google.iam.v1.PolicyB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"d\n\x13GetIamPolicyRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x30\n\x07options\x18\x02 \x01(\x0b\x32\x1f.google.iam.v1.GetPolicyOptions"R\n\x19TestIamPermissionsRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x18\n\x0bpermissions\x18\x02 \x03(\tB\x03\xe0\x41\x02"1\n\x1aTestIamPermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t2\xb4\x03\n\tIA
MPolicy\x12t\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy")\x82\xd3\xe4\x93\x02#"\x1e/v1/{resource=**}:setIamPolicy:\x01*\x12t\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy")\x82\xd3\xe4\x93\x02#"\x1e/v1/{resource=**}:getIamPolicy:\x01*\x12\x9a\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"/\x82\xd3\xe4\x93\x02)"$/v1/{resource=**}:testIamPermissions:\x01*\x1a\x1e\xca\x41\x1biam-meta-api.googleapis.comB\x86\x01\n\x11\x63om.google.iam.v1B\x0eIamPolicyProtoP\x01Z0google.golang.org/genproto/googleapis/iam/v1;iam\xf8\x01\x01\xaa\x02\x13Google.Cloud.Iam.V1\xca\x02\x13Google\\Cloud\\Iam\\V1b\x06proto3'
+ b'\n\x1egoogle/iam/v1/iam_policy.proto\x12\rgoogle.iam.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/iam/v1/options.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a google/protobuf/field_mask.proto"\x8f\x01\n\x13SetIamPolicyRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12*\n\x06policy\x18\x02 \x01(\x0b\x32\x15.google.iam.v1.PolicyB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"d\n\x13GetIamPolicyRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x30\n\x07options\x18\x02 \x01(\x0b\x32\x1f.google.iam.v1.GetPolicyOptions"R\n\x19TestIamPermissionsRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x18\n\x0bpermissions\x18\x02 \x03(\tB\x03\xe0\x41\x02"1\n\x1aTestIamPermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t2\xb4\x03\n\tIA
MPolicy\x12t\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy")\x82\xd3\xe4\x93\x02#"\x1e/v1/{resource=**}:setIamPolicy:\x01*\x12t\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy")\x82\xd3\xe4\x93\x02#"\x1e/v1/{resource=**}:getIamPolicy:\x01*\x12\x9a\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"/\x82\xd3\xe4\x93\x02)"$/v1/{resource=**}:testIamPermissions:\x01*\x1a\x1e\xca\x41\x1biam-meta-api.googleapis.comB\x7f\n\x11\x63om.google.iam.v1B\x0eIamPolicyProtoP\x01Z)cloud.google.com/go/iam/apiv1/iampb;iampb\xf8\x01\x01\xaa\x02\x13Google.Cloud.Iam.V1\xca\x02\x13Google\\Cloud\\Iam\\V1b\x06proto3'
)
@@ -98,7 +98,7 @@
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- DESCRIPTOR._serialized_options = b"\n\021com.google.iam.v1B\016IamPolicyProtoP\001Z0google.golang.org/genproto/googleapis/iam/v1;iam\370\001\001\252\002\023Google.Cloud.Iam.V1\312\002\023Google\\Cloud\\Iam\\V1"
+ DESCRIPTOR._serialized_options = b"\n\021com.google.iam.v1B\016IamPolicyProtoP\001Z)cloud.google.com/go/iam/apiv1/iampb;iampb\370\001\001\252\002\023Google.Cloud.Iam.V1\312\002\023Google\\Cloud\\Iam\\V1"
_SETIAMPOLICYREQUEST.fields_by_name["resource"]._options = None
_SETIAMPOLICYREQUEST.fields_by_name[
"resource"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/iam_policy_pb2_grpc.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/iam_policy_pb2_grpc.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/iam_policy_pb2_grpc.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/iam_policy_pb2_grpc.py 2023-11-09 22:21:51.000000000 +0100
@@ -14,6 +14,7 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
+
import grpc
from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/logging/audit_data.proto new/grpc-google-iam-v1-0.12.7/google/iam/v1/logging/audit_data.proto
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/logging/audit_data.proto 2022-04-06 16:23:35.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/logging/audit_data.proto 2023-11-09 22:21:51.000000000 +0100
@@ -16,11 +16,10 @@
package google.iam.v1.logging;
-import "google/api/annotations.proto";
import "google/iam/v1/policy.proto";
option csharp_namespace = "Google.Cloud.Iam.V1.Logging";
-option go_package = "google.golang.org/genproto/googleapis/iam/v1/logging;logging";
+option go_package = "cloud.google.com/go/iam/apiv1/logging/loggingpb;loggingpb";
option java_multiple_files = true;
option java_outer_classname = "AuditDataProto";
option java_package = "com.google.iam.v1.logging";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/logging/audit_data_pb2.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/logging/audit_data_pb2.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/logging/audit_data_pb2.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/logging/audit_data_pb2.py 2023-11-09 22:21:51.000000000 +0100
@@ -28,12 +28,11 @@
_sym_db = _symbol_database.Default()
-from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n&google/iam/v1/logging/audit_data.proto\x12\x15google.iam.v1.logging\x1a\x1cgoogle/api/annotations.proto\x1a\x1agoogle/iam/v1/policy.proto"=\n\tAuditData\x12\x30\n\x0cpolicy_delta\x18\x02 \x01(\x0b\x32\x1a.google.iam.v1.PolicyDeltaB\x89\x01\n\x19\x63om.google.iam.v1.loggingB\x0e\x41uditDataProtoP\x01Z<google.golang.org/genproto/googleapis/iam/v1/logging;logging\xaa\x02\x1bGoo…'
+ b'\n&google/iam/v1/logging/audit_data.proto\x12\x15google.iam.v1.logging\x1a\x1agoogle/iam/v1/policy.proto"=\n\tAuditData\x12\x30\n\x0cpolicy_delta\x18\x02 \x01(\x0b\x32\x1a.google.iam.v1.PolicyDeltaB\x86\x01\n\x19\x63om.google.iam.v1.loggingB\x0e\x41uditDataProtoP\x01Z9cloud.google.com/go/iam/apiv1/logging/loggingpb;loggingpb\xaa\x02\x1bGoogle.Cloud.Iam.V1.Loggingb\x06proto3'
)
@@ -52,7 +51,7 @@
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- DESCRIPTOR._serialized_options = b"\n\031com.google.iam.v1.loggingB\016AuditDataProtoP\001Z<google.golang.org/genproto/googleapis/iam/v1/logging;logging\252\002\033Goo…"
- _AUDITDATA._serialized_start = 123
- _AUDITDATA._serialized_end = 184
+ DESCRIPTOR._serialized_options = b"\n\031com.google.iam.v1.loggingB\016AuditDataProtoP\001Z9cloud.google.com/go/iam/apiv1/logging/loggingpb;loggingpb\252\002\033Google.Cloud.Iam.V1.Logging"
+ _AUDITDATA._serialized_start = 93
+ _AUDITDATA._serialized_end = 154
# @@protoc_insertion_point(module_scope)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/options.proto new/grpc-google-iam-v1-0.12.7/google/iam/v1/options.proto
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/options.proto 2022-04-06 16:23:35.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/options.proto 2023-11-09 22:21:51.000000000 +0100
@@ -18,7 +18,7 @@
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Iam.V1";
-option go_package = "google.golang.org/genproto/googleapis/iam/v1;iam";
+option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb";
option java_multiple_files = true;
option java_outer_classname = "OptionsProto";
option java_package = "com.google.iam.v1";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/options_pb2.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/options_pb2.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/options_pb2.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/options_pb2.py 2023-11-09 22:21:51.000000000 +0100
@@ -29,7 +29,7 @@
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x1bgoogle/iam/v1/options.proto\x12\rgoogle.iam.v1"4\n\x10GetPolicyOptions\x12 \n\x18requested_policy_version\x18\x01 \x01(\x05\x42\x84\x01\n\x11\x63om.google.iam.v1B\x0cOptionsProtoP\x01Z0google.golang.org/genproto/googleapis/iam/v1;iam\xf8\x01\x01\xaa\x02\x13Google.Cloud.Iam.V1\xca\x02\x13Google\\Cloud\\Iam\\V1b\x06proto3'
+ b'\n\x1bgoogle/iam/v1/options.proto\x12\rgoogle.iam.v1"4\n\x10GetPolicyOptions\x12 \n\x18requested_policy_version\x18\x01 \x01(\x05\x42}\n\x11\x63om.google.iam.v1B\x0cOptionsProtoP\x01Z)cloud.google.com/go/iam/apiv1/iampb;iampb\xf8\x01\x01\xaa\x02\x13Google.Cloud.Iam.V1\xca\x02\x13Google\\Cloud\\Iam\\V1b\x06proto3'
)
@@ -48,7 +48,7 @@
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- DESCRIPTOR._serialized_options = b"\n\021com.google.iam.v1B\014OptionsProtoP\001Z0google.golang.org/genproto/googleapis/iam/v1;iam\370\001\001\252\002\023Google.Cloud.Iam.V1\312\002\023Google\\Cloud\\Iam\\V1"
+ DESCRIPTOR._serialized_options = b"\n\021com.google.iam.v1B\014OptionsProtoP\001Z)cloud.google.com/go/iam/apiv1/iampb;iampb\370\001\001\252\002\023Google.Cloud.Iam.V1\312\002\023Google\\Cloud\\Iam\\V1"
_GETPOLICYOPTIONS._serialized_start = 46
_GETPOLICYOPTIONS._serialized_end = 98
# @@protoc_insertion_point(module_scope)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/options_pb2_grpc.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/options_pb2_grpc.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/options_pb2_grpc.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/options_pb2_grpc.py 2023-11-09 22:21:51.000000000 +0100
@@ -14,4 +14,5 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
+
import grpc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/policy.proto new/grpc-google-iam-v1-0.12.7/google/iam/v1/policy.proto
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/policy.proto 2022-04-06 16:23:35.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/policy.proto 2023-11-09 22:21:51.000000000 +0100
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Iam.V1";
-option go_package = "google.golang.org/genproto/googleapis/iam/v1;iam";
+option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb";
option java_multiple_files = true;
option java_outer_classname = "PolicyProto";
option java_package = "com.google.iam.v1";
@@ -41,10 +41,12 @@
// only if the expression evaluates to `true`. A condition can add constraints
// based on attributes of the request, the resource, or both. To learn which
// resources support conditions in their IAM policies, see the
-// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-polici….
+// [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-polici….
//
// **JSON example:**
//
+// ```
// {
// "bindings": [
// {
@@ -64,16 +66,19 @@
// "condition": {
// "title": "expirable access",
// "description": "Does not grant access after Sep 2020",
-// "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
+// "expression": "request.time <
+// timestamp('2020-10-01T00:00:00.000Z')",
// }
// }
// ],
// "etag": "BwWWja0YfJA=",
// "version": 3
// }
+// ```
//
// **YAML example:**
//
+// ```
// bindings:
// - members:
// - user:mike@example.com
@@ -90,6 +95,7 @@
// expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
// etag: BwWWja0YfJA=
// version: 3
+// ```
//
// For a description of IAM and its features, see the
// [IAM documentation](https://cloud.google.com/iam/docs/).
@@ -117,7 +123,8 @@
// specify any valid version or leave the field unset.
//
// To learn which resources support conditions in their IAM policies, see the
- // [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-polici….
+ // [IAM
+ // documentation](https://cloud.google.com/iam/help/conditions/resource-polici….
int32 version = 1;
// Associates a list of `members`, or principals, with a `role`. Optionally,
@@ -156,7 +163,7 @@
// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
string role = 1;
- // Specifies the principals requesting access for a Cloud Platform resource.
+ // Specifies the principals requesting access for a Google Cloud resource.
// `members` can have the following values:
//
// * `allUsers`: A special identifier that represents anyone who is
@@ -266,8 +273,8 @@
// }
//
// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
-// logging. It also exempts jose(a)example.com from DATA_READ logging, and
-// aliya(a)example.com from DATA_WRITE logging.
+// logging. It also exempts `jose(a)example.com` from DATA_READ logging, and
+// `aliya(a)example.com` from DATA_WRITE logging.
message AuditConfig {
// Specifies a service that will be enabled for audit logging.
// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
@@ -319,7 +326,8 @@
// Specifies the identities that do not cause logging for this type of
// permission.
- // Follows the same format of [Binding.members][google.iam.v1.Binding.members].
+ // Follows the same format of
+ // [Binding.members][google.iam.v1.Binding.members].
repeated string exempted_members = 2;
}
@@ -356,7 +364,7 @@
// Required
string role = 2;
- // A single identity requesting access for a Cloud Platform resource.
+ // A single identity requesting access for a Google Cloud resource.
// Follows the same format of Binding.members.
// Required
string member = 3;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/policy_pb2.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/policy_pb2.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/policy_pb2.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/policy_pb2.py 2023-11-09 22:21:51.000000000 +0100
@@ -32,7 +32,7 @@
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x1agoogle/iam/v1/policy.proto\x12\rgoogle.iam.v1\x1a\x16google/type/expr.proto"\x84\x01\n\x06Policy\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12(\n\x08\x62indings\x18\x04 \x03(\x0b\x32\x16.google.iam.v1.Binding\x12\x31\n\raudit_configs\x18\x06 \x03(\x0b\x32\x1a.google.iam.v1.AuditConfig\x12\x0c\n\x04\x65tag\x18\x03 \x01(\x0c"N\n\x07\x42inding\x12\x0c\n\x04role\x18\x01 \x01(\t\x12\x0f\n\x07members\x18\x02 \x03(\t\x12$\n\tcondition\x18\x03 \x01(\x0b\x32\x11.google.type.Expr"X\n\x0b\x41uditConfig\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x38\n\x11\x61udit_log_configs\x18\x03 \x03(\x0b\x32\x1d.google.iam.v1.AuditLogConfig"\xb7\x01\n\x0e\x41uditLogConfig\x12\x37\n\x08log_type\x18\x01 \x01(\x0e\x32%.google.iam.v1.AuditLogConfig.LogType\x12\x18\n\x10\x65xempted_members\x18\x02 \x03(\t"R\n\x07LogType\x12\x18\n\x14LOG_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nADMIN_READ\x10\x01\x12\x0e\n\nDATA_WRITE\x10\x02\x12\r\n\tDATA_READ\x10\x03"\x80\x01\n\x0bPolicyDelta\x12\x33\n\x0e\x62inding_deltas\x
18\x01 \x03(\x0b\x32\x1b.google.iam.v1.BindingDelta\x12<\n\x13\x61udit_config_deltas\x18\x02 \x03(\x0b\x32\x1f.google.iam.v1.AuditConfigDelta"\xbd\x01\n\x0c\x42indingDelta\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32".google.iam.v1.BindingDelta.Action\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x0e\n\x06member\x18\x03 \x01(\t\x12$\n\tcondition\x18\x04 \x01(\x0b\x32\x11.google.type.Expr"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02"\xbd\x01\n\x10\x41uditConfigDelta\x12\x36\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32&.google.iam.v1.AuditConfigDelta.Action\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x17\n\x0f\x65xempted_member\x18\x03 \x01(\t\x12\x10\n\x08log_type\x18\x04 \x01(\t"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n…
1\x01\xaa\x02\x13Google.Cloud.Iam.V1\xca\x02\x13Google\\Cloud\\Iam\\V1b\x06proto3'
+ b'\n\x1agoogle/iam/v1/policy.proto\x12\rgoogle.iam.v1\x1a\x16google/type/expr.proto"\x84\x01\n\x06Policy\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12(\n\x08\x62indings\x18\x04 \x03(\x0b\x32\x16.google.iam.v1.Binding\x12\x31\n\raudit_configs\x18\x06 \x03(\x0b\x32\x1a.google.iam.v1.AuditConfig\x12\x0c\n\x04\x65tag\x18\x03 \x01(\x0c"N\n\x07\x42inding\x12\x0c\n\x04role\x18\x01 \x01(\t\x12\x0f\n\x07members\x18\x02 \x03(\t\x12$\n\tcondition\x18\x03 \x01(\x0b\x32\x11.google.type.Expr"X\n\x0b\x41uditConfig\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x38\n\x11\x61udit_log_configs\x18\x03 \x03(\x0b\x32\x1d.google.iam.v1.AuditLogConfig"\xb7\x01\n\x0e\x41uditLogConfig\x12\x37\n\x08log_type\x18\x01 \x01(\x0e\x32%.google.iam.v1.AuditLogConfig.LogType\x12\x18\n\x10\x65xempted_members\x18\x02 \x03(\t"R\n\x07LogType\x12\x18\n\x14LOG_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nADMIN_READ\x10\x01\x12\x0e\n\nDATA_WRITE\x10\x02\x12\r\n\tDATA_READ\x10\x03"\x80\x01\n\x0bPolicyDelta\x12\x33\n\x0e\x62inding_deltas\x
18\x01 \x03(\x0b\x32\x1b.google.iam.v1.BindingDelta\x12<\n\x13\x61udit_config_deltas\x18\x02 \x03(\x0b\x32\x1f.google.iam.v1.AuditConfigDelta"\xbd\x01\n\x0c\x42indingDelta\x12\x32\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32".google.iam.v1.BindingDelta.Action\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x0e\n\x06member\x18\x03 \x01(\t\x12$\n\tcondition\x18\x04 \x01(\x0b\x32\x11.google.type.Expr"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02"\xbd\x01\n\x10\x41uditConfigDelta\x12\x36\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32&.google.iam.v1.AuditConfigDelta.Action\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x17\n\x0f\x65xempted_member\x18\x03 \x01(\t\x12\x10\n\x08log_type\x18\x04 \x01(\t"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n…
x13Google.Cloud.Iam.V1\xca\x02\x13Google\\Cloud\\Iam\\V1b\x06proto3'
)
@@ -126,7 +126,7 @@
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- DESCRIPTOR._serialized_options = b"\n\021com.google.iam.v1B\013PolicyProtoP\001Z0google.golang.org/genproto/googleapis/iam/v1;iam\370\001\001\252\002\023Google.Cloud.Iam.V1\312\002\023Google\\Cloud\\Iam\\V1"
+ DESCRIPTOR._serialized_options = b"\n\021com.google.iam.v1B\013PolicyProtoP\001Z)cloud.google.com/go/iam/apiv1/iampb;iampb\370\001\001\252\002\023Google.Cloud.Iam.V1\312\002\023Google\\Cloud\\Iam\\V1"
_POLICY._serialized_start = 70
_POLICY._serialized_end = 202
_BINDING._serialized_start = 204
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/google/iam/v1/policy_pb2_grpc.py new/grpc-google-iam-v1-0.12.7/google/iam/v1/policy_pb2_grpc.py
--- old/grpc-google-iam-v1-0.12.4/google/iam/v1/policy_pb2_grpc.py 2022-04-06 16:23:47.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/google/iam/v1/policy_pb2_grpc.py 2023-11-09 22:21:51.000000000 +0100
@@ -14,4 +14,5 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
+
import grpc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/grpc_google_iam_v1.egg-info/PKG-INFO new/grpc-google-iam-v1-0.12.7/grpc_google_iam_v1.egg-info/PKG-INFO
--- old/grpc-google-iam-v1-0.12.4/grpc_google_iam_v1.egg-info/PKG-INFO 2022-04-06 18:13:15.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/grpc_google_iam_v1.egg-info/PKG-INFO 2023-11-09 22:24:24.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: grpc-google-iam-v1
-Version: 0.12.4
+Version: 0.12.7
Summary: IAM API client library
Home-page: https://github.com/googleapis/python-grpc-google-iam-v1
Author: Google LLC
@@ -12,15 +12,18 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet
-Requires-Python: >=3.6
+Requires-Python: >=3.7
License-File: LICENSE
+Requires-Dist: grpcio<2.0.0dev,>=1.44.0
+Requires-Dist: googleapis-common-protos[grpc]<2.0.0dev,>=1.56.0
+Requires-Dist: protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5
Python Client for IAM
=====================
@@ -59,7 +62,7 @@
Supported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^
-Python >= 3.6
+Python >= 3.7
Mac/Linux
@@ -95,4 +98,3 @@
.. _IAM API Product documentation: https://cloud.google.com/iam
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/grpc_google_iam_v1.egg-info/requires.txt new/grpc-google-iam-v1-0.12.7/grpc_google_iam_v1.egg-info/requires.txt
--- old/grpc-google-iam-v1-0.12.4/grpc_google_iam_v1.egg-info/requires.txt 2022-04-06 18:13:15.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/grpc_google_iam_v1.egg-info/requires.txt 2023-11-09 22:24:24.000000000 +0100
@@ -1,2 +1,3 @@
+grpcio<2.0.0dev,>=1.44.0
googleapis-common-protos[grpc]<2.0.0dev,>=1.56.0
-grpcio<2.0.0dev,>=1.0.0
+protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grpc-google-iam-v1-0.12.4/setup.py new/grpc-google-iam-v1-0.12.7/setup.py
--- old/grpc-google-iam-v1-0.12.4/setup.py 2022-04-06 18:11:50.000000000 +0200
+++ new/grpc-google-iam-v1-0.12.7/setup.py 2023-11-09 22:21:51.000000000 +0100
@@ -22,12 +22,13 @@
name = "grpc-google-iam-v1"
description = "IAM API client library"
-version = "0.12.4"
+version = "0.12.7"
url = "https://github.com/googleapis/python-grpc-google-iam-v1"
release_status = "Development Status :: 4 - Beta"
dependencies = [
- "grpcio>=1.0.0, <2.0.0dev",
+ "grpcio>=1.44.0, <2.0.0dev",
"googleapis-common-protos[grpc]>=1.56.0, <2.0.0dev",
+ "protobuf>=3.19.5,<5.0.0dev,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5",
]
package_root = os.path.abspath(os.path.dirname(__file__))
@@ -62,17 +63,17 @@
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
"Operating System :: OS Independent",
"Topic :: Internet",
],
platforms="Posix; MacOS X; Windows",
packages=packages,
- python_requires=">=3.6",
+ python_requires=">=3.7",
namespace_packages=namespaces,
install_requires=dependencies,
include_package_data=True,
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-communication-chat for openSUSE:Factory checked in at 2023-12-06 23:47:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-communication-chat (Old)
and /work/SRC/openSUSE:Factory/.python-azure-communication-chat.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-communication-chat"
Wed Dec 6 23:47:02 2023 rev:8 rq:1130997 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-communication-chat/python-azure-communication-chat.changes 2021-09-17 23:26:43.537277596 +0200
+++ /work/SRC/openSUSE:Factory/.python-azure-communication-chat.new.25432/python-azure-communication-chat.changes 2023-12-06 23:47:04.500715106 +0100
@@ -1,0 +2,11 @@
+Tue Dec 5 10:28:03 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 1.2.0
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+- Remove unzip package from BuildRequires
+- Switch source archive format to TAR.GZ
+- Update Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
azure-communication-chat-1.1.0.zip
New:
----
azure-communication-chat-1.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-communication-chat.spec ++++++
--- /var/tmp/diff_new_pack.q2zAh7/_old 2023-12-06 23:47:06.740797689 +0100
+++ /var/tmp/diff_new_pack.q2zAh7/_new 2023-12-06 23:47:06.752798131 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-azure-communication-chat
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -21,26 +21,27 @@
%define skip_python2 1
%endif
Name: python-azure-communication-chat
-Version: 1.1.0
+Version: 1.2.0
Release: 0
Summary: Microsoft Azure Communication Chat Service Client Library for Python
License: MIT
Group: Development/Languages/Python
URL: https://github.com/Azure/azure-sdk-for-python
-Source: https://files.pythonhosted.org/packages/source/a/azure-communication-chat/a…
+Source: https://files.pythonhosted.org/packages/source/a/azure-communication-chat/a…
Source1: LICENSE.txt
BuildRequires: %{python_module azure-communication-nspkg >= 0.0.0b1}
BuildRequires: %{python_module azure-nspkg >= 3.0.0}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-BuildRequires: unzip
Requires: python-azure-communication-nspkg >= 0.0.0b1
Requires: python-azure-core < 2.0.0
-Requires: python-azure-core >= 1.11.0
+Requires: python-azure-core >= 1.29.5
Requires: python-azure-nspkg >= 3.0.0
-Requires: python-msrest >= 0.6.0
+Requires: python-isodate < 1.0.0
+Requires: python-isodate >= 0.6.1
Requires: python-six >= 1.11.0
+Requires: (python-typing_extensions >= 4.3.0 if python-base < 3.8)
BuildArch: noarch
%python_subpackages
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nvmetcli for openSUSE:Factory checked in at 2023-12-06 23:47:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvmetcli (Old)
and /work/SRC/openSUSE:Factory/.nvmetcli.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvmetcli"
Wed Dec 6 23:47:00 2023 rev:14 rq:1130991 version:0.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/nvmetcli/nvmetcli.changes 2023-11-28 22:20:16.347704763 +0100
+++ /work/SRC/openSUSE:Factory/.nvmetcli.new.25432/nvmetcli.changes 2023-12-06 23:47:02.572644026 +0100
@@ -1,0 +2,5 @@
+Tue Dec 5 13:45:44 UTC 2023 - Daniel Wagner <daniel.wagner(a)suse.com>
+
+- fix build on SLE15 code streams
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nvmetcli.spec ++++++
--- /var/tmp/diff_new_pack.y9NgTw/_old 2023-12-06 23:47:03.376673667 +0100
+++ /var/tmp/diff_new_pack.y9NgTw/_new 2023-12-06 23:47:03.380673814 +0100
@@ -55,7 +55,11 @@
%python3_pyproject_install
mkdir -p %{buildroot}%{_sysconfdir}/nvmet
mkdir -p %{buildroot}%{_prefix}/sbin
-mv %{buildroot}%{_bindir}/nvmetcli %{buildroot}%{_sbindir}
+%if 0%{?suse_version} <= 1500
+ install -m 755 nvmetcli %{buildroot}%{_sbindir}/nvmetcli
+%else
+ mv %{buildroot}%{_bindir}/nvmetcli %{buildroot}%{_sbindir}
+%endif
mkdir -p %{buildroot}%{_prefix}/usr/sbin
ln -s /usr/sbin/service %{buildroot}/usr/sbin/rcnvmet
mkdir -p %{buildroot}%{_unitdir}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package glibc for openSUSE:Factory checked in at 2023-12-06 23:46:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
and /work/SRC/openSUSE:Factory/.glibc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc"
Wed Dec 6 23:46:58 2023 rev:283 rq:1131294 version:2.38
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2023-10-31 20:24:35.319491384 +0100
+++ /work/SRC/openSUSE:Factory/.glibc.new.25432/glibc.changes 2023-12-06 23:46:59.328524428 +0100
@@ -1,0 +2,11 @@
+Tue Dec 5 11:52:03 UTC 2023 - Andreas Schwab <schwab(a)suse.de>
+
+- aarch64-rawmemchr-unwind.patch: aarch64: correct CFI in rawmemchr
+ (bsc#1217445, BZ #31113)
+
+-------------------------------------------------------------------
+Mon Dec 4 15:16:38 UTC 2023 - Andreas Schwab <schwab(a)suse.de>
+
+- Remove systemd from shadow and gshadow lookups (bsc#1217220)
+
+-------------------------------------------------------------------
New:
----
aarch64-rawmemchr-unwind.patch
BETA DEBUG BEGIN:
New:
- aarch64-rawmemchr-unwind.patch: aarch64: correct CFI in rawmemchr
(bsc#1217445, BZ #31113)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.2Y4N2O/_old 2023-12-06 23:47:01.116590347 +0100
+++ /var/tmp/diff_new_pack.2Y4N2O/_new 2023-12-06 23:47:01.120590494 +0100
@@ -331,6 +331,8 @@
Patch1013: tunables-string-parsing.patch
# PATCH-FIX-UPSTREAM add GB18030-2022 charmap and test the entire GB18030 charmap (BZ #30243)
Patch1014: gb18030-2022.patch
+# PATCH-FIX-UPSTREAM aarch64: correct CFI in rawmemchr (BZ #31113)
+Patch1015: aarch64-rawmemchr-unwind.patch
###
# Patches awaiting upstream approval
@@ -568,6 +570,7 @@
%patch1012 -p1
%patch1013 -p1
%patch1014 -p1
+%patch1015 -p1
%endif
%patch2000 -p1
++++++ aarch64-rawmemchr-unwind.patch ++++++
From 3f798427884fa57770e8e2291cf58d5918254bb5 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab(a)suse.de>
Date: Thu, 23 Nov 2023 18:23:46 +0100
Subject: [PATCH] aarch64: correct CFI in rawmemchr (bug 31113)
The .cfi_return_column directive changes the return column for the whole
FDE range. But the actual intent is to tell the unwinder that the value
in x30 (lr) now resides in x15 after the move, and that is expressed by
the .cfi_register directive.
---
sysdeps/aarch64/rawmemchr.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sysdeps/aarch64/rawmemchr.S b/sysdeps/aarch64/rawmemchr.S
index efc4b7007b..1fff094215 100644
--- a/sysdeps/aarch64/rawmemchr.S
+++ b/sysdeps/aarch64/rawmemchr.S
@@ -31,7 +31,7 @@ ENTRY (__rawmemchr)
L(do_strlen):
mov x15, x30
- cfi_return_column (x15)
+ cfi_register (x30, x15)
mov x14, x0
bl __strlen
add x0, x14, x0
--
2.43.0
++++++ nsswitch.conf ++++++
--- /var/tmp/diff_new_pack.2Y4N2O/_old 2023-12-06 23:47:01.324598015 +0100
+++ /var/tmp/diff_new_pack.2Y4N2O/_new 2023-12-06 23:47:01.328598162 +0100
@@ -54,7 +54,7 @@
passwd: compat systemd
group: compat systemd
-shadow: compat systemd
+shadow: compat
# Allow initgroups to default to the setting for group.
# initgroups: compat
@@ -63,7 +63,7 @@
aliases: files usrfiles
ethers: files usrfiles
-gshadow: files usrfiles systemd
+gshadow: files usrfiles
netgroup: files nis
protocols: files usrfiles
publickey: files
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package permissions for openSUSE:Factory checked in at 2023-12-06 23:46:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/permissions (Old)
and /work/SRC/openSUSE:Factory/.permissions.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "permissions"
Wed Dec 6 23:46:56 2023 rev:159 rq:1129969 version:1699_20230602
Changes:
--------
--- /work/SRC/openSUSE:Factory/permissions/permissions.changes 2023-06-06 19:54:52.353979994 +0200
+++ /work/SRC/openSUSE:Factory/.permissions.new.25432/permissions.changes 2023-12-06 23:46:57.532458214 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 11:38:26 UTC 2023 - Daniel Garcia <daniel.garcia(a)suse.com>
+
+- Remove dependency on /usr/bin/python3, making scripts to depends on
+ the real python3 binary, not the link. bsc#1212476
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ permissions.spec ++++++
--- /var/tmp/diff_new_pack.guqqeD/_old 2023-12-06 23:46:58.664499948 +0100
+++ /var/tmp/diff_new_pack.guqqeD/_new 2023-12-06 23:46:58.668500095 +0100
@@ -32,6 +32,7 @@
BuildRequires: gcc-c++
BuildRequires: libcap-devel
BuildRequires: libcap-progs
+BuildRequires: python-rpm-macros
BuildRequires: tclap
# test suite
BuildRequires: python3-base
@@ -47,6 +48,13 @@
%install
%make_install fillupdir=%{_fillupdir}
+# Fix shebang in scripts: Remove dependency on /usr/bin/python3,
+# making scripts to depends on the real python3 binary, not the link.
+# (bsc#1212476)
+for f in %{buildroot}/usr/lib/zypp/plugins/commit/*
+do
+ [ -f $f ] && sed -i "1s@#\!.*python.*@#\!$(realpath %__python3)@" $f
+done
%check
# will fail on qemu with unshare: unshare failed: Invalid argument
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2023-12-06 19:06:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Wed Dec 6 19:06:43 2023 rev:3829 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.LZGnqg/_old 2023-12-06 19:06:47.445876641 +0100
+++ /var/tmp/diff_new_pack.LZGnqg/_new 2023-12-06 19:06:47.449876788 +0100
@@ -2423,7 +2423,6 @@
<repopackage name="python3-ldb"/>
<repopackage name="python3-louis"/>
<repopackage name="python3-policycoreutils"/>
- <repopackage name="python3-solv"/>
<repopackage name="python3-speechd"/>
<repopackage name="python3-talloc"/>
<repopackage name="python3-tdb"/>
@@ -2601,7 +2600,6 @@
<repopackage name="sasl2-kdexoauth2"/>
<repopackage name="sazanami-fonts"/>
<repopackage name="sbc"/>
- <repopackage name="scout"/>
<repopackage name="screen"/>
<repopackage name="sdbootutil"/>
<repopackage name="sdbootutil-rpm-scriptlets"/>
openSUSE-cd-mini-x86_64.kiwi: same change
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.LZGnqg/_old 2023-12-06 19:06:47.497878556 +0100
+++ /var/tmp/diff_new_pack.LZGnqg/_new 2023-12-06 19:06:47.501878704 +0100
@@ -3510,7 +3510,6 @@
<repopackage name="python3-salt"/>
<repopackage name="python3-smbios"/>
<repopackage name="python3-smbios-utils"/>
- <repopackage name="python3-solv"/>
<repopackage name="python3-speechd"/>
<repopackage name="python3-talloc"/>
<repopackage name="python3-talloc-x86-64-v3"/>
@@ -4112,7 +4111,6 @@
<repopackage name="sazanami-fonts"/>
<repopackage name="sbc"/>
<repopackage name="sbl"/>
- <repopackage name="scout"/>
<repopackage name="screen"/>
<repopackage name="sdbootutil"/>
<repopackage name="sdbootutil-rpm-scriptlets"/>
openSUSE-ftp-ftp-x86_64.kiwi: same change
stub.kiwi: same change
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.LZGnqg/_old 2023-12-06 19:06:47.641883859 +0100
+++ /var/tmp/diff_new_pack.LZGnqg/_new 2023-12-06 19:06:47.649884153 +0100
@@ -3461,7 +3461,6 @@
<package name="python3-salt" supportstatus="unsupported"/> <!-- reason: dvd:salt-master -->
<package name="python3-smbios" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
<package name="python3-smbios-utils" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
- <package name="python3-solv" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
<package name="python3-speechd" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="python3-talloc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
<package name="python3-talloc-x86-64-v3" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_dvd -->
@@ -4063,7 +4062,6 @@
<package name="sazanami-fonts" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="sbc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="sbl" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
- <package name="scout" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
<package name="screen" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
<package name="sdbootutil" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
<package name="sdbootutil-rpm-scriptlets" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
++++++ opensuse_microos.group ++++++
--- /var/tmp/diff_new_pack.LZGnqg/_old 2023-12-06 19:06:47.713886509 +0100
+++ /var/tmp/diff_new_pack.LZGnqg/_new 2023-12-06 19:06:47.717886657 +0100
@@ -2372,7 +2372,6 @@
<package name="python3-ldb" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="python3-louis" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="python3-policycoreutils" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
- <package name="python3-solv" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
<package name="python3-speechd" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="python3-talloc" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="python3-tdb" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
@@ -2550,7 +2549,6 @@
<package name="sasl2-kdexoauth2" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
<package name="sazanami-fonts" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="sbc" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
- <package name="scout" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
<package name="screen" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
<package name="sdbootutil" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
<package name="sdbootutil-rpm-scriptlets" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-onlyDVD -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.LZGnqg/_old 2023-12-06 19:06:47.761888277 +0100
+++ /var/tmp/diff_new_pack.LZGnqg/_new 2023-12-06 19:06:47.769888571 +0100
@@ -22534,6 +22534,7 @@
- python3-shiboken6
- python3-shiboken6-devel
- python3-smbus
+ - python3-solv
- python3-spglib
- python3-sphinxbase
- python3-sphinxbase5
@@ -34344,6 +34345,7 @@
- scotch_6_1_0-gnu-hpc
- scotch_6_1_0-gnu-hpc-devel
- scotch_6_1_0-gnu-hpc-devel-static
+ - scout
- scout-command-not-found
- scream
- screen-message
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package patterns-base for openSUSE:Factory checked in at 2023-12-06 18:15:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-base (Old)
and /work/SRC/openSUSE:Factory/.patterns-base.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-base"
Wed Dec 6 18:15:10 2023 rev:100 rq: version:20200505
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-base/patterns-base.changes 2023-11-02 20:20:07.796877370 +0100
+++ /work/SRC/openSUSE:Factory/.patterns-base.new.25432/patterns-base.changes 2023-12-06 18:15:11.107758572 +0100
@@ -1,0 +2,6 @@
+Wed Dec 6 17:14:31 UTC 2023 - Dominique Leuenberger <dleuenberger(a)suse.com>
+
+- Remove scout: the cnf handler has been rewritten in rust and no
+ longer relies on scout/python.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-base.spec ++++++
--- /var/tmp/diff_new_pack.qKxcwf/_old 2023-12-06 18:15:12.087794665 +0100
+++ /var/tmp/diff_new_pack.qKxcwf/_new 2023-12-06 18:15:12.091794812 +0100
@@ -420,8 +420,6 @@
# fuser (psmisc) by default (#304694)
Recommends: psmisc
Recommends: rsync
-# Bug 424707 - Feature "Command not found" for openSUSE by default
-Recommends: scout
Recommends: screen
Recommends: sed
Recommends: sg3_utils
@@ -444,7 +442,6 @@
Suggests: cpupower
# #437252
Suggests: pam_ssh
-Suggests: scout-command-not-found
Suggests: xfsprogs
Suggests: zip
%{obsolete_legacy_pattern enhanced_base}
@@ -846,6 +843,7 @@
Requires: xkeyboard-config
Requires: xorg-x11-essentials
Recommends: cabextract
+# Bug 424707 - Feature "Command not found" for openSUSE by default
Recommends: command-not-found
Recommends: dbus-1-glib
Recommends: dbus-1-x11
++++++ pattern-definition-32bit.txt ++++++
--- /var/tmp/diff_new_pack.qKxcwf/_old 2023-12-06 18:15:12.147796875 +0100
+++ /var/tmp/diff_new_pack.qKxcwf/_new 2023-12-06 18:15:12.151797022 +0100
@@ -144,7 +144,6 @@
Recommends: plymouth-32bit
Recommends: psmisc-32bit
Recommends: rsync-32bit
-Recommends: scout-32bit
Recommends: screen-32bit
Recommends: sed-32bit
Recommends: sg3_utils-32bit
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package livecd-openSUSE for openSUSE:Factory checked in at 2023-12-06 14:50:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/livecd-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.livecd-openSUSE.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "livecd-openSUSE"
Wed Dec 6 14:50:53 2023 rev:216 rq: version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/livecd-openSUSE/livecd-openSUSE.changes 2023-12-01 09:03:14.739764777 +0100
+++ /work/SRC/openSUSE:Factory/.livecd-openSUSE.new.25432/livecd-openSUSE.changes 2023-12-06 14:50:55.175941184 +0100
@@ -1,0 +2,12 @@
+Wed Dec 6 13:41:48 UTC 2023 - Dominique Leuenberger <dleuenberger(a)suse.com>
+
+- list-common.sh: ignore patterns-base-documentation. This makes
+ the Live CD a little bit smaller again, as it no longer includes
+ + cryptsetup-doc
+ + coreutils-doc (was explicitly ignored already; cleaned up)
+ + bash-doc (was explicitly ignored already; cleaned up)
+ + readline-doc (was explicitly ignored already; cleaned up)
+ + info-std
+ + systemd-doc (was explicitly ignored already; cleaned up)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ livecd-leap-gnome.kiwi ++++++
--- /var/tmp/diff_new_pack.IKnLtA/_old 2023-12-06 14:50:56.804001321 +0100
+++ /var/tmp/diff_new_pack.IKnLtA/_new 2023-12-06 14:50:56.812001616 +0100
@@ -129,6 +129,8 @@
<ignore name="patterns-gnome-gnome_office_opt"/>
<package name="aaa_base" replaces="patterns-base-apparmor_opt"/>
<ignore name="patterns-base-apparmor_opt"/>
+ <package name="aaa_base" replaces="patterns-base-documentation"/>
+ <ignore name="patterns-base-documentation"/>
<package name="aaa_base" replaces="patterns-base-enhanced_base_opt"/>
<ignore name="patterns-base-enhanced_base_opt"/>
<package name="aaa_base" replaces="patterns-fonts-fonts_opt"/>
livecd-leap-kde.kiwi: same change
livecd-leap-x11.kiwi: same change
livecd-leap-xfce.kiwi: same change
++++++ livecd-tumbleweed-gnome.kiwi ++++++
--- /var/tmp/diff_new_pack.IKnLtA/_old 2023-12-06 14:50:56.932006049 +0100
+++ /var/tmp/diff_new_pack.IKnLtA/_new 2023-12-06 14:50:56.936006197 +0100
@@ -129,6 +129,8 @@
<ignore name="patterns-gnome-gnome_office_opt"/>
<package name="aaa_base" replaces="patterns-base-apparmor_opt"/>
<ignore name="patterns-base-apparmor_opt"/>
+ <package name="aaa_base" replaces="patterns-base-documentation"/>
+ <ignore name="patterns-base-documentation"/>
<package name="aaa_base" replaces="patterns-base-enhanced_base_opt"/>
<ignore name="patterns-base-enhanced_base_opt"/>
<package name="aaa_base" replaces="patterns-fonts-fonts_opt"/>
livecd-tumbleweed-kde.kiwi: same change
livecd-tumbleweed-x11.kiwi: same change
livecd-tumbleweed-xfce.kiwi: same change
++++++ list-common.sh ++++++
--- /var/tmp/diff_new_pack.IKnLtA/_old 2023-12-06 14:50:57.092011959 +0100
+++ /var/tmp/diff_new_pack.IKnLtA/_new 2023-12-06 14:50:57.092011959 +0100
@@ -34,6 +34,7 @@
buildignore patterns-gnome-gnome_imaging_opt
buildignore patterns-gnome-gnome_office_opt
buildignore patterns-base-apparmor_opt
+buildignore patterns-base-documentation
buildignore patterns-base-enhanced_base_opt
buildignore patterns-fonts-fonts_opt
buildignore patterns-desktop-imaging_opt
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package livecd-openSUSE for openSUSE:Factory checked in at 2023-12-06 11:30:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/livecd-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.livecd-openSUSE.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "livecd-openSUSE"
Wed Dec 6 11:30:46 2023 rev:215 rq: version:unknown
Changes:
--------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ livecd-leap-gnome.kiwi ++++++
--- /var/tmp/diff_new_pack.5FK3Xp/_old 2023-12-06 11:30:49.217356746 +0100
+++ /var/tmp/diff_new_pack.5FK3Xp/_new 2023-12-06 11:30:49.221356893 +0100
@@ -522,6 +522,8 @@
<ignore name="myspell-en_US"/>
<package name="aaa_base" replaces="orca"/>
<ignore name="orca"/>
+ <package name="aaa_base" replaces="patterns-gnome-gnome_games"/>
+ <ignore name="patterns-gnome-gnome_games"/>
<package name="aaa_base" replaces="gnome-software"/>
<ignore name="gnome-software"/>
<package name="aaa_base" replaces="gnome-control-center-color"/>
livecd-leap-x11.kiwi: same change
livecd-leap-xfce.kiwi: same change
livecd-openSUSE.kiwi: same change
++++++ livecd-tumbleweed-gnome.kiwi ++++++
--- /var/tmp/diff_new_pack.5FK3Xp/_old 2023-12-06 11:30:49.329360874 +0100
+++ /var/tmp/diff_new_pack.5FK3Xp/_new 2023-12-06 11:30:49.333361021 +0100
@@ -513,6 +513,8 @@
<ignore name="myspell-en_US"/>
<package name="aaa_base" replaces="orca"/>
<ignore name="orca"/>
+ <package name="aaa_base" replaces="patterns-gnome-gnome_games"/>
+ <ignore name="patterns-gnome-gnome_games"/>
<package name="aaa_base" replaces="gnome-software"/>
<ignore name="gnome-software"/>
<package name="aaa_base" replaces="gnome-control-center-color"/>
livecd-tumbleweed-x11.kiwi: same change
livecd-tumbleweed-xfce.kiwi: same change
++++++ list-gnome.sh ++++++
--- /var/tmp/diff_new_pack.5FK3Xp/_old 2023-12-06 11:30:49.521367950 +0100
+++ /var/tmp/diff_new_pack.5FK3Xp/_new 2023-12-06 11:30:49.525368098 +0100
@@ -40,6 +40,7 @@
buildignore ghostscript
buildignore myspell-en_US
buildignore orca
+buildignore patterns-gnome-gnome_games
# gnome-software is a nice software center, but on the live medium only of limited use
buildignore gnome-software
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package livecd-openSUSE for openSUSE:Factory checked in at 2023-12-06 09:32:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/livecd-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.livecd-openSUSE.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "livecd-openSUSE"
Wed Dec 6 09:32:21 2023 rev:214 rq: version:unknown
Changes:
--------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
livecd-leap-kde.kiwi: same change
livecd-leap-x11.kiwi: same change
livecd-leap-xfce.kiwi: same change
livecd-openSUSE.kiwi: same change
livecd-tumbleweed-gnome.kiwi: same change
livecd-tumbleweed-kde.kiwi: same change
livecd-tumbleweed-x11.kiwi: same change
livecd-tumbleweed-xfce.kiwi: same change
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.i3SzwQ/_old 2023-12-06 09:32:25.023707368 +0100
+++ /var/tmp/diff_new_pack.i3SzwQ/_new 2023-12-06 09:32:25.027707515 +0100
@@ -145,11 +145,10 @@
zypper rl $(seq 1 $(zypper ll | wc -l))
#======================================
-# /etc/sudoers hack to fix #297695
+# sudoers hack to fix #297695
# (Installation Live CD: no need to ask for password of root)
#--------------------------------------
-sed -i -e "s/ALL ALL=(ALL) ALL/ALL ALL=(ALL) NOPASSWD: ALL/" /etc/sudoers
-chmod 0440 /etc/sudoers
+echo "ALL ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/50-livecd
/usr/sbin/useradd -m -u 1000 linux -c "Live-CD User" -p ""
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2023-12-05 21:04:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Tue Dec 5 21:04:22 2023 rev:2390 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_3827.2.packages.zst
factory_20231204.packages.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2023-12-05 19:06:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Tue Dec 5 19:06:23 2023 rev:2628 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
MicroOS-release.spec: same change
openSUSE-Addon-NonOss-release.spec: same change
openSUSE-release.spec: same change
stub.spec: same change
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.TygyGR/_old 2023-12-05 19:06:26.421597809 +0100
+++ /var/tmp/diff_new_pack.TygyGR/_new 2023-12-05 19:06:26.433598250 +0100
@@ -16932,6 +16932,8 @@
Provides: weakremover(libweston-10-0)
Provides: weakremover(libweston-11)
Provides: weakremover(libweston-11-0)
+Provides: weakremover(libweston-12)
+Provides: weakremover(libweston-12-0)
Provides: weakremover(libweston-2)
Provides: weakremover(libweston-2-0)
Provides: weakremover(libweston-3)
@@ -37702,6 +37704,8 @@
Provides: weakremover(servius)
Provides: weakremover(servletapi3)
Provides: weakremover(servletapi3-javadoc)
+Provides: weakremover(sesdev)
+Provides: weakremover(sesdev-qa)
Provides: weakremover(setools-devel)
Provides: weakremover(setools-java)
Provides: weakremover(setools-libs)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2023-12-05 17:41:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Tue Dec 5 17:41:25 2023 rev:2627 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.ztDhPz/_old 2023-12-05 17:41:28.781620502 +0100
+++ /var/tmp/diff_new_pack.ztDhPz/_new 2023-12-05 17:41:28.785620649 +0100
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20231204
+Version: 20231205
Release: 0
Summary: openSUSE Aeon
License: GPL-2.0-or-later
@@ -172,9 +172,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Aeon
-Provides: product(Aeon) = 20231204-0
+Provides: product(Aeon) = 20231205-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231204
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231205
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Aeon)
@@ -190,7 +190,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Aeon) = 20231204-0
+Provides: product_flavor(Aeon) = 20231205-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -255,11 +255,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20231204</version>
+ <version>20231205</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20231204</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20231205</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.ztDhPz/_old 2023-12-05 17:41:28.809621533 +0100
+++ /var/tmp/diff_new_pack.ztDhPz/_new 2023-12-05 17:41:28.809621533 +0100
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20231204
+Version: 20231205
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -177,9 +177,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = MicroOS
-Provides: product(MicroOS) = 20231204-0
+Provides: product(MicroOS) = 20231205-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231204
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231205
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(MicroOS)
@@ -195,7 +195,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(MicroOS) = 20231204-0
+Provides: product_flavor(MicroOS) = 20231205-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description dvd
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(MicroOS) = 20231204-0
+Provides: product_flavor(MicroOS) = 20231205-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -276,11 +276,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20231204</version>
+ <version>20231205</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20231204</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20231205</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.ztDhPz/_old 2023-12-05 17:41:28.833622418 +0100
+++ /var/tmp/diff_new_pack.ztDhPz/_new 2023-12-05 17:41:28.833622418 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20231204)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20231205)
#
# Copyright (c) 2023 openSUSE.
#
@@ -16,7 +16,7 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon%{?betaversion: %{betaversion}}
-Version: 20231204
+Version: 20231205
#!BcntSyncTag: openSUSE-Addon-NonOss
Release: 0
License: BSD-3-Clause
@@ -25,9 +25,9 @@
Provides: %name-%version
Provides: product() = openSUSE%2DAddon%2DNonOss
-Provides: product(openSUSE-Addon-NonOss) = 20231204-0
+Provides: product(openSUSE-Addon-NonOss) = 20231205-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231204
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231205
AutoReqProv: on
@@ -50,10 +50,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231204</version>
+ <version>20231205</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231204</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231205</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.ztDhPz/_old 2023-12-05 17:41:28.853623154 +0100
+++ /var/tmp/diff_new_pack.ztDhPz/_new 2023-12-05 17:41:28.857623302 +0100
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20231204
+Version: 20231205
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -181,7 +181,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20231204-0
+Provides: product(openSUSE) = 20231205-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -195,7 +195,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231204
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231205
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -209,7 +209,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -224,7 +224,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -239,7 +239,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -254,7 +254,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -269,7 +269,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -284,7 +284,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -299,7 +299,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -314,7 +314,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -329,7 +329,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -344,7 +344,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -359,7 +359,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -374,7 +374,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -389,7 +389,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -404,7 +404,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -419,7 +419,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -434,7 +434,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -449,7 +449,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -464,7 +464,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -479,7 +479,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20231204-0
+Provides: product_flavor(openSUSE) = 20231205-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -559,10 +559,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231204</version>
+ <version>20231205</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20231204</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20231205</cpeid>
<productline>openSUSE</productline>
<register>
<target>openSUSE-Tumbleweed-x86_64</target>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package objenesis for openSUSE:Factory checked in at 2023-12-05 17:04:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/objenesis (Old)
and /work/SRC/openSUSE:Factory/.objenesis.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "objenesis"
Tue Dec 5 17:04:36 2023 rev:6 rq:1130966 version:3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/objenesis/objenesis.changes 2022-03-24 22:59:59.268365645 +0100
+++ /work/SRC/openSUSE:Factory/.objenesis.new.25432/objenesis.changes 2023-12-05 17:04:50.780752833 +0100
@@ -1,0 +2,13 @@
+Tue Dec 5 09:54:15 UTC 2023 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- update to upstream version 3.3
+ * org.objenesis:objenesis-test missing in Maven Central (#85)
+ * added instructions for running Android TCK for Windows users (#84)
+ * Copyright and Owner is missing in license (#83)
+
+- update to upstream version 3.2
+ * Add Dependencies Manifest Entry (#81)
+ * Objenesis can't be compiled on Android SDK < 26 (#79)
+ * PercClassLoader misspelled in pom.xml (#76)
+
+-------------------------------------------------------------------
Old:
----
3.1.tar.gz
New:
----
3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ objenesis.spec ++++++
--- /var/tmp/diff_new_pack.leTBD9/_old 2023-12-05 17:04:51.252770232 +0100
+++ /var/tmp/diff_new_pack.leTBD9/_new 2023-12-05 17:04:51.256770379 +0100
@@ -1,7 +1,7 @@
#
# spec file for package objenesis
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2000-2009, JPackage Project
#
# All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
%global major 3
-%global minor 1
+%global minor 3
%global micro 0
%global fullversion %{major}.%{minor}.%{micro}
%global specversion %{major}.%{minor}
++++++ 3.1.tar.gz -> 3.3.tar.gz ++++++
++++ 6905 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package lv2-airwindows for openSUSE:Factory checked in at 2023-12-05 17:04:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lv2-airwindows (Old)
and /work/SRC/openSUSE:Factory/.lv2-airwindows.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lv2-airwindows"
Tue Dec 5 17:04:30 2023 rev:5 rq:1130968 version:26.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/lv2-airwindows/lv2-airwindows.changes 2023-09-20 13:26:42.997329650 +0200
+++ /work/SRC/openSUSE:Factory/.lv2-airwindows.new.25432/lv2-airwindows.changes 2023-12-05 17:04:47.468630746 +0100
@@ -1,0 +2,7 @@
+Tue Dec 5 11:22:48 UTC 2023 - Hannes Braun <apple.hannes(a)gmail.com>
+
+- Update to new upstream release 26.2
+ * New plugins: BassAmp, BassDrive, BassKit, BigAmp, Cabs, FireAmp, Flipity,
+ GrindAmp, LeadAmp, MidAmp, ResEQ, ResEQ2, Sinew
+
+-------------------------------------------------------------------
Old:
----
lv2-airwindows-24.0.tar.gz
New:
----
lv2-airwindows-26.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lv2-airwindows.spec ++++++
--- /var/tmp/diff_new_pack.fijfZa/_old 2023-12-05 17:04:47.944648292 +0100
+++ /var/tmp/diff_new_pack.fijfZa/_new 2023-12-05 17:04:47.944648292 +0100
@@ -18,7 +18,7 @@
Name: lv2-airwindows
-Version: 24.0
+Version: 26.2
Release: 0
Summary: LV2 port of the Airwindows plugins
License: MIT
@@ -34,7 +34,7 @@
This is an LV2 port (by Hannes Braun) of the Airwindows plugins
originally developed by Chris Johnson.
-Right now, only 115 plugins (out of 362) have been ported to LV2.
+Right now, only 128 plugins (out of 362) have been ported to LV2.
%prep
%setup -q
++++++ lv2-airwindows-24.0.tar.gz -> lv2-airwindows-26.2.tar.gz ++++++
++++ 12808 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package netdata for openSUSE:Factory checked in at 2023-12-05 17:04:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netdata (Old)
and /work/SRC/openSUSE:Factory/.netdata.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netdata"
Tue Dec 5 17:04:23 2023 rev:44 rq:1130959 version:1.43.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/netdata/netdata.changes 2023-11-07 21:26:54.652734086 +0100
+++ /work/SRC/openSUSE:Factory/.netdata.new.25432/netdata.changes 2023-12-05 17:04:44.660527238 +0100
@@ -1,0 +2,6 @@
+Mon Nov 13 11:23:56 UTC 2023 - Andreas Schwab <schwab(a)suse.de>
+
+- XEN only exists on x86 and aarch64
+- Enable freeipmi plugin everywhere
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netdata.spec ++++++
--- /var/tmp/diff_new_pack.X6xMRr/_old 2023-12-05 17:04:45.732566754 +0100
+++ /var/tmp/diff_new_pack.X6xMRr/_new 2023-12-05 17:04:45.736566902 +0100
@@ -74,7 +74,7 @@
%else
BuildRequires: python311
%endif
-%ifnarch ppc64 ppc64le armv7l s390x
+%ifarch %ix86 x86_64 aarch64
BuildRequires: pkgconfig(xenstat)
%endif
%if 0%{?suse_version} > 1550
@@ -86,9 +86,7 @@
Recommends: python311-PyMySQL
Recommends: python311-psycopg2
%endif
-%ifarch i586 x86_64
BuildRequires: pkgconfig(libipmimonitoring)
-%endif
%description
Netdata is a system for distributed real-time performance and
@@ -111,7 +109,6 @@
%files plugin-cups
%attr(0750,root,%{netdata_user}) %{_libexecdir}/%{name}/plugins.d/cups.plugin
-%ifarch i586 x86_64
%package plugin-freeipmi
Summary: The FreeIPMI metrics collection plugin for the Netdata Agent
Enhances: freeipmi
@@ -128,7 +125,6 @@
%files plugin-freeipmi
%attr(0750,root,%{netdata_user}) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
-%endif
%package plugin-nfacct
Summary: The NFACCT metrics collection plugin for the Netdata Agent
@@ -311,9 +307,7 @@
%configure \
--docdir="%{_docdir}/%{name}-%{version}" \
--enable-plugin-nfacct \
-%ifarch i586 x86_64
--enable-plugin-freeipmi \
-%endif
--enable-plugin-cups \
--with-math \
--with-user=%{netdata_user} \
@@ -403,7 +397,7 @@
%{_libexecdir}/%{name}/plugins.d/ioping.plugin
%{_libexecdir}/%{name}/plugins.d/local-listeners
%{_libexecdir}/%{name}/plugins.d/loopsleepms.sh.inc
-%ifnarch ppc64 ppc64le armv7l s390x
+%ifarch %ix86 x86_64 aarch64
%{_libexecdir}/%{name}/plugins.d/xenstat.plugin
%endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package frr for openSUSE:Factory checked in at 2023-12-05 17:04:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frr (Old)
and /work/SRC/openSUSE:Factory/.frr.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frr"
Tue Dec 5 17:04:21 2023 rev:28 rq:1130955 version:8.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/frr/frr.changes 2023-10-31 20:26:45.176261043 +0100
+++ /work/SRC/openSUSE:Factory/.frr.new.25432/frr.changes 2023-12-05 17:04:43.368479613 +0100
@@ -1,0 +2,18 @@
+Mon Dec 4 09:11:46 UTC 2023 - Marius Tomaschewski <mt(a)suse.com>
+
+- Apply upstream fix for a crash on malformed BGP UPDATE message
+ with an EOR, because the presence of EOR does not lead to a
+ treat-as-withdraw outcome (CVE-2023-47235,1216896,https://github.com/FRRouting/frr/pull/14716/commits/…)
+ [+ 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch]
+- Apply upstream fix for a crash on crafted BGP UPDATE message with
+ a MP_UNREACH_NLRI attribute and additional NLRI data (CVE-2023-47234,
+ bsc#1216897,ttps://github.com/FRRouting/frr/pull/14716/commits/c37119df45bb…)
+ [+ 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch]
+- Apply upstream fix for attempts to read beyond the end of the
+ stream during labeled unicast parsing (CVE-2023-38407,bsc#1216899,https://github.com/FRRouting/frr/pull/12956/comm…)
+ [+ 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch]
+- Apply upstream fix for an nlri length of zero mishandling, aka
+ "flowspec overflow" (CVE-2023-38406,bsc#1216900,https://github.com/FRRouting/frr/pull/12884/comm…)
+ [+ 0018-bgpd-Flowspec-overflow-issue.patch]
+
+-------------------------------------------------------------------
New:
----
0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch
0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch
0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch
0018-bgpd-Flowspec-overflow-issue.patch
BETA DEBUG BEGIN:
New: treat-as-withdraw outcome (CVE-2023-47235,1216896,https://github.com/FRRouting/frr/pull/14716/commits/…)
[+ 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch]
- Apply upstream fix for a crash on crafted BGP UPDATE message with
New: bsc#1216897,ttps://github.com/FRRouting/frr/pull/14716/commits/c37119df45bb…)
[+ 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch]
- Apply upstream fix for attempts to read beyond the end of the
New: stream during labeled unicast parsing (CVE-2023-38407,bsc#1216899,https://github.com/FRRouting/frr/pull/12956/comm…)
[+ 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch]
- Apply upstream fix for an nlri length of zero mishandling, aka
New: "flowspec overflow" (CVE-2023-38406,bsc#1216900,https://github.com/FRRouting/frr/pull/12884/comm…)
[+ 0018-bgpd-Flowspec-overflow-issue.patch]
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ frr.spec ++++++
--- /var/tmp/diff_new_pack.nGs4G5/_old 2023-12-05 17:04:44.388517212 +0100
+++ /var/tmp/diff_new_pack.nGs4G5/_new 2023-12-05 17:04:44.388517212 +0100
@@ -53,6 +53,10 @@
Patch12: 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch
Patch13: 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch
Patch14: 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch
+Patch15: 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch
+Patch16: 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch
+Patch17: 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch
+Patch18: 0018-bgpd-Flowspec-overflow-issue.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison >= 2.7
@@ -204,6 +208,10 @@
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
%build
# GCC LTO objects must be "fat" to avoid assembly errors
++++++ 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch ++++++
From fcd12ca92baf2be4b191ddc3d3021c276c635930 Mon Sep 17 00:00:00 2001
From: Donatas Abraitis <donatas(a)opensourcerouting.org>
Date: Fri, 27 Oct 2023 11:56:45 +0300
Subject: [PATCH] bgpd: Treat EOR as withdrawn to avoid unwanted handling of
malformed attrs
Upstream: yes
CVE-2023-47235,bsc#1216896,https://github.com/FRRouting/frr/pull/14716/comm…
Treat-as-withdraw, otherwise if we just ignore it, we will pass it to be
processed as a normal UPDATE without mandatory attributes, that could lead
to harmful behavior. In this case, a crash for route-maps with the configuration
such as:
```
router bgp 65001
no bgp ebgp-requires-policy
neighbor 127.0.0.1 remote-as external
neighbor 127.0.0.1 passive
neighbor 127.0.0.1 ebgp-multihop
neighbor 127.0.0.1 disable-connected-check
neighbor 127.0.0.1 update-source 127.0.0.2
neighbor 127.0.0.1 timers 3 90
neighbor 127.0.0.1 timers connect 1
!
address-family ipv4 unicast
neighbor 127.0.0.1 addpath-tx-all-paths
neighbor 127.0.0.1 default-originate
neighbor 127.0.0.1 route-map RM_IN in
exit-address-family
exit
!
route-map RM_IN permit 10
set as-path prepend 200
exit
```
Send a malformed optional transitive attribute:
```
import socket
import time
OPEN = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
b"\xff\xff\x00\x62\x01\x04\xfd\xea\x00\x5a\x0a\x00\x00\x01\x45\x02"
b"\x06\x01\x04\x00\x01\x00\x01\x02\x02\x02\x00\x02\x02\x46\x00\x02"
b"\x06\x41\x04\x00\x00\xfd\xea\x02\x02\x06\x00\x02\x06\x45\x04\x00"
b"\x01\x01\x03\x02\x0e\x49\x0c\x0a\x64\x6f\x6e\x61\x74\x61\x73\x2d"
b"\x70\x63\x00\x02\x04\x40\x02\x00\x78\x02\x09\x47\x07\x00\x01\x01"
b"\x80\x00\x00\x00")
KEEPALIVE = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
b"\xff\xff\xff\xff\xff\xff\x00\x13\x04")
UPDATE = bytearray.fromhex("ffffffffffffffffffffffffffffffff002b0200000003c0ff00010100eb00ac100b0b001ad908ac100b0b")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.2', 179))
s.send(OPEN)
data = s.recv(1024)
s.send(KEEPALIVE)
data = s.recv(1024)
s.send(UPDATE)
data = s.recv(1024)
time.sleep(100)
s.close()
```
Reported-by: Iggy Frankovic <iggyfran(a)amazon.com>
Signed-off-by: Donatas Abraitis <donatas(a)opensourcerouting.org>
Signed-off-by: Marius Tomaschewski <mt(a)suse.com>
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
index 42a2342f6f..fc92dbb326 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -3104,10 +3104,13 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
uint8_t type = 0;
/* BGP Graceful-Restart End-of-RIB for IPv4 unicast is signaled as an
- * empty UPDATE. */
+ * empty UPDATE. Treat-as-withdraw, otherwise if we just ignore it,
+ * we will pass it to be processed as a normal UPDATE without mandatory
+ * attributes, that could lead to harmful behavior.
+ */
if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag &&
!length)
- return BGP_ATTR_PARSE_PROCEED;
+ return BGP_ATTR_PARSE_WITHDRAW;
/* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
to carry any other path attributes.", though if MP_REACH_NLRI or NLRI
@@ -3532,7 +3535,13 @@ done:
aspath_unintern(&as4_path);
transit = bgp_attr_get_transit(attr);
- if (ret != BGP_ATTR_PARSE_ERROR) {
+ /* If we received an UPDATE with mandatory attributes, then
+ * the unrecognized transitive optional attribute of that
+ * path MUST be passed. Otherwise, it's an error, and from
+ * security perspective it might be very harmful if we continue
+ * here with the unrecognized attributes.
+ */
+ if (ret == BGP_ATTR_PARSE_PROCEED) {
/* Finally intern unknown attribute. */
if (transit)
bgp_attr_set_transit(attr, transit_intern(transit));
--
2.35.3
++++++ 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch ++++++
From 4e39893cfb2d4dbc13fa6d6a25bbf623ed14a4fb Mon Sep 17 00:00:00 2001
From: Donatas Abraitis <donatas(a)opensourcerouting.org>
Date: Sun, 29 Oct 2023 22:44:45 +0200
Subject: [PATCH] bgpd: Ignore handling NLRIs if we received MP_UNREACH_NLRI
Upstream: yes
CVE-2023-47234,bsc#1216897,https://github.com/FRRouting/frr/pull/14716/comm…
If we receive MP_UNREACH_NLRI, we should stop handling remaining NLRIs if
no mandatory path attributes received.
In other words, if MP_UNREACH_NLRI received, the remaining NLRIs should be handled
as a new data, but without mandatory attributes, it's a malformed packet.
In normal case, this MUST not happen at all, but to avoid crashing bgpd, we MUST
handle that.
Reported-by: Iggy Frankovic <iggyfran(a)amazon.com>
Signed-off-by: Donatas Abraitis <donatas(a)opensourcerouting.org>
Signed-off-by: Marius Tomaschewski <mt(a)suse.com>
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
index fc92dbb326..ae0f052c42 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -3112,15 +3112,6 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
!length)
return BGP_ATTR_PARSE_WITHDRAW;
- /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
- to carry any other path attributes.", though if MP_REACH_NLRI or NLRI
- are present, it should. Check for any other attribute being present
- instead.
- */
- if ((!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_REACH_NLRI)) &&
- CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_UNREACH_NLRI))))
- return BGP_ATTR_PARSE_PROCEED;
-
if (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_ORIGIN)))
type = BGP_ATTR_ORIGIN;
@@ -3139,6 +3130,16 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
&& !CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF)))
type = BGP_ATTR_LOCAL_PREF;
+ /* An UPDATE message that contains the MP_UNREACH_NLRI is not required
+ * to carry any other path attributes. Though if MP_REACH_NLRI or NLRI
+ * are present, it should. Check for any other attribute being present
+ * instead.
+ */
+ if (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_REACH_NLRI)) &&
+ CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_UNREACH_NLRI)))
+ return type ? BGP_ATTR_PARSE_MISSING_MANDATORY
+ : BGP_ATTR_PARSE_PROCEED;
+
/* If any of the well-known mandatory attributes are not present
* in an UPDATE message, then "treat-as-withdraw" MUST be used.
*/
diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
index 23767153b2..27708c0689 100644
--- a/bgpd/bgp_attr.h
+++ b/bgpd/bgp_attr.h
@@ -382,6 +382,7 @@ enum bgp_attr_parse_ret {
/* only used internally, send notify + convert to BGP_ATTR_PARSE_ERROR
*/
BGP_ATTR_PARSE_ERROR_NOTIFYPLS = -3,
+ BGP_ATTR_PARSE_MISSING_MANDATORY = -4,
};
struct bpacket_attr_vec_arr;
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 20c642190b..b175a26ab9 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -1951,7 +1951,12 @@ static int bgp_update_receive(struct peer *peer, bgp_size_t size)
/* Network Layer Reachability Information. */
update_len = end - stream_pnt(s);
- if (update_len && attribute_len) {
+ /* If we received MP_UNREACH_NLRI attribute, but also NLRIs, then
+ * NLRIs should be handled as a new data. Though, if we received
+ * NLRIs without mandatory attributes, they should be ignored.
+ */
+ if (update_len && attribute_len &&
+ attr_parse_ret != BGP_ATTR_PARSE_MISSING_MANDATORY) {
/* Set NLRI portion to structure. */
nlris[NLRI_UPDATE].afi = AFI_IP;
nlris[NLRI_UPDATE].safi = SAFI_UNICAST;
--
2.35.3
++++++ 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch ++++++
From 6979aa1574167121e260120504c77b47bb25230e Mon Sep 17 00:00:00 2001
From: Donald Sharp <sharpd(a)nvidia.com>
Date: Fri, 3 Mar 2023 21:58:33 -0500
Subject: [PATCH] bgpd: Fix use beyond end of stream of labeled unicast parsing
Upstream: yes
CVE-2023-38407,bsc#1216899,https://github.com/FRRouting/frr/pull/12956/comm…
Fixes a couple crashes associated with attempting to read
beyond the end of the stream.
Reported-by: Iggy Frankovic <iggyfran(a)amazon.com>
Signed-off-by: Donald Sharp <sharpd(a)nvidia.com>
(cherry picked from commit 7404a914b0cafe046703c8381903a80d3def8f8b)
Signed-off-by: Marius Tomaschewski <mt(a)suse.com>
diff --git a/bgpd/bgp_label.c b/bgpd/bgp_label.c
index 38f34a8927..64d1ff70ca 100644
--- a/bgpd/bgp_label.c
+++ b/bgpd/bgp_label.c
@@ -312,6 +312,9 @@ static int bgp_nlri_get_labels(struct peer *peer, uint8_t *pnt, uint8_t plen,
uint8_t llen = 0;
uint8_t label_depth = 0;
+ if (plen < BGP_LABEL_BYTES)
+ return 0;
+
for (; data < lim; data += BGP_LABEL_BYTES) {
memcpy(label, data, BGP_LABEL_BYTES);
llen += BGP_LABEL_BYTES;
@@ -374,6 +377,9 @@ int bgp_nlri_parse_label(struct peer *peer, struct attr *attr,
memcpy(&addpath_id, pnt, BGP_ADDPATH_ID_LEN);
addpath_id = ntohl(addpath_id);
pnt += BGP_ADDPATH_ID_LEN;
+
+ if (pnt >= lim)
+ return BGP_NLRI_PARSE_ERROR_PACKET_OVERFLOW;
}
/* Fetch prefix length. */
@@ -392,6 +398,15 @@ int bgp_nlri_parse_label(struct peer *peer, struct attr *attr,
/* Fill in the labels */
llen = bgp_nlri_get_labels(peer, pnt, psize, &label);
+ if (llen == 0) {
+ flog_err(
+ EC_BGP_UPDATE_RCV,
+ "%s [Error] Update packet error (wrong label length 0)",
+ peer->host);
+ bgp_notify_send(peer, BGP_NOTIFY_UPDATE_ERR,
+ BGP_NOTIFY_UPDATE_INVAL_NETWORK);
+ return BGP_NLRI_PARSE_ERROR_LABEL_LENGTH;
+ }
p.prefixlen = prefixlen - BSIZE(llen);
/* There needs to be at least one label */
--
2.35.3
++++++ 0018-bgpd-Flowspec-overflow-issue.patch ++++++
From d4ead6bc0b2f0d4682661837d202502127060476 Mon Sep 17 00:00:00 2001
From: Donald Sharp <sharpd(a)nvidia.com>
Date: Thu, 23 Feb 2023 13:29:32 -0500
Subject: [PATCH] bgpd: Flowspec overflow issue
Upstream: yes
CVE-2023-38406,bsc#1216900,https://github.com/FRRouting/frr/pull/12884/comm…
According to the flowspec RFC 8955 a flowspec nlri is <length, <nlri data>>
Specifying 0 as a length makes BGP get all warm on the inside. Which
in this case is not a good thing at all. Prevent warmth, stay cold
on the inside.
Reported-by: Iggy Frankovic <iggyfran(a)amazon.com>
Signed-off-by: Donald Sharp <sharpd(a)nvidia.com>
Signed-off-by: Marius Tomaschewski <mt(a)suse.com>
diff --git a/bgpd/bgp_flowspec.c b/bgpd/bgp_flowspec.c
index fe1f0d50f8..98ec1ed073 100644
--- a/bgpd/bgp_flowspec.c
+++ b/bgpd/bgp_flowspec.c
@@ -148,6 +148,13 @@ int bgp_nlri_parse_flowspec(struct peer *peer, struct attr *attr,
psize);
return BGP_NLRI_PARSE_ERROR_PACKET_OVERFLOW;
}
+
+ if (psize == 0) {
+ flog_err(EC_BGP_FLOWSPEC_PACKET,
+ "Flowspec NLRI length 0 which makes no sense");
+ return BGP_NLRI_PARSE_ERROR_PACKET_OVERFLOW;
+ }
+
if (bgp_fs_nlri_validate(pnt, psize, afi) < 0) {
flog_err(
EC_BGP_FLOWSPEC_PACKET,
--
2.35.3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-base for openSUSE:Factory checked in at 2023-12-05 17:04:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-base (Old)
and /work/SRC/openSUSE:Factory/.qt6-base.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-base"
Tue Dec 5 17:04:17 2023 rev:46 rq:1130954 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-base/qt6-base.changes 2023-12-04 22:59:35.771452699 +0100
+++ /work/SRC/openSUSE:Factory/.qt6-base.new.25432/qt6-base.changes 2023-12-05 17:04:41.376406184 +0100
@@ -1,0 +2,8 @@
+Mon Dec 4 19:11:49 UTC 2023 - Kacper Koniuszy <kacper.koniuszy(a)tuta.io>
+
+- Add upstream patch for a bug in QMimeDatabase that causes some
+ applications to hang:
+ * 0001-QMimeDatabase-handle-buggy-type-definitions.patch
+ * https://code.qt.io/cgit/qt/qtbase.git/commit/?id=54656da9ace06caf4a0eeb1832…
+
+-------------------------------------------------------------------
New:
----
0001-QMimeDatabase-handle-buggy-type-definitions.patch
BETA DEBUG BEGIN:
New: applications to hang:
* 0001-QMimeDatabase-handle-buggy-type-definitions.patch
* https://code.qt.io/cgit/qt/qtbase.git/commit/?id=54656da9ace06caf4a0eeb1832…
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-base.spec ++++++
--- /var/tmp/diff_new_pack.Dt8C29/_old 2023-12-05 17:04:42.148434641 +0100
+++ /var/tmp/diff_new_pack.Dt8C29/_new 2023-12-05 17:04:42.148434641 +0100
@@ -39,6 +39,7 @@
Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version…
Source99: qt6-base-rpmlintrc
# Patches 0-100 are upstream patches #
+Patch0: 0001-QMimeDatabase-handle-buggy-type-definitions.patch
# Patches 100-200 are openSUSE and/or non-upstream(able) patches #
Patch100: 0001-Tell-the-truth-about-private-API.patch
# No need to pollute the library dir with object files, install them in the qt6 subfolder
++++++ 0001-QMimeDatabase-handle-buggy-type-definitions.patch ++++++
From 54656da9ace06caf4a0eeb1832989c0ab211a4a0 Mon Sep 17 00:00:00 2001
From: Alex Henrie <alexhenrie24(a)gmail.com>
Date: Wed, 15 Nov 2023 09:36:06 -0700
Subject: QMimeDatabase: handle buggy type definitions with circular
inheritance
This fixes an infinite loop reported by a user who had both the
definition of text/javascript from shared-mime-info 2.3 and the
definition of text/javascript from shared-mime-info 2.4 installed at the
same time. In 2.3, text/javascript is a subtype of
application/ecmascript, but in 2.4 application/ecmascript is a subtype
of text/javascript. Having both at the same time resulted in circular
inheritance.
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/258#no…
[ChangeLog][QtCore][QMimeDatabase] Added code to detect and break
circular inheritance loops in the MIME data, which were causing infinite
loops
Pick-to: 6.6 6.5
Change-Id: Ic207b1593a49c7bb88e4fd810d8f88aa630087ce
Reviewed-by: Thiago Macieira <thiago.macieira(a)intel.com>
Reviewed-by: David Faure <david.faure(a)kdab.com>
---
src/corelib/mimetypes/qmimedatabase.cpp | 9 +++++++--
src/corelib/mimetypes/qmimetype.cpp | 7 +++++--
.../mimetypes/qmimedatabase/circular-inheritance.xml | 13 +++++++++++++
.../qmimedatabase/qmimedatabase-cache/CMakeLists.txt | 1 +
.../qmimedatabase/qmimedatabase-xml/CMakeLists.txt | 1 +
.../corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 8 ++++++++
6 files changed, 35 insertions(+), 4 deletions(-)
create mode 100644 tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml
diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp
index f06a434d55..eaeb079c97 100644
--- a/src/corelib/mimetypes/qmimedatabase.cpp
+++ b/src/corelib/mimetypes/qmimedatabase.cpp
@@ -10,6 +10,7 @@
#include "qmimeprovider_p.h"
#include "qmimetype_p.h"
+#include <private/qduplicatetracker_p.h>
#include <private/qfilesystementry_p.h>
#include <QtCore/QMap>
@@ -503,6 +504,7 @@ QList<QMimeType> QMimeDatabasePrivate::allMimeTypes()
bool QMimeDatabasePrivate::inherits(const QString &mime, const QString &parent)
{
const QString resolvedParent = resolveAlias(parent);
+ QDuplicateTracker<QString> seen;
std::stack<QString, QStringList> toCheck;
toCheck.push(mime);
while (!toCheck.empty()) {
@@ -511,8 +513,11 @@ bool QMimeDatabasePrivate::inherits(const QString &mime, const QString &parent)
const QString mimeName = toCheck.top();
toCheck.pop();
const auto parentList = parents(mimeName);
- for (const QString &par : parentList)
- toCheck.push(resolveAlias(par));
+ for (const QString &par : parentList) {
+ const QString resolvedPar = resolveAlias(par);
+ if (!seen.hasSeen(resolvedPar))
+ toCheck.push(resolvedPar);
+ }
}
return false;
}
diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp
index bed9e94364..ad3c484f30 100644
--- a/src/corelib/mimetypes/qmimetype.cpp
+++ b/src/corelib/mimetypes/qmimetype.cpp
@@ -325,14 +325,17 @@ QStringList QMimeType::parentMimeTypes() const
static void collectParentMimeTypes(const QString &mime, QStringList &allParents)
{
const QStringList parents = QMimeDatabasePrivate::instance()->mimeParents(mime);
+ QStringList newParents;
for (const QString &parent : parents) {
// I would use QSet, but since order matters I better not
- if (!allParents.contains(parent))
+ if (!allParents.contains(parent)) {
allParents.append(parent);
+ newParents.append(parent);
+ }
}
// We want a breadth-first search, so that the least-specific parent (octet-stream) is last
// This means iterating twice, unfortunately.
- for (const QString &parent : parents)
+ for (const QString &parent : newParents)
collectParentMimeTypes(parent, allParents);
}
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml b/tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml
new file mode 100644
index 0000000000..466f039803
--- /dev/null
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="application/ecmascript">
+ <comment>It's more accurate to say that ECMAScript is a subset of JavaScript</comment>
+ <sub-class-of type="text/javascript"/>
+ <glob pattern="*.js"/>
+ </mime-type>
+ <mime-type type="text/javascript">
+ <comment>than to say that JavaScript is a subset of ECMAScript</comment>
+ <sub-class-of type="application/ecmascript"/>
+ <glob pattern="*.js"/>
+ </mime-type>
+</mime-info>
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt
index 9a70666b07..a267640a50 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt
@@ -31,5 +31,6 @@ qt_internal_add_test(tst_qmimedatabase-cache
#)
set(testdata_resource_files
+ "../circular-inheritance.xml"
"../invalid-magic1.xml"
"../invalid-magic2.xml"
"../invalid-magic3.xml"
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt
index 205d3c362b..729ac3933a 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt
@@ -31,5 +31,6 @@ qt_internal_add_test(tst_qmimedatabase-xml
#)
set(testdata_resource_files
+ "../circular-inheritance.xml"
"../invalid-magic1.xml"
"../invalid-magic2.xml"
"../invalid-magic3.xml"
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
index 9bc3037c99..d7db4bb9bf 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
@@ -38,6 +38,7 @@
"invalid-magic2.xml",
"invalid-magic3.xml",
"magic-and-hierarchy.xml",
+ "circular-inheritance.xml",
0 };
static const auto s_resourcePrefix = ":/qt-project.org/qmime/"_L1;
@@ -388,6 +389,13 @@ void tst_QMimeDatabase::inheritance()
const QMimeType mswordTemplate = db.mimeTypeForName(QString::fromLatin1("application/msword-template"));
QVERIFY(mswordTemplate.isValid());
QVERIFY(mswordTemplate.inherits(QLatin1String("application/msword")));
+
+ // Check that buggy type definitions that have circular inheritance don't cause an infinite
+ // loop, especially when resolving a conflict between the file's name and its contents
+ const QMimeType ecmascript = db.mimeTypeForName(QString::fromLatin1("application/ecmascript"));
+ QVERIFY(ecmascript.allAncestors().contains("text/plain"));
+ const QMimeType javascript = db.mimeTypeForFileNameAndData("xml.js", "<?xml?>");
+ QVERIFY(javascript.inherits(QString::fromLatin1("text/javascript")));
}
void tst_QMimeDatabase::aliases()
--
cgit v1.2.3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tuned for openSUSE:Factory checked in at 2023-12-05 17:04:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tuned (Old)
and /work/SRC/openSUSE:Factory/.tuned.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tuned"
Tue Dec 5 17:04:16 2023 rev:35 rq:1130956 version:2.21.0.0+git.670541d
Changes:
--------
--- /work/SRC/openSUSE:Factory/tuned/tuned.changes 2023-09-26 22:15:07.085561585 +0200
+++ /work/SRC/openSUSE:Factory/.tuned.new.25432/tuned.changes 2023-12-05 17:04:40.424371091 +0100
@@ -1,0 +2,5 @@
+Mon Dec 04 11:28:35 CET 2023 - aschnell(a)suse.com
+
+- do not package inoperable plugins (bsc#1217758)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tuned.spec ++++++
--- /var/tmp/diff_new_pack.FZ80bt/_old 2023-12-05 17:04:41.164398369 +0100
+++ /var/tmp/diff_new_pack.FZ80bt/_new 2023-12-05 17:04:41.164398369 +0100
@@ -178,6 +178,8 @@
%install
%make_install TUNED_PROFILESDIR=%{profile_dir}
+# we do not have the python perf module (see bsc #1217758)
+rm %{buildroot}/%{python3_sitelib}/tuned/plugins/plugin_{scheduler,irqbalance}.py
%py3_compile %{buildroot}/%{python3_sitelib}
rm -rf %{buildroot}/%{_datadir}/doc
# Remove unwanted stuff instead of excluding them in files list
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yubikey-manager for openSUSE:Factory checked in at 2023-12-05 17:04:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yubikey-manager (Old)
and /work/SRC/openSUSE:Factory/.yubikey-manager.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yubikey-manager"
Tue Dec 5 17:04:09 2023 rev:22 rq:1130941 version:5.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/yubikey-manager/yubikey-manager.changes 2022-12-23 10:21:23.659443559 +0100
+++ /work/SRC/openSUSE:Factory/.yubikey-manager.new.25432/yubikey-manager.changes 2023-12-05 17:04:35.784200053 +0100
@@ -1,0 +2,57 @@
+Fri Dec 1 09:48:48 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 5.2.1:
+ * Add support for Python 3.12.
+ * OATH: detect and remove corrupted credentials.
+ * Bugfix: HSMAUTH: Fix order of CLI arguments.
+ * PIV: Support for compressed certificates.
+ * OpenPGP: Use InvalidPinError for wrong PIN.
+ * Add YubiHSM Auth application support.
+ * Improved API documentation.
+ * Scripting: Add name attribute to device.
+ * Bugfix: PIV: don't throw InvalidPasswordError on
+ malformed PEM private key.
+ * Bugfix: PIV: string representation of SLOT caused
+ infinite loop on Python <3.11.
+ * Bugfix: Fix errors in 'ykman config nfc' on YubiKeys
+ without NFC capability.
+ * Bugfix: Fix error message shown when invalid modhex input
+ length given for YubiOTP.
+ * Add OpenPGP functionality to supported API.
+ * Add PIV key info command to CLI.
+ * PIV: Support signing prehashed data via API.
+ * Bugfix: Fix signing PIV certificates/CSRs with key that
+ always requires PIN.
+ * Bugfix: Fix incorrect display name detection for certain
+ keys over NFC.
+ * Bugfix: Fix the interactive confirmation prompt for some
+ CLI commands.
+ * Bugfix: OpenPGP Signature PIN policy values were swapped.
+ * Bugfix: FIDO: Handle discoverable credentials that are
+ missing name or displayName.
+ * Add support for Python 3.11.
+ * Remove extra whitespace characters from CLI into command
+ output.
+ * Various cleanups and improvements to the API.
+ * Improvements to the handling of YubiKeys and connections.
+ * Command aliases for ykman 3.x (introduced in ykman 4.0)
+ have now been dropped.
+ * Installers for ykman are now provided for Windows (amd64)
+ and MacOS (universal2).
+ * Logging has been improved, and a new TRAFFIC level has
+ been introduced.
+ * The codebase has been improved for scripting usage,
+ either directly as a Python module, or via the new
+ "ykman script" command.
+ * PIV: Add support for dotted-string OIDs when parsing
+ RFC4514 strings.
+ * PIV: Drop support for signing certificates and CSRs with
+ SHA-1.
+ * FIDO: Credential management commands have been improved
+ to deal with ambiguity in certain cases.
+ * OATH: Access Keys ("remembered" passwords) are now stored
+ in the system keyring.
+ * OpenPGP: Commands have been added to manage PINs.
+- add keyring for offline validation
+
+-------------------------------------------------------------------
Old:
----
yubikey-manager-4.0.9.tar.gz
yubikey-manager-4.0.9.tar.gz.sig
New:
----
yubikey-manager.keyring
yubikey_manager-5.2.1.tar.gz
yubikey_manager-5.2.1.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yubikey-manager.spec ++++++
--- /var/tmp/diff_new_pack.vPcpRh/_old 2023-12-05 17:04:36.552228362 +0100
+++ /var/tmp/diff_new_pack.vPcpRh/_new 2023-12-05 17:04:36.556228510 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yubikey-manager
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,24 +17,27 @@
Name: yubikey-manager
-Version: 4.0.9
+Version: 5.2.1
Release: 0
Summary: Python 3 library and command line tool for configuring a YubiKey
License: BSD-2-Clause
Group: Productivity/Security
URL: https://developers.yubico.com/yubikey-manager/Releases
-Source0: https://developers.yubico.com/yubikey-manager/Releases/%{name}-%{version}.t…
-Source1: https://developers.yubico.com/yubikey-manager/Releases/%{name}-%{version}.t…
+Source0: https://developers.yubico.com/yubikey-manager/Releases/yubikey_manager-%{ve…
+Source1: https://developers.yubico.com/yubikey-manager/Releases/yubikey_manager-%{ve…
+Source2: yubikey-manager.keyring
BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: python3-click
BuildRequires: python3-cryptography >= 3.0
BuildRequires: python3-fido2 >= 0.9
BuildRequires: python3-pip
+BuildRequires: python3-poetry-core
BuildRequires: python3-pyscard
-BuildRequires: python3-setuptools
+BuildRequires: python3-wheel
# TEST DEPENDENCIES
BuildRequires: python3-pyOpenSSL
+BuildRequires: python3-keyring
BuildRequires: python3-makefun >= 1.9.5
BuildRequires: python3-pytest
%if 0%{?suse_version} <= 1540
@@ -45,6 +48,7 @@
Requires: python3-click
Requires: python3-cryptography
Requires: python3-fido2 >= 0.9
+Requires: python3-keyring
Requires: python3-pyscard
Recommends: python3-pyOpenSSL
Provides: python3-yubikey-manager
@@ -58,13 +62,13 @@
connection transports an programming various types of credentials.
%prep
-%autosetup -p1
+%autosetup -p1 -n yubikey_manager-%{version}
%build
-%python3_build
+%python3_pyproject_wheel
%install
-%python3_install
+%python3_pyproject_install
%fdupes %{buildroot}
install -Dpm0644 man/ykman.1 %{buildroot}%{_mandir}/man1/ykman.1
@@ -76,7 +80,7 @@
%doc NEWS*
%{_bindir}/ykman
%{python3_sitelib}/ykman
-%{python3_sitelib}/yubikey_manager-*.egg-info
+%{python3_sitelib}/yubikey_manager-%{version}.dist-info
%{python3_sitelib}/yubikit
%{_mandir}/man1/*
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package osc for openSUSE:Factory checked in at 2023-12-05 17:04:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/osc (Old)
and /work/SRC/openSUSE:Factory/.osc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osc"
Tue Dec 5 17:04:04 2023 rev:190 rq:1130938 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/osc/osc.changes 2023-12-04 23:02:37.234072707 +0100
+++ /work/SRC/openSUSE:Factory/.osc.new.25432/osc.changes 2023-12-05 17:04:32.808090352 +0100
@@ -1,0 +2,20 @@
+Mon Dec 4 14:09:11 UTC 2023 - Daniel Mach <daniel.mach(a)suse.com>
+
+- 1.5.1
+ - Library:
+ - Avoid using '/public/' API routes
+ - Update 'osc.util.models' to avoid including lazy defaults in the rendered man pages
+ - Spec:
+ - Simplify distro-specific macros
+ - Use %{?rhel} macros
+
+-------------------------------------------------------------------
+Mon Dec 4 14:09:10 UTC 2023 - Magnus Lewis-Smith <m.lewis-smith(a)warwick.ac.uk>
+
+- specfile change : use rhel version macros wherever 'fedora' macro is also used
+ + Build manpages on RHEL distros where argparse-manpage is available
+ and where python3-sphinx is available and cleanly installable without
+ requiring environment(modules) from EPEL
+ + use fdupes to deduplicate python bytecode on RHEL distros which support it
+
+-------------------------------------------------------------------
@@ -15,9 +34,0 @@
-
--------------------------------------------------------------------
-Mon Nov 6 15:19:42 UTC 2023 - Magnus Lewis-Smith <m.lewis-smith(a)warwick.ac.uk>
-
-- specfile change : use rhel version macros wherever 'fedora' macro is also used
- + Build manpages on RHEL distros where argparse-manpage is available
- and where python3-sphinx is available and cleanly installable without
- requiring environment(modules) from EPEL
- + use fdupes to deduplicate python bytecode on RHEL distros which support it
Old:
----
osc-1.5.0.tar.gz
New:
----
osc-1.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ osc.spec ++++++
--- /var/tmp/diff_new_pack.qKiJvu/_old 2023-12-05 17:04:34.412149478 +0100
+++ /var/tmp/diff_new_pack.qKiJvu/_new 2023-12-05 17:04:34.424149920 +0100
@@ -33,6 +33,7 @@
%define python_sitelib %(RPM_BUILD_ROOT= %{use_python} -Ic "import sysconfig; print(sysconfig.get_path('purelib'))")
# generate manpages on distros where argparse-manpage >= 3 and python3-Sphinx are available
+# please note that RHEL build requires packages from CRB and EPEL repositories
%if 0%{?suse_version} > 1500 || 0%{?fedora} >= 37 || 0%{?rhel} >= 9
%bcond_without man
%else
@@ -46,21 +47,20 @@
%bcond_with fdupes
%endif
-%define argparse_manpage_pkg %{use_python_pkg}-argparse-manpage
-%define obs_build_pkg obs-build
-%define sphinx_pkg %{use_python_pkg}-Sphinx
-
-%if 0%{?fedora} || 0%{?rhel} >= 9
%define argparse_manpage_pkg argparse-manpage
+%define obs_build_pkg obs-build
+%define openssh_pkg openssh
%define sphinx_pkg %{use_python_pkg}-sphinx
-%endif
%if 0%{?suse_version}
+%define argparse_manpage_pkg %{use_python_pkg}-argparse-manpage
%define obs_build_pkg build
+%define openssh_pkg openssh-common
+%define sphinx_pkg %{use_python_pkg}-Sphinx
%endif
Name: osc
-Version: 1.5.0
+Version: 1.5.1
Release: 0
Summary: Command-line client for the Open Build Service
License: GPL-2.0-or-later
@@ -127,12 +127,8 @@
Recommends: obs-service-tar_scm
Recommends: obs-service-verify_file
-%if 0%{?fedora} || 0%{?rhel}
-Recommends: openssh
-%endif
-%if 0%{?suse_version}
-Recommends: openssh-common
-%endif
+# needed for ssh signature auth
+Recommends: %{openssh_pkg}
# needed for `osc browse` that calls xdg-open
Recommends: xdg-utils
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.qKiJvu/_old 2023-12-05 17:04:34.632157588 +0100
+++ /var/tmp/diff_new_pack.qKiJvu/_new 2023-12-05 17:04:34.668158915 +0100
@@ -1,5 +1,5 @@
pkgname=osc
-pkgver=1.5.0
+pkgver=1.5.1
pkgrel=0
pkgdesc="Command-line client for the Open Build Service"
arch=('x86_64')
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.qKiJvu/_old 2023-12-05 17:04:34.768162601 +0100
+++ /var/tmp/diff_new_pack.qKiJvu/_new 2023-12-05 17:04:34.780163043 +0100
@@ -1,4 +1,4 @@
-osc (1.5.0-0) unstable; urgency=low
+osc (1.5.1-0) unstable; urgency=low
* Placeholder
++++++ osc-1.5.0.tar.gz -> osc-1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/NEWS new/osc-1.5.1/NEWS
--- old/osc-1.5.0/NEWS 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/NEWS 2023-12-04 15:05:14.000000000 +0100
@@ -1,3 +1,11 @@
+- 1.5.1
+ - Library:
+ - Avoid using '/public/' API routes
+ - Update 'osc.util.models' to avoid including lazy defaults in the rendered man pages
+ - Spec:
+ - Simplify distro-specific macros
+ - Use %{?rhel} macros
+
- 1.5.0
- Command-line:
- Change 'rdiff' command to display diff for _project if no package is specified
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/osc/__init__.py new/osc-1.5.1/osc/__init__.py
--- old/osc-1.5.0/osc/__init__.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/osc/__init__.py 2023-12-04 15:05:14.000000000 +0100
@@ -13,7 +13,7 @@
from .util import git_version
-__version__ = git_version.get_version('1.5.0')
+__version__ = git_version.get_version('1.5.1')
# vim: sw=4 et
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/osc/commandline.py new/osc-1.5.1/osc/commandline.py
--- old/osc-1.5.0/osc/commandline.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/osc/commandline.py 2023-12-04 15:05:14.000000000 +0100
@@ -4860,7 +4860,7 @@
return (parent_project, parent_package)
def _pdiff_get_exists_and_parent(self, apiurl, project, package):
- link_url = makeurl(apiurl, ['public', 'source', project, package])
+ link_url = makeurl(apiurl, ['source', project, package])
try:
file = http_GET(link_url)
root = ET.parse(file).getroot()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/osc/conf.py new/osc-1.5.1/osc/conf.py
--- old/osc-1.5.0/osc/conf.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/osc/conf.py 2023-12-04 15:05:14.000000000 +0100
@@ -1324,6 +1324,10 @@
if field.default is None:
return None
+ if field.default_is_lazy:
+ # lazy default may return different results under different circumstances -> return nothing
+ return None
+
ini_type = field.extra.get("ini_type", None)
if ini_type:
return None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/osc/core.py new/osc-1.5.1/osc/core.py
--- old/osc-1.5.0/osc/core.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/osc/core.py 2023-12-04 15:05:14.000000000 +0100
@@ -3938,7 +3938,7 @@
def show_configuration(apiurl):
- u = makeurl(apiurl, ['public', 'configuration'])
+ u = makeurl(apiurl, ['configuration'])
f = http_GET(u)
return f.readlines()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/osc/util/git_version.py new/osc-1.5.1/osc/util/git_version.py
--- old/osc-1.5.0/osc/util/git_version.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/osc/util/git_version.py 2023-12-04 15:05:14.000000000 +0100
@@ -9,7 +9,7 @@
"""
# the `version` variable contents get substituted during `git archive`
# it requires adding this to .gitattributes: <path to this file> export-subst
- version = "1.5.0"
+ version = "1.5.1"
if version.startswith(("$", "%")):
# "$": version hasn't been substituted during `git archive`
# "%": "Format:" and "$" characters get removed from the version string (a GitHub bug?)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/osc/util/models.py new/osc-1.5.1/osc/util/models.py
--- old/osc-1.5.0/osc/util/models.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/osc/util/models.py 2023-12-04 15:05:14.000000000 +0100
@@ -79,6 +79,9 @@
# model sets it to None if it equals to NotSet (for better usability)
self.default = default
+ # a flag indicating, whether the default is a callable with lazy evalution
+ self.default_is_lazy = callable(self.default)
+
# whether the field was set
self.is_set = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.5.0/tests/test_models.py new/osc-1.5.1/tests/test_models.py
--- old/osc-1.5.0/tests/test_models.py 2023-11-22 08:55:15.000000000 +0100
+++ new/osc-1.5.1/tests/test_models.py 2023-12-04 15:05:14.000000000 +0100
@@ -60,6 +60,19 @@
self.assertRaises(TypeError, TestModel)
+ def test_lazy_default(self):
+ class TestModel(BaseModel):
+ field: List[str] = Field(default=lambda: ["string"])
+
+ m = TestModel()
+ self.assertEqual(m.field, ["string"])
+
+ def test_lazy_default_invalid_type(self):
+ class TestModel(BaseModel):
+ field: List[str] = Field(default=lambda: None)
+
+ self.assertRaises(TypeError, TestModel)
+
def test_is_set(self):
class TestModel(BaseModel):
field: Optional[str] = Field()
++++++ osc.dsc ++++++
--- /var/tmp/diff_new_pack.qKiJvu/_old 2023-12-05 17:04:35.328183244 +0100
+++ /var/tmp/diff_new_pack.qKiJvu/_new 2023-12-05 17:04:35.352184128 +0100
@@ -1,6 +1,6 @@
Format: 1.0
Source: osc
-Version: 1.5.0-0
+Version: 1.5.1-0
Binary: osc
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: any
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package warp for openSUSE:Factory checked in at 2023-12-05 17:04:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/warp (Old)
and /work/SRC/openSUSE:Factory/.warp.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "warp"
Tue Dec 5 17:04:01 2023 rev:2 rq:1130935 version:0.6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/warp/warp.changes 2023-07-25 11:52:08.285816031 +0200
+++ /work/SRC/openSUSE:Factory/.warp.new.25432/warp.changes 2023-12-05 17:04:30.468004095 +0100
@@ -1,0 +2,16 @@
+Mon Dec 4 16:36:09 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 0.6.2:
+ * Fixes a potential security issue.
+ * Minor design tweaks.
+- Changes from version 0.6.1:
+ * Fixes an issue where ZIP files would sometimes be corrupt after
+ receiving.
+- Changes from version 0.6.0:
+ * Redesign code view with new QR code design.
+ * Use new GNOME 45 design.
+ * Add shortcuts to a few more buttons.
+- Drop cargo_config: No longer required.
+- Add <param name="update">true</param> to cargo_vendor service.
+
+-------------------------------------------------------------------
Old:
----
cargo_config
warp-0.5.4.obscpio
New:
----
warp-0.6.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ warp.spec ++++++
--- /var/tmp/diff_new_pack.VcKM0Z/_old 2023-12-05 17:04:31.292034469 +0100
+++ /var/tmp/diff_new_pack.VcKM0Z/_new 2023-12-05 17:04:31.292034469 +0100
@@ -18,20 +18,19 @@
%define _lto_cflags %{nil}
Name: warp
-Version: 0.5.4
+Version: 0.6.2
Release: 0
Summary: App to securely send files via the internet or local network
License: GPL-3.0-or-later
URL: https://apps.gnome.org/en-GB/app/app.drey.Warp/
Source0: %{name}-%{version}.tar
Source1: vendor.tar.zst
-Source2: cargo_config
BuildRequires: cargo
BuildRequires: cargo-packaging
BuildRequires: itstool
BuildRequires: meson
-BuildRequires: update-desktop-files
BuildRequires: pkgconfig
+BuildRequires: update-desktop-files
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk4) >= 4.10.0
@@ -50,7 +49,6 @@
%prep
%autosetup -a1
-install -D -m 644 %{SOURCE2} .cargo/config
%build
%meson
++++++ _service ++++++
--- /var/tmp/diff_new_pack.VcKM0Z/_old 2023-12-05 17:04:31.320035501 +0100
+++ /var/tmp/diff_new_pack.VcKM0Z/_new 2023-12-05 17:04:31.320035501 +0100
@@ -3,7 +3,7 @@
<param name="filename">warp</param>
<param name="url">https://gitlab.gnome.org/World/warp.git</param>
<param name="scm">git</param>
- <param name="revision">v0.5.4</param>
+ <param name="revision">v0.6.2</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
@@ -12,6 +12,7 @@
<service name="tar" mode="buildtime"/>
<service name="cargo_vendor" mode="manual">
<param name="srcdir">warp</param>
+ <param name="update">true</param>
</service>
<service name="cargo_audit" mode="manual">
<param name="srcdir">warp</param>
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.VcKM0Z/_old and /var/tmp/diff_new_pack.VcKM0Z/_new differ
++++++ warp-0.5.4.obscpio -> warp-0.6.2.obscpio ++++++
++++ 33465 lines of diff (skipped)
++++++ warp.obsinfo ++++++
--- /var/tmp/diff_new_pack.VcKM0Z/_old 2023-12-05 17:04:31.908057176 +0100
+++ /var/tmp/diff_new_pack.VcKM0Z/_new 2023-12-05 17:04:31.924057766 +0100
@@ -1,5 +1,5 @@
name: warp
-version: 0.5.4
-mtime: 1683142459
-commit: ded6d4e29678913e4e393c0a4064b3014e429ee5
+version: 0.6.2
+mtime: 1701700116
+commit: 1daa60691aa1a697acaff55450dcccb085023fc7
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-resourcet for openSUSE:Factory checked in at 2023-12-05 17:04:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-resourcet (Old)
and /work/SRC/openSUSE:Factory/.ghc-resourcet.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-resourcet"
Tue Dec 5 17:04:00 2023 rev:32 rq:1130934 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-resourcet/ghc-resourcet.changes 2023-11-23 21:43:08.489001447 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-resourcet.new.25432/ghc-resourcet.changes 2023-12-05 17:04:28.663937596 +0100
@@ -1,0 +2,5 @@
+Tue Dec 5 09:15:04 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update copyright header in spec file.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-resourcet.spec ++++++
--- /var/tmp/diff_new_pack.8VrKMA/_old 2023-12-05 17:04:29.359963252 +0100
+++ /var/tmp/diff_new_pack.8VrKMA/_new 2023-12-05 17:04:29.359963252 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ghc-resourcet
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package hledger-interest for openSUSE:Factory checked in at 2023-12-05 17:03:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hledger-interest (Old)
and /work/SRC/openSUSE:Factory/.hledger-interest.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hledger-interest"
Tue Dec 5 17:03:57 2023 rev:15 rq:1130930 version:1.6.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/hledger-interest/hledger-interest.changes 2023-09-12 21:03:24.189287998 +0200
+++ /work/SRC/openSUSE:Factory/.hledger-interest.new.25432/hledger-interest.changes 2023-12-05 17:04:25.795831877 +0100
@@ -1,0 +2,6 @@
+Tue Dec 5 08:50:28 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update hledger-interest to version 1.6.6 revision 2.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hledger-interest.spec ++++++
--- /var/tmp/diff_new_pack.41FFU6/_old 2023-12-05 17:04:26.603861661 +0100
+++ /var/tmp/diff_new_pack.41FFU6/_new 2023-12-05 17:04:26.603861661 +0100
@@ -23,7 +23,7 @@
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.t…
-Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/1.cabal#/%{…
+Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/2.cabal#/%{…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-Cabal-prof
BuildRequires: ghc-Decimal-devel
++++++ hledger-interest.cabal ++++++
--- /var/tmp/diff_new_pack.41FFU6/_old 2023-12-05 17:04:26.647863283 +0100
+++ /var/tmp/diff_new_pack.41FFU6/_new 2023-12-05 17:04:26.655863578 +0100
@@ -1,6 +1,6 @@
Name: hledger-interest
Version: 1.6.6
-x-revision: 1
+x-revision: 2
Synopsis: computes interest for a given account
License: BSD3
License-file: LICENSE
@@ -120,7 +120,7 @@
Executable hledger-interest
default-language: Haskell2010
Main-is: Main.hs
- Build-depends: base >= 3 && < 5, hledger-lib >= 1.26 && < 1.32, time, mtl, Cabal, Decimal, text
+ Build-depends: base >= 3 && < 5, hledger-lib >= 1.26 && < 1.33, time, mtl, Cabal, Decimal, text
other-modules: Hledger.Interest
Hledger.Interest.DayCountConvention
Hledger.Interest.Rate
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package hledger for openSUSE:Factory checked in at 2023-12-05 17:03:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hledger (Old)
and /work/SRC/openSUSE:Factory/.hledger.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hledger"
Tue Dec 5 17:03:57 2023 rev:21 rq:1130929 version:1.32
Changes:
--------
--- /work/SRC/openSUSE:Factory/hledger/hledger.changes 2023-09-21 22:24:08.315239032 +0200
+++ /work/SRC/openSUSE:Factory/.hledger.new.25432/hledger.changes 2023-12-05 17:04:20.963653761 +0100
@@ -1,0 +2,9 @@
+Sat Dec 2 05:12:23 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update hledger to version 1.32.
+ Upstream's change log file format is strange (too much unmodified
+ text at at the top). The automatic updater cannot extract the
+ relevant additions. You can find the file at:
+ http://hackage.haskell.org/package/hledger-1.32/src/CHANGES.md
+
+-------------------------------------------------------------------
Old:
----
hledger-1.31.tar.gz
New:
----
hledger-1.32.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hledger.spec ++++++
--- /var/tmp/diff_new_pack.3IQS99/_old 2023-12-05 17:04:24.171772013 +0100
+++ /var/tmp/diff_new_pack.3IQS99/_new 2023-12-05 17:04:24.171772013 +0100
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: %{pkg_name}
-Version: 1.31
+Version: 1.32
Release: 0
Summary: Command-line interface for the hledger accounting system
License: GPL-3.0-or-later
++++++ hledger-1.31.tar.gz -> hledger-1.32.tar.gz ++++++
++++ 46133 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-yesod-core for openSUSE:Factory checked in at 2023-12-05 17:03:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-yesod-core (Old)
and /work/SRC/openSUSE:Factory/.ghc-yesod-core.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-yesod-core"
Tue Dec 5 17:03:55 2023 rev:19 rq:1130928 version:1.6.25.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-yesod-core/ghc-yesod-core.changes 2023-11-23 21:43:08.513002331 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-yesod-core.new.25432/ghc-yesod-core.changes 2023-12-05 17:04:19.739608642 +0100
@@ -1,0 +2,8 @@
+Tue Nov 28 22:04:33 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update yesod-core to version 1.6.25.1.
+ ## 1.6.25.1
+
+ * Export the options that were created in 1.6.25.0 [#1825](https://github.com/yesodweb/yesod/pull/1825)
+
+-------------------------------------------------------------------
Old:
----
yesod-core-1.6.25.0.tar.gz
New:
----
yesod-core-1.6.25.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-yesod-core.spec ++++++
--- /var/tmp/diff_new_pack.8In3l5/_old 2023-12-05 17:04:20.507636952 +0100
+++ /var/tmp/diff_new_pack.8In3l5/_new 2023-12-05 17:04:20.507636952 +0100
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.6.25.0
+Version: 1.6.25.1
Release: 0
Summary: Creation of type-safe, RESTful web applications
License: MIT
++++++ yesod-core-1.6.25.0.tar.gz -> yesod-core-1.6.25.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yesod-core-1.6.25.0/ChangeLog.md new/yesod-core-1.6.25.1/ChangeLog.md
--- old/yesod-core-1.6.25.0/ChangeLog.md 2023-10-25 19:04:19.000000000 +0200
+++ new/yesod-core-1.6.25.1/ChangeLog.md 2023-11-28 23:04:27.000000000 +0100
@@ -1,5 +1,9 @@
# ChangeLog for yesod-core
+## 1.6.25.1
+
+* Export the options that were created in 1.6.25.0 [#1825](https://github.com/yesodweb/yesod/pull/1825)
+
## 1.6.25.0
* Add an options structure that allows the user to set which instances will be derived for a routes structure. [#1819](https://github.com/yesodweb/yesod/pull/1819)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yesod-core-1.6.25.0/src/Yesod/Core/Dispatch.hs new/yesod-core-1.6.25.1/src/Yesod/Core/Dispatch.hs
--- old/yesod-core-1.6.25.0/src/Yesod/Core/Dispatch.hs 2023-08-23 18:39:25.000000000 +0200
+++ new/yesod-core-1.6.25.1/src/Yesod/Core/Dispatch.hs 2023-11-28 23:04:27.000000000 +0100
@@ -10,12 +10,22 @@
, parseRoutesFile
, parseRoutesFileNoCheck
, mkYesod
+ , mkYesodOpts
, mkYesodWith
-- ** More fine-grained
, mkYesodData
+ , mkYesodDataOpts
, mkYesodSubData
+ , mkYesodSubDataOpts
, mkYesodDispatch
+ , mkYesodDispatchOpts
, mkYesodSubDispatch
+ -- *** Route generation options
+ , RouteOpts
+ , defaultOpts
+ , setEqDerived
+ , setShowDerived
+ , setReadDerived
-- *** Helpers
, defaultGen
, getGetMaxExpires
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yesod-core-1.6.25.0/src/Yesod/Core/Internal/TH.hs new/yesod-core-1.6.25.1/src/Yesod/Core/Internal/TH.hs
--- old/yesod-core-1.6.25.0/src/Yesod/Core/Internal/TH.hs 2023-10-25 19:04:19.000000000 +0200
+++ new/yesod-core-1.6.25.1/src/Yesod/Core/Internal/TH.hs 2023-11-28 23:04:27.000000000 +0100
@@ -35,6 +35,12 @@
, subTopDispatch
, instanceD
+
+ , RouteOpts
+ , defaultOpts
+ , setEqDerived
+ , setShowDerived
+ , setReadDerived
)
where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yesod-core-1.6.25.0/yesod-core.cabal new/yesod-core-1.6.25.1/yesod-core.cabal
--- old/yesod-core-1.6.25.0/yesod-core.cabal 2023-10-25 19:04:19.000000000 +0200
+++ new/yesod-core-1.6.25.1/yesod-core.cabal 2023-11-28 23:04:27.000000000 +0100
@@ -1,5 +1,5 @@
name: yesod-core
-version: 1.6.25.0
+version: 1.6.25.1
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael(a)snoyman.com>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-topograph for openSUSE:Factory checked in at 2023-12-05 17:03:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-topograph (Old)
and /work/SRC/openSUSE:Factory/.ghc-topograph.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-topograph"
Tue Dec 5 17:03:51 2023 rev:9 rq:1130925 version:1.0.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-topograph/ghc-topograph.changes 2023-04-04 21:24:25.766559118 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-topograph.new.25432/ghc-topograph.changes 2023-12-05 17:04:15.851465322 +0100
@@ -1,0 +2,6 @@
+Thu Nov 23 17:18:37 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update topograph to version 1.0.0.2 revision 2.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-topograph.spec ++++++
--- /var/tmp/diff_new_pack.oqfRK8/_old 2023-12-05 17:04:16.483488619 +0100
+++ /var/tmp/diff_new_pack.oqfRK8/_new 2023-12-05 17:04:16.487488767 +0100
@@ -25,7 +25,7 @@
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-base-compat-prof
++++++ topograph.cabal ++++++
--- /var/tmp/diff_new_pack.oqfRK8/_old 2023-12-05 17:04:16.519489946 +0100
+++ /var/tmp/diff_new_pack.oqfRK8/_new 2023-12-05 17:04:16.519489946 +0100
@@ -1,7 +1,7 @@
cabal-version: 2.2
name: topograph
version: 1.0.0.2
-x-revision: 1
+x-revision: 2
synopsis: Directed acyclic graphs.
category: Data, Graph
description:
@@ -39,9 +39,10 @@
|| ==8.8.4
|| ==8.10.7
|| ==9.0.2
- || ==9.2.7
- || ==9.4.4
- || ==9.6.1
+ || ==9.2.8
+ || ==9.4.8
+ || ==9.6.3
+ || ==9.8.1
source-repository head
type: git
@@ -50,7 +51,7 @@
library
exposed-modules: Topograph
build-depends:
- , base >=4.6 && <4.19
+ , base >=4.6 && <4.20
, base-compat ^>=0.10.5 || ^>=0.11.0 || ^>=0.12.0 || ^>=0.13.0
, base-orphans ^>=0.8 || ^>=0.9.0
, containers ^>=0.5.0.0 || ^>=0.6.0.1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-toml-parser for openSUSE:Factory checked in at 2023-12-05 17:03:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-toml-parser (Old)
and /work/SRC/openSUSE:Factory/.ghc-toml-parser.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-toml-parser"
Tue Dec 5 17:03:50 2023 rev:2 rq:1130924 version:1.3.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-toml-parser/ghc-toml-parser.changes 2023-11-23 21:43:08.072986124 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-toml-parser.new.25432/ghc-toml-parser.changes 2023-12-05 17:04:13.919394105 +0100
@@ -1,0 +2,9 @@
+Tue Nov 28 18:44:21 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update toml-parser to version 1.3.1.0.
+ ## 1.3.1.0
+
+ * Added `Toml.Semantics.Ordered` for preserving input TOML orderings
+ * Added support for pretty-printing multi-line strings
+
+-------------------------------------------------------------------
Old:
----
toml-parser-1.3.0.0.tar.gz
New:
----
toml-parser-1.3.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-toml-parser.spec ++++++
--- /var/tmp/diff_new_pack.6PI80X/_old 2023-12-05 17:04:15.371447629 +0100
+++ /var/tmp/diff_new_pack.6PI80X/_new 2023-12-05 17:04:15.375447776 +0100
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.3.0.0
+Version: 1.3.1.0
Release: 0
Summary: TOML 1.0.0 parser
License: ISC
++++++ toml-parser-1.3.0.0.tar.gz -> toml-parser-1.3.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/ChangeLog.md new/toml-parser-1.3.1.0/ChangeLog.md
--- old/toml-parser-1.3.0.0/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,10 @@
# Revision history for toml-parser
+## 1.3.1.0
+
+* Added `Toml.Semantics.Ordered` for preserving input TOML orderings
+* Added support for pretty-printing multi-line strings
+
## 1.3.0.0 -- 2023-07-16
* Make more structured error messages available in the low-level modules.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/README.lhs new/toml-parser-1.3.1.0/README.lhs
--- old/toml-parser-1.3.0.0/README.lhs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/README.lhs 2001-09-09 03:46:40.000000000 +0200
@@ -41,18 +41,27 @@
to ensure that its code typechecks and stays in sync with the rest of the package.
```haskell
-import Toml (parse, decode, Value(..))
-import Toml.FromValue (FromValue(fromValue), parseTableFromValue, reqKey, optKey)
+import GHC.Generics (Generic)
+import QuoteStr (quoteStr)
+import Test.Hspec (Spec, hspec, it, shouldBe)
+import Toml (parse, decode, encode, Value(..))
+import Toml.FromValue (Result(Success), FromValue(fromValue), parseTableFromValue, reqKey)
import Toml.FromValue.Generic (genericParseTable)
-import Toml.ToValue (ToValue(toValue), ToTable(toTable), defaultTableToValue)
+import Toml.ToValue (ToValue(toValue), ToTable(toTable), defaultTableToValue, table, (.=))
import Toml.ToValue.Generic (genericToTable)
-import GHC.Generics (Generic)
-main = pure ()
+
+main :: IO ()
+main = hspec (parses >> decodes >> encodes)
```
### Using the raw parser
-Consider this sample TOML text from the specification.
+Consider this sample TOML text from the TOML specification.
+
+```haskell
+fruitStr :: String
+fruitStr = [quoteStr|
+```
```toml
[[fruits]]
@@ -76,52 +85,58 @@
name = "plantain"
```
+```haskell
+|]
+```
+
Parsing using this package generates the following value
-```haskell ignore
->>> parse fruitStr
-Right (fromList [
- ("fruits",Array [
- Table (fromList [
- ("name",String "apple"),
- ("physical",Table (fromList [
- ("color",String "red"),
- ("shape",String "round")])),
- ("varieties",Array [
- Table (fromList [("name",String "red delicious")]),
- Table (fromList [("name",String "granny smith")])])]),
- Table (fromList [
- ("name",String "banana"),
- ("varieties",Array [
- Table (fromList [("name",String "plantain")])])])])])
-```
-
-We can render this parsed value back to TOML text using `prettyToml fruitToml`.
-In this case the input was already sorted, so the generated text will happen
-to match almost exactly.
+```haskell
+parses :: Spec
+parses = it "parses" $
+ parse fruitStr
+ `shouldBe`
+ Right (table [
+ ("fruits", Array [
+ Table (table [
+ ("name", String "apple"),
+ ("physical", Table (table [
+ ("color", String "red"),
+ ("shape", String "round")])),
+ ("varieties", Array [
+ Table (table [("name", String "red delicious")]),
+ Table (table [("name", String "granny smith")])])]),
+ Table (table [
+ ("name", String "banana"),
+ ("varieties", Array [
+ Table (table [("name", String "plantain")])])])])])
+```
### Using decoding classes
Here's an example of defining datatypes and deserializers for the TOML above.
+The `FromValue` typeclass is used to encode each datatype into a TOML value.
+Instances can be derived for simple record types. More complex examples can
+be manually derived.
```haskell
-newtype Fruits = Fruits [Fruit]
- deriving (Eq, Show)
+newtype Fruits = Fruits { fruits :: [Fruit] }
+ deriving (Eq, Show, Generic)
-data Fruit = Fruit String (Maybe Physical) [Variety]
- deriving (Eq, Show)
+data Fruit = Fruit { name :: String, physical :: Maybe Physical, varieties :: [Variety] }
+ deriving (Eq, Show, Generic)
-data Physical = Physical String String
- deriving (Eq, Show)
+data Physical = Physical { color :: String, shape :: String }
+ deriving (Eq, Show, Generic)
newtype Variety = Variety String
- deriving (Eq, Show)
+ deriving (Eq, Show, Generic)
instance FromValue Fruits where
- fromValue = parseTableFromValue (Fruits <$> reqKey "fruits")
+ fromValue = parseTableFromValue genericParseTable
instance FromValue Fruit where
- fromValue = parseTableFromValue (Fruit <$> reqKey "name" <*> optKey "physical" <*> reqKey "varieties")
+ fromValue = parseTableFromValue genericParseTable
instance FromValue Physical where
fromValue = parseTableFromValue (Physical <$> reqKey "color" <*> reqKey "shape")
@@ -132,32 +147,67 @@
We can run this example on the original value to deserialize it into domain-specific datatypes.
-```haskell ignore
->>> decode fruitStr :: Result Fruits
-Success [] (Fruits [
- Fruit "apple" (Just (Physical "red" "round")) [Variety "red delicious", Variety "granny smith"],
- Fruit "banana" Nothing [Variety "plantain"]])
-```
-
-### Generics
+```haskell
+decodes :: Spec
+decodes = it "decodes" $
+ decode fruitStr
+ `shouldBe`
+ Success [] (Fruits [
+ Fruit
+ "apple"
+ (Just (Physical "red" "round"))
+ [Variety "red delicious", Variety "granny smith"],
+ Fruit "banana" Nothing [Variety "plantain"]])
+```
+
+### Using encoding classes
+
+The `ToValue` class is for all datatypes that can be encoded into TOML.
+The more specialized `ToTable` class is for datatypes that encode into
+tables and are thus elligible to be top-level types (all TOML documents
+are tables at the top-level).
-Code for generating and matching tables to records can be derived
-using GHC.Generics. This will generate tables using the field names
-as table keys.
+Generics can be used to derive `ToTable` for simple record types.
+Manually defined instances are available for the more complex cases.
```haskell
-data ExampleRecord = ExampleRecord {
- exString :: String,
- exList :: [Int],
- exOpt :: Maybe Bool}
- deriving (Show, Generic, Eq)
+instance ToValue Fruits where toValue = defaultTableToValue
+instance ToValue Fruit where toValue = defaultTableToValue
+instance ToValue Physical where toValue = defaultTableToValue
+instance ToValue Variety where toValue = defaultTableToValue
+
+instance ToTable Fruits where toTable = genericToTable
+instance ToTable Fruit where toTable = genericToTable
+instance ToTable Physical where toTable x = table ["color" .= color x, "shape" .= shape x]
+instance ToTable Variety where toTable (Variety x) = table ["name" .= x]
+
+encodes :: Spec
+encodes = it "encodes" $
+ show (encode (Fruits [Fruit
+ "apple"
+ (Just (Physical "red" "round"))
+ [Variety "red delicious", Variety "granny smith"]]))
+ `shouldBe` [quoteStr|
+ [[fruits]]
+ name = "apple"
+
+ [fruits.physical]
+ color = "red"
+ shape = "round"
-instance FromValue ExampleRecord where fromValue = parseTableFromValue genericParseTable
-instance ToTable ExampleRecord where toTable = genericToTable
-instance ToValue ExampleRecord where toValue = defaultTableToValue
+ [[fruits.varieties]]
+ name = "red delicious"
+
+ [[fruits.varieties]]
+ name = "granny smith"|]
```
-### Larger Example
+## More Examples
A demonstration of using this package at a more realistic scale
-can be found in [HieDemoSpec](test/HieDemoSpec.hs).
+can be found in [HieDemoSpec](test/HieDemoSpec.hs). The various unit
+test files demonstrate what you can do with this library and what
+outputs you can expect.
+
+See the low-level operations used to build a TOML syntax highlighter
+in [TomlHighlighter](test-drivers/highlighter/Main.hs).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/README.md new/toml-parser-1.3.1.0/README.md
--- old/toml-parser-1.3.0.0/README.md 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/README.md 2001-09-09 03:46:40.000000000 +0200
@@ -41,18 +41,27 @@
to ensure that its code typechecks and stays in sync with the rest of the package.
```haskell
-import Toml (parse, decode, Value(..))
-import Toml.FromValue (FromValue(fromValue), parseTableFromValue, reqKey, optKey)
+import GHC.Generics (Generic)
+import QuoteStr (quoteStr)
+import Test.Hspec (Spec, hspec, it, shouldBe)
+import Toml (parse, decode, encode, Value(..))
+import Toml.FromValue (Result(Success), FromValue(fromValue), parseTableFromValue, reqKey)
import Toml.FromValue.Generic (genericParseTable)
-import Toml.ToValue (ToValue(toValue), ToTable(toTable), defaultTableToValue)
+import Toml.ToValue (ToValue(toValue), ToTable(toTable), defaultTableToValue, table, (.=))
import Toml.ToValue.Generic (genericToTable)
-import GHC.Generics (Generic)
-main = pure ()
+
+main :: IO ()
+main = hspec (parses >> decodes >> encodes)
```
### Using the raw parser
-Consider this sample TOML text from the specification.
+Consider this sample TOML text from the TOML specification.
+
+```haskell
+fruitStr :: String
+fruitStr = [quoteStr|
+```
```toml
[[fruits]]
@@ -76,52 +85,58 @@
name = "plantain"
```
+```haskell
+|]
+```
+
Parsing using this package generates the following value
-```haskell ignore
->>> parse fruitStr
-Right (fromList [
- ("fruits",Array [
- Table (fromList [
- ("name",String "apple"),
- ("physical",Table (fromList [
- ("color",String "red"),
- ("shape",String "round")])),
- ("varieties",Array [
- Table (fromList [("name",String "red delicious")]),
- Table (fromList [("name",String "granny smith")])])]),
- Table (fromList [
- ("name",String "banana"),
- ("varieties",Array [
- Table (fromList [("name",String "plantain")])])])])])
-```
-
-We can render this parsed value back to TOML text using `prettyToml fruitToml`.
-In this case the input was already sorted, so the generated text will happen
-to match almost exactly.
+```haskell
+parses :: Spec
+parses = it "parses" $
+ parse fruitStr
+ `shouldBe`
+ Right (table [
+ ("fruits", Array [
+ Table (table [
+ ("name", String "apple"),
+ ("physical", Table (table [
+ ("color", String "red"),
+ ("shape", String "round")])),
+ ("varieties", Array [
+ Table (table [("name", String "red delicious")]),
+ Table (table [("name", String "granny smith")])])]),
+ Table (table [
+ ("name", String "banana"),
+ ("varieties", Array [
+ Table (table [("name", String "plantain")])])])])])
+```
### Using decoding classes
Here's an example of defining datatypes and deserializers for the TOML above.
+The `FromValue` typeclass is used to encode each datatype into a TOML value.
+Instances can be derived for simple record types. More complex examples can
+be manually derived.
```haskell
-newtype Fruits = Fruits [Fruit]
- deriving (Eq, Show)
+newtype Fruits = Fruits { fruits :: [Fruit] }
+ deriving (Eq, Show, Generic)
-data Fruit = Fruit String (Maybe Physical) [Variety]
- deriving (Eq, Show)
+data Fruit = Fruit { name :: String, physical :: Maybe Physical, varieties :: [Variety] }
+ deriving (Eq, Show, Generic)
-data Physical = Physical String String
- deriving (Eq, Show)
+data Physical = Physical { color :: String, shape :: String }
+ deriving (Eq, Show, Generic)
newtype Variety = Variety String
- deriving (Eq, Show)
+ deriving (Eq, Show, Generic)
instance FromValue Fruits where
- fromValue = parseTableFromValue (Fruits <$> reqKey "fruits")
+ fromValue = parseTableFromValue genericParseTable
instance FromValue Fruit where
- fromValue = parseTableFromValue (Fruit <$> reqKey "name" <*> optKey "physical" <*> reqKey "varieties")
+ fromValue = parseTableFromValue genericParseTable
instance FromValue Physical where
fromValue = parseTableFromValue (Physical <$> reqKey "color" <*> reqKey "shape")
@@ -132,32 +147,67 @@
We can run this example on the original value to deserialize it into domain-specific datatypes.
-```haskell ignore
->>> decode fruitStr :: Result Fruits
-Success [] (Fruits [
- Fruit "apple" (Just (Physical "red" "round")) [Variety "red delicious", Variety "granny smith"],
- Fruit "banana" Nothing [Variety "plantain"]])
-```
-
-### Generics
+```haskell
+decodes :: Spec
+decodes = it "decodes" $
+ decode fruitStr
+ `shouldBe`
+ Success [] (Fruits [
+ Fruit
+ "apple"
+ (Just (Physical "red" "round"))
+ [Variety "red delicious", Variety "granny smith"],
+ Fruit "banana" Nothing [Variety "plantain"]])
+```
+
+### Using encoding classes
+
+The `ToValue` class is for all datatypes that can be encoded into TOML.
+The more specialized `ToTable` class is for datatypes that encode into
+tables and are thus elligible to be top-level types (all TOML documents
+are tables at the top-level).
-Code for generating and matching tables to records can be derived
-using GHC.Generics. This will generate tables using the field names
-as table keys.
+Generics can be used to derive `ToTable` for simple record types.
+Manually defined instances are available for the more complex cases.
```haskell
-data ExampleRecord = ExampleRecord {
- exString :: String,
- exList :: [Int],
- exOpt :: Maybe Bool}
- deriving (Show, Generic, Eq)
+instance ToValue Fruits where toValue = defaultTableToValue
+instance ToValue Fruit where toValue = defaultTableToValue
+instance ToValue Physical where toValue = defaultTableToValue
+instance ToValue Variety where toValue = defaultTableToValue
+
+instance ToTable Fruits where toTable = genericToTable
+instance ToTable Fruit where toTable = genericToTable
+instance ToTable Physical where toTable x = table ["color" .= color x, "shape" .= shape x]
+instance ToTable Variety where toTable (Variety x) = table ["name" .= x]
+
+encodes :: Spec
+encodes = it "encodes" $
+ show (encode (Fruits [Fruit
+ "apple"
+ (Just (Physical "red" "round"))
+ [Variety "red delicious", Variety "granny smith"]]))
+ `shouldBe` [quoteStr|
+ [[fruits]]
+ name = "apple"
+
+ [fruits.physical]
+ color = "red"
+ shape = "round"
-instance FromValue ExampleRecord where fromValue = parseTableFromValue genericParseTable
-instance ToTable ExampleRecord where toTable = genericToTable
-instance ToValue ExampleRecord where toValue = defaultTableToValue
+ [[fruits.varieties]]
+ name = "red delicious"
+
+ [[fruits.varieties]]
+ name = "granny smith"|]
```
-### Larger Example
+## More Examples
A demonstration of using this package at a more realistic scale
-can be found in [HieDemoSpec](test/HieDemoSpec.hs).
+can be found in [HieDemoSpec](test/HieDemoSpec.hs). The various unit
+test files demonstrate what you can do with this library and what
+outputs you can expect.
+
+See the low-level operations used to build a TOML syntax highlighter
+in [TomlHighlighter](test-drivers/highlighter/Main.hs).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/src/Toml/FromValue.hs new/toml-parser-1.3.1.0/src/Toml/FromValue.hs
--- old/toml-parser-1.3.0.0/src/Toml/FromValue.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/src/Toml/FromValue.hs 2001-09-09 03:46:40.000000000 +0200
@@ -60,7 +60,6 @@
import Data.Ratio (Ratio)
import Data.Sequence (Seq)
import Data.Sequence qualified as Seq
-import Data.String (IsString (fromString))
import Data.Text qualified
import Data.Text.Lazy qualified
import Data.Time (ZonedTime, LocalTime, Day, TimeOfDay)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/src/Toml/Lexer/Utils.hs new/toml-parser-1.3.1.0/src/Toml/Lexer/Utils.hs
--- old/toml-parser-1.3.0.0/src/Toml/Lexer/Utils.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/src/Toml/Lexer/Utils.hs 2001-09-09 03:46:40.000000000 +0200
@@ -40,18 +40,19 @@
startLstr,
endStr,
unicodeEscape,
+ recommendEscape,
mkError,
) where
-import Data.Char (ord, chr, isAscii)
+import Data.Char (ord, chr, isAscii, isControl)
import Data.Foldable (asum)
import Data.Time.Format (parseTimeM, defaultTimeLocale, ParseTime)
import Numeric (readHex)
-
+import Text.Printf (printf)
+import Toml.Lexer.Token (Token(..))
import Toml.Located (Located(..))
import Toml.Position (move, Position)
-import Toml.Lexer.Token (Token(..))
-- | Type of actions associated with lexer patterns
type Action = Located String -> Context -> Outcome
@@ -115,6 +116,10 @@
| otherwise -> strFrag (Located p [chr n]) ctx
_ -> error "unicodeEscape: panic"
+recommendEscape :: Action
+recommendEscape (Located p x) _ =
+ LexerError (Located p (printf "control characters must be escaped, use: \\u%04X" (ord (head x))))
+
-- | Emit a token ignoring the current lexeme
token_ :: Token -> Action
token_ t x _ = EmitToken (t <$ x)
@@ -167,4 +172,6 @@
mkError "" = "unexpected end-of-input"
mkError ('\n':_) = "unexpected end-of-line"
mkError ('\r':'\n':_) = "unexpected end-of-line"
-mkError (x:_) = "unexpected " ++ show x
\ No newline at end of file
+mkError (x:_)
+ | isControl x = "control characters prohibited"
+ | otherwise = "unexpected " ++ show x
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/src/Toml/Lexer.x new/toml-parser-1.3.1.0/src/Toml/Lexer.x
--- old/toml-parser-1.3.0.0/src/Toml/Lexer.x 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/src/Toml/Lexer.x 2001-09-09 03:46:40.000000000 +0200
@@ -37,6 +37,7 @@
$hexdig = [ $digit A-F a-f ]
$basic_unescaped = [ $wschar \x21 \x23-\x5B \x5D-\x7E $non_ascii ]
$comment_start_symbol = \#
+$control = [\x00-\x1F \x7F]
@barekey = [0-9 A-Z a-z \- _]+
@@ -89,6 +90,7 @@
toml :-
+
<val> {
@bad_dec_int { failure "leading zero prohibited" }
@@ -170,6 +172,7 @@
\\ b { strFrag . ("\b" <$) }
\\ \\ { strFrag . ("\\" <$) }
\\ \" { strFrag . ("\"" <$) }
+ $control # [\t\r\n] { recommendEscape }
}
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/src/Toml/Pretty.hs new/toml-parser-1.3.1.0/src/Toml/Pretty.hs
--- old/toml-parser-1.3.0.0/src/Toml/Pretty.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/src/Toml/Pretty.hs 2001-09-09 03:46:40.000000000 +0200
@@ -36,12 +36,13 @@
-- * Pretty errors
prettySemanticError,
prettyMatchMessage,
+ prettyLocated,
) where
import Data.Char (ord, isAsciiLower, isAsciiUpper, isDigit, isPrint)
import Data.Foldable (fold)
import Data.List (partition, sortOn)
-import Data.List.NonEmpty (NonEmpty((:|)))
+import Data.List.NonEmpty (NonEmpty)
import Data.List.NonEmpty qualified as NonEmpty
import Data.Map qualified as Map
import Data.String (fromString)
@@ -51,7 +52,9 @@
import Text.Printf (printf)
import Toml.FromValue.Matcher (MatchMessage(..), Scope (..))
import Toml.Lexer (Token(..))
+import Toml.Located (Located(..))
import Toml.Parser.Types (SectionKind(..))
+import Toml.Position (Position(..))
import Toml.Semantics (SemanticError (..), SemanticErrorKind (..))
import Toml.Value (Value(..), Table)
@@ -102,6 +105,25 @@
| x <= '\xffff' -> printf "\\u%04X%s" (ord x) (go xs)
| otherwise -> printf "\\U%08X%s" (ord x) (go xs)
+-- | Quote a string using basic string literal syntax.
+quoteMlString :: String -> String
+quoteMlString = ("\"\"\"\n"++) . go
+ where
+ go = \case
+ "" -> "\"\"\"" -- terminator
+ '"' : '"' : '"' : xs -> "\"\"\\\"" ++ go xs
+ '\\' : xs -> '\\' : '\\' : go xs
+ '\b' : xs -> '\\' : 'b' : go xs
+ '\f' : xs -> '\\' : 'f' : go xs
+ '\t' : xs -> '\\' : 't' : go xs
+ '\n' : xs -> '\n' : go xs
+ '\r' : '\n' : xs -> '\r' : '\n' : go xs
+ '\r' : xs -> '\\' : 'r' : go xs
+ x : xs
+ | isPrint x -> x : go xs
+ | x <= '\xffff' -> printf "\\u%04X%s" (ord x) (go xs)
+ | otherwise -> printf "\\U%08X%s" (ord x) (go xs)
+
-- | Pretty-print a section heading. The result is annotated as a 'TableClass'.
prettySectionKind :: SectionKind -> NonEmpty String -> TomlDoc
prettySectionKind TableKind key =
@@ -155,7 +177,7 @@
Table t -> lbrace <> concatWith (surround ", ") [prettyAssignment k v | (k,v) <- Map.assocs t] <> rbrace
Bool True -> annotate BoolClass "true"
Bool False -> annotate BoolClass "false"
- String str -> annotate StringClass (fromString (quoteString str))
+ String str -> prettySmartString str
TimeOfDay tod -> annotate DateClass (fromString (formatTime defaultTimeLocale "%H:%M:%S%Q" tod))
ZonedTime zt
| timeZoneMinutes (zonedTimeZone zt) == 0 ->
@@ -164,7 +186,38 @@
LocalTime lt -> annotate DateClass (fromString (formatTime defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Q" lt))
Day d -> annotate DateClass (fromString (formatTime defaultTimeLocale "%Y-%m-%d" d))
--- | Predicate for values that should be completely rendered on the
+prettySmartString :: String -> TomlDoc
+prettySmartString str
+ | '\n' `elem` str =
+ column \i ->
+ pageWidth \case
+ AvailablePerLine n _ | length str > n - i ->
+ prettyMlString str
+ _ -> prettyString str
+ | otherwise = prettyString str
+
+prettyMlString :: String -> TomlDoc
+prettyMlString str = annotate StringClass (column \i -> hang (-i) (fromString (quoteMlString str)))
+
+prettyString :: String -> TomlDoc
+prettyString str = annotate StringClass (fromString (quoteString str))
+
+-- | Predicate for values that CAN rendered on the
+-- righthand-side of an @=@.
+isSimple :: Value -> Bool
+isSimple = \case
+ Integer _ -> True
+ Float _ -> True
+ Bool _ -> True
+ String _ -> True
+ TimeOfDay _ -> True
+ ZonedTime _ -> True
+ LocalTime _ -> True
+ Day _ -> True
+ Table x -> isSingularTable x -- differs from isAlwaysSimple
+ Array x -> null x || not (all isTable x)
+
+-- | Predicate for values that can be MUST rendered on the
-- righthand-side of an @=@.
isAlwaysSimple :: Value -> Bool
isAlwaysSimple = \case
@@ -176,7 +229,7 @@
ZonedTime _ -> True
LocalTime _ -> True
Day _ -> True
- Table x -> isSingularTable x
+ Table _ -> False -- differs from isSimple
Array x -> null x || not (all isTable x)
-- | Predicate for table values.
@@ -188,7 +241,7 @@
-- These can be collapsed using dotted-key notation on the lefthand-side
-- of a @=@.
isSingularTable :: Table -> Bool
-isSingularTable (Map.elems -> [v]) = isAlwaysSimple v
+isSingularTable (Map.elems -> [v]) = isSimple v
isSingularTable _ = False
-- | Render a complete TOML document using top-level table and array of
@@ -259,31 +312,31 @@
NoProjection -> id
KeyProjection f -> sortOn (f prefix . fst)
- (simple, sections) = partition (isAlwaysSimple . snd) (order (Map.assocs t))
+ kvs = order (Map.assocs t)
+
+ -- this table will require no subsequent tables to be defined
+ simpleToml = all isSimple t
+
+ (simple, sections) = partition (isAlwaysSimple . snd) kvs
topLines = [fold topElts | let topElts = headers ++ assignments, not (null topElts)]
headers =
case NonEmpty.nonEmpty prefix of
- Just key | not (null simple) || null sections || kind == ArrayTableKind ->
+ Just key | simpleToml || not (null simple) || null sections || kind == ArrayTableKind ->
[prettySectionKind kind key <> hardline]
_ -> []
- assignments = [prettyAssignment k v <> hardline | (k,v) <- simple]
+ assignments = [prettyAssignment k v <> hardline | (k,v) <- if simpleToml then kvs else simple]
- subtables = [prettySection (prefix `snoc` k) v | (k,v) <- sections]
+ subtables = [prettySection (prefix ++ [k]) v | not simpleToml, (k,v) <- sections]
prettySection key (Table tab) =
- prettyToml_ mbKeyProj TableKind (NonEmpty.toList key) tab
+ prettyToml_ mbKeyProj TableKind key tab
prettySection key (Array a) =
- vcat [prettyToml_ mbKeyProj ArrayTableKind (NonEmpty.toList key) tab | Table tab <- a]
+ vcat [prettyToml_ mbKeyProj ArrayTableKind key tab | Table tab <- a]
prettySection _ _ = error "prettySection applied to simple value"
--- | Create a 'NonEmpty' with a given prefix and last element.
-snoc :: [a] -> a -> NonEmpty a
-snoc [] y = y :| []
-snoc (x : xs) y = x :| xs ++ [y]
-
-- | Render a semantic TOML error in a human-readable string.
--
-- @since 1.3.0.0
@@ -304,3 +357,6 @@
where
f (ScopeIndex i) = ('[' :) . shows i . (']':)
f (ScopeKey key) = ('.' :) . shows (prettySimpleKey key)
+
+prettyLocated :: Located String -> String
+prettyLocated (Located p s) = printf "%d:%d: %s" (posLine p) (posColumn p) s
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/src/Toml/Semantics/Ordered.hs new/toml-parser-1.3.1.0/src/Toml/Semantics/Ordered.hs
--- old/toml-parser-1.3.0.0/src/Toml/Semantics/Ordered.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/toml-parser-1.3.1.0/src/Toml/Semantics/Ordered.hs 2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,113 @@
+{-|
+Module : Toml.Semantics.Ordered
+Description : Tool for extracting an ordering from an existing TOML file
+Copyright : (c) Eric Mertens, 2023
+License : ISC
+Maintainer : emertens(a)gmail.com
+
+This module can help build a key ordering projection given an existing
+TOML file. This could be useful for applying a transformation to a TOML
+file before pretty-printing it back in something very close to the
+original order.
+
+When using the computed order, table keys will be remembered in the order
+they appeared in the source file. Any key additional keys added to the
+tables will be ordered alphabetically after all the known keys.
+
+@
+demo =
+ do txt <- 'readFile' \"demo.toml\"
+ let Right exprs = 'Toml.Parser.parseRawToml' txt
+ to = 'extractTableOrder' exprs
+ Right toml = 'Toml.Semantics.semantics' exprs
+ projection = 'projectKey' to
+ 'print' ('Toml.Pretty.prettyTomlOrdered' projection toml)
+@
+
+@since 1.3.1.0
+
+-}
+module Toml.Semantics.Ordered (
+ TableOrder,
+ extractTableOrder,
+ projectKey,
+ ProjectedKey,
+ debugTableOrder,
+ ) where
+
+import Data.Foldable (foldl', toList)
+import Data.List (sortOn)
+import Data.Map (Map)
+import Data.Map qualified as Map
+import Toml.Located (Located(locThing))
+import Toml.Parser.Types (Expr(..), Key, Val(ValTable, ValArray))
+
+-- | Summary of the order of the keys in a TOML document.
+newtype TableOrder = TO (Map String KeyOrder)
+
+data KeyOrder = KeyOrder !Int TableOrder
+
+newtype ProjectedKey = PK (Either Int String)
+ deriving (Eq, Ord)
+
+-- | Generate a projection function for use with 'Toml.Pretty.prettyTomlOrdered'
+projectKey ::
+ TableOrder {- ^ table order -} ->
+ [String] {- ^ table path -} ->
+ String {- ^ key -} ->
+ ProjectedKey {- ^ type suitable for ordering table keys -}
+projectKey (TO to) [] = \k ->
+ case Map.lookup k to of
+ Just (KeyOrder i _) -> PK (Left i)
+ Nothing -> PK (Right k)
+projectKey (TO to) (p:ps) =
+ case Map.lookup p to of
+ Just (KeyOrder _ to') -> projectKey to' ps
+ Nothing -> PK . Right
+
+emptyOrder :: TableOrder
+emptyOrder = TO Map.empty
+
+-- | Extract a 'TableOrder' from the output of 'Toml.Parser.parseRawToml'
+-- to be later used with 'projectKey'.
+extractTableOrder :: [Expr] -> TableOrder
+extractTableOrder = snd . foldl' addExpr ([], emptyOrder)
+
+addExpr :: ([String], TableOrder) -> Expr -> ([String], TableOrder)
+addExpr (prefix, to) = \case
+ TableExpr k -> let k' = keyPath k in (k', addKey to k')
+ ArrayTableExpr k -> let k' = keyPath k in (k', addKey to k')
+ KeyValExpr k v -> (prefix, addVal prefix (addKey to (prefix ++ keyPath k)) v)
+
+addVal :: [String] -> TableOrder -> Val -> TableOrder
+addVal prefix to = \case
+ ValArray xs -> foldl' (addVal prefix) to xs
+ ValTable kvs -> foldl' (\acc (k,v) ->
+ let k' = prefix ++ keyPath k in
+ addVal k' (addKey acc k') v) to kvs
+ _ -> to
+
+addKey :: TableOrder -> [String] -> TableOrder
+addKey to [] = to
+addKey (TO to) (x:xs) = TO (Map.alter f x to)
+ where
+ f Nothing = Just (KeyOrder (Map.size to) (addKey emptyOrder xs))
+ f (Just (KeyOrder i m)) = Just (KeyOrder i (addKey m xs))
+
+keyPath :: Key -> [String]
+keyPath = map locThing . toList
+
+-- | Render a white-space nested representation of the key ordering extracted
+-- by 'extractTableOrder'. This is provided for debugging and understandability.
+debugTableOrder :: TableOrder -> String
+debugTableOrder to = unlines (go 0 to [])
+ where
+ go i (TO m) z =
+ foldr (go1 i) z
+ (sortOn p (Map.assocs m))
+
+ go1 i (k, KeyOrder _ v) z =
+ (replicate (4*i) ' ' ++ k) :
+ go (i+1) v z
+
+ p (_, KeyOrder i _) = i
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/src/Toml.hs new/toml-parser-1.3.1.0/src/Toml.hs
--- old/toml-parser-1.3.0.0/src/Toml.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/src/Toml.hs 2001-09-09 03:46:40.000000000 +0200
@@ -32,13 +32,10 @@
Result(..),
) where
-import Text.Printf (printf)
import Toml.FromValue (FromValue (fromValue), Result(..))
import Toml.FromValue.Matcher (runMatcher)
-import Toml.Located (Located(Located))
import Toml.Parser (parseRawToml)
-import Toml.Position (Position(posColumn, posLine))
-import Toml.Pretty (TomlDoc, DocClass(..), prettyToml, prettySemanticError, prettyMatchMessage)
+import Toml.Pretty (TomlDoc, DocClass(..), prettyToml, prettySemanticError, prettyMatchMessage, prettyLocated)
import Toml.Semantics (semantics)
import Toml.ToValue (ToTable (toTable))
import Toml.Value (Table, Value(..))
@@ -47,11 +44,10 @@
parse :: String -> Either String Table
parse str =
case parseRawToml str of
- Left (Located p e) -> Left (printf "%d:%d: %s" (posLine p) (posColumn p) e)
+ Left e -> Left (prettyLocated e)
Right exprs ->
case semantics exprs of
- Left (Located p e) ->
- Left (printf "%d:%d: %s" (posLine p) (posColumn p) (prettySemanticError e))
+ Left e -> Left (prettyLocated (prettySemanticError <$> e))
Right tab -> Right tab
-- | Use the 'FromValue' instance to decode a value from a TOML string.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/test/DecodeSpec.hs new/toml-parser-1.3.1.0/test/DecodeSpec.hs
--- old/toml-parser-1.3.0.0/test/DecodeSpec.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/test/DecodeSpec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -1,13 +1,12 @@
{-# Language DuplicateRecordFields #-}
module DecodeSpec (spec) where
-import Data.Map qualified as Map
import Data.Maybe (fromMaybe)
import GHC.Generics (Generic)
import QuoteStr (quoteStr)
import Test.Hspec (it, shouldBe, Spec)
-import Toml (decode, Result(Success), encode)
-import Toml.FromValue (FromValue(..), runParseTable, reqKey, optKey)
+import Toml (decode, Result, encode)
+import Toml.FromValue (FromValue(..), reqKey, optKey)
import Toml.FromValue.Generic (genericParseTable)
import Toml.ToValue (ToTable(..), ToValue(toValue), table, (.=), defaultTableToValue)
import Toml.ToValue.Generic (genericToTable)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/test/FromValueSpec.hs new/toml-parser-1.3.1.0/test/FromValueSpec.hs
--- old/toml-parser-1.3.0.0/test/FromValueSpec.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/test/FromValueSpec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -12,7 +12,7 @@
import Control.Monad (when)
import Test.Hspec (it, shouldBe, Spec)
import Toml (Result(..), Value(..))
-import Toml.FromValue (Result(..), FromValue(fromValue), optKey, parseTableFromValue, reqKey, warnTable, pickKey, runParseTable)
+import Toml.FromValue (FromValue(fromValue), optKey, reqKey, warnTable, pickKey, runParseTable)
import Toml.FromValue.Matcher (Matcher, runMatcher)
import Toml.FromValue.ParseTable (KeyAlt(..))
import Toml.Pretty (prettyMatchMessage)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/test/HieDemoSpec.hs new/toml-parser-1.3.1.0/test/HieDemoSpec.hs
--- old/toml-parser-1.3.0.0/test/HieDemoSpec.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/test/HieDemoSpec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -15,11 +15,10 @@
-}
module HieDemoSpec where
-import Control.Applicative (optional)
import GHC.Generics ( Generic )
import QuoteStr (quoteStr)
import Test.Hspec (Spec, it, shouldBe)
-import Toml (Value(Table, Array), Table, Result(..), decode)
+import Toml (Value(Table, Array), Table, decode)
import Toml.FromValue
import Toml.FromValue.Generic (genericParseTable)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/test/LexerSpec.hs new/toml-parser-1.3.1.0/test/LexerSpec.hs
--- old/toml-parser-1.3.0.0/test/LexerSpec.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/test/LexerSpec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -9,7 +9,17 @@
do it "handles special cased control character" $
parse "x = '\SOH'"
`shouldBe`
- Left "1:6: lexical error: unexpected '\\SOH'"
+ Left "1:6: lexical error: control characters prohibited"
+
+ it "recommends escapes for control characters (1)" $
+ parse "x = \"\SOH\""
+ `shouldBe`
+ Left "1:6: lexical error: control characters must be escaped, use: \\u0001"
+
+ it "recommends escapes for control characters (2)" $
+ parse "x = \"\DEL\""
+ `shouldBe`
+ Left "1:6: lexical error: control characters must be escaped, use: \\u007F"
-- These seem boring, but they provide test coverage of an error case in the state machine
it "handles unexpected '}'" $
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/test/PrettySpec.hs new/toml-parser-1.3.1.0/test/PrettySpec.hs
--- old/toml-parser-1.3.0.0/test/PrettySpec.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/test/PrettySpec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -29,9 +29,10 @@
it "renders empty tables" $
fmap tomlString (parse "x.y.z={}\nz.y.w=false")
`shouldBe` Right [quoteStr|
- z.y.w = false
+ [x.y.z]
- [x.y.z]|]
+ [z]
+ y.w = false|]
it "renders empty tables in array of tables" $
fmap tomlString (parse "ex=[{},{},{a=9}]")
@@ -59,6 +60,24 @@
`shouldBe` Right [quoteStr|
a = "\\\b\t\r\n\f\"\u007F\U0001000C"|]
+ it "renders multiline strings" $
+ fmap tomlString (parse [quoteStr|
+ Everything-I-Touch = "Everything I touch\nwith tenderness, alas,\npricks like a bramble."
+ Two-More = [
+ "The west wind whispered,\nAnd touched the eyelids of spring:\nHer eyes, Primroses.",
+ "Plum flower temple:\nVoices rise\nFrom the foothills",
+ ]|])
+ `shouldBe` Right [quoteStr|
+ Everything-I-Touch = """
+ Everything I touch
+ with tenderness, alas,
+ pricks like a bramble."""
+ Two-More = [ """
+ The west wind whispered,
+ And touched the eyelids of spring:
+ Her eyes, Primroses."""
+ , "Plum flower temple:\nVoices rise\nFrom the foothills" ]|]
+
it "renders floats" $
fmap tomlString (parse "a=0.0\nb=-0.1\nc=0.1\nd=3.141592653589793\ne=4e123")
`shouldBe` Right [quoteStr|
@@ -106,3 +125,15 @@
`shouldBe` Right [quoteStr|
x = [ [ {a = "this is a longer example", b = "and it will linewrap"}
, {c = "all on its own"} ] ]|]
+
+ it "factors out unique table prefixes in leaf tables" $
+ fmap tomlString (parse [quoteStr|
+ [x]
+ i = 1
+ p.q = "a"
+ y.z = "c"|])
+ `shouldBe` Right [quoteStr|
+ [x]
+ i = 1
+ p.q = "a"
+ y.z = "c"|]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/toml-parser-1.3.0.0/toml-parser.cabal new/toml-parser-1.3.1.0/toml-parser.cabal
--- old/toml-parser-1.3.0.0/toml-parser.cabal 2001-09-09 03:46:40.000000000 +0200
+++ new/toml-parser-1.3.1.0/toml-parser.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: toml-parser
-version: 1.3.0.0
+version: 1.3.1.0
synopsis: TOML 1.0.0 parser
description:
TOML parser using generated lexers and parsers with
@@ -13,7 +13,7 @@
copyright: 2023 Eric Mertens
category: Text
build-type: Simple
-tested-with: GHC == {8.10.7, 9.0.2, 9.2.8, 9.4.5, 9.6.2}
+tested-with: GHC == {8.10.7, 9.0.2, 9.2.8, 9.4.7, 9.6.3}
extra-doc-files:
ChangeLog.md
@@ -60,6 +60,7 @@
Toml.Position
Toml.Pretty
Toml.Semantics
+ Toml.Semantics.Ordered
Toml.ToValue
Toml.ToValue.Generic
Toml.Value
@@ -68,8 +69,8 @@
Toml.Parser.Utils
build-depends:
array ^>= 0.5,
- base ^>= {4.14, 4.15, 4.16, 4.17, 4.18},
- containers ^>= {0.5, 0.6},
+ base ^>= {4.14, 4.15, 4.16, 4.17, 4.18, 4.19},
+ containers ^>= {0.5, 0.6, 0.7},
prettyprinter ^>= 1.7,
text >= 0.2 && < 3,
time ^>= {1.9, 1.10, 1.11, 1.12},
@@ -91,7 +92,7 @@
base,
containers,
hspec ^>= {2.10, 2.11},
- template-haskell ^>= {2.16, 2.17, 2.18, 2.19, 2.20},
+ template-haskell ^>= {2.16, 2.17, 2.18, 2.19, 2.20, 2.21},
time,
toml-parser,
other-modules:
@@ -108,9 +109,18 @@
import: extensions
type: exitcode-stdio-1.0
main-is: README.lhs
- ghc-options: -pgmL markdown-unlit
+ ghc-options: -pgmL markdown-unlit -optL "haskell toml"
+ default-extensions:
+ QuasiQuotes
+ other-modules:
+ QuoteStr
+ hs-source-dirs:
+ .
+ test
build-depends:
base,
toml-parser,
+ hspec ^>= {2.10, 2.11},
+ template-haskell ^>= {2.16, 2.17, 2.18, 2.19, 2.20, 2.21},
build-tool-depends:
markdown-unlit:markdown-unlit ^>= {0.5.1, 0.6.0},
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-skylighting-core for openSUSE:Factory checked in at 2023-12-05 17:03:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-skylighting-core (Old)
and /work/SRC/openSUSE:Factory/.ghc-skylighting-core.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-skylighting-core"
Tue Dec 5 17:03:49 2023 rev:37 rq:1130923 version:0.14.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-skylighting-core/ghc-skylighting-core.changes 2023-11-23 21:43:08.332995701 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-skylighting-core.new.25432/ghc-skylighting-core.changes 2023-12-05 17:04:12.067325838 +0100
@@ -1,0 +2,31 @@
+Mon Dec 4 16:40:05 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update skylighting-core to version 0.14.1.
+ ## 0.14.1
+
+ * Update syntax definitions for julia, actionscript, bash, cpp, css,
+ djangotemplate, dosbat, groovy, html, ini, isocpp, java, javadoc, json,
+ jsp, latex, makefile, mustache, php, powershell, rest, rhtml,
+ sass, scala, scss, toml, xml, raku (with patch).
+
+ * Many improvements to regular expression compilation:
+
+ - Properly recognize unicode characters.
+ - Handle `\Q..\E` literal sequences.
+ - Handle group modifiers like `(?i:etc.)`. (The only one
+ we actually pay attention to is `i`.)
+ - Allow unicode category escapes outside of character classes.
+ - Support one-letter unicode category escapes like `\p{L}`.
+ These are found in some of the newer syntax definitions.
+
+ * Improve regex matching:
+
+ - Fix `wordDetect` to work around an issue in the new html.xml.
+ - Refactor and fix `atWordBoundary`: remove redundant checks, and
+ fix behavior (`/x\b/` was behaving like `/\bx\b/`) (Côme ALLART).
+ - Fix bug in `lastCharOffset` (Côme ALLART).
+
+ * Style: Allow colors to be specified in ARGB format (#178).
+ We currently just ignore the A part, but at least we don't fail.
+
+-------------------------------------------------------------------
Old:
----
skylighting-core-0.14.tar.gz
New:
----
skylighting-core-0.14.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-skylighting-core.spec ++++++
--- /var/tmp/diff_new_pack.S4VTJv/_old 2023-12-05 17:04:13.235368892 +0100
+++ /var/tmp/diff_new_pack.S4VTJv/_new 2023-12-05 17:04:13.235368892 +0100
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.14
+Version: 0.14.1
Release: 0
Summary: Syntax highlighting library
License: BSD-3-Clause
++++++ skylighting-core-0.14.tar.gz -> skylighting-core-0.14.1.tar.gz ++++++
++++ 10382 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-servant for openSUSE:Factory checked in at 2023-12-05 17:03:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-servant (Old)
and /work/SRC/openSUSE:Factory/.ghc-servant.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-servant"
Tue Dec 5 17:03:46 2023 rev:15 rq:1130920 version:0.20.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-servant/ghc-servant.changes 2023-11-23 21:42:04.430642033 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-servant.new.25432/ghc-servant.changes 2023-12-05 17:04:08.051177800 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 21:41:34 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update servant to version 0.20.1 revision 2.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
New:
----
servant.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-servant.spec ++++++
--- /var/tmp/diff_new_pack.RKpSzr/_old 2023-12-05 17:04:08.671200654 +0100
+++ /var/tmp/diff_new_pack.RKpSzr/_new 2023-12-05 17:04:08.671200654 +0100
@@ -26,6 +26,7 @@
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-QuickCheck-prof
@@ -119,6 +120,7 @@
%prep
%autosetup -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ servant.cabal ++++++
cabal-version: 2.2
name: servant
version: 0.20.1
x-revision: 2
synopsis: A family of combinators for defining webservices APIs
category: Servant, Web
description:
A family of combinators for defining webservices APIs and serving them
.
You can learn about the basics in the <http://docs.servant.dev/en/stable/tutorial/index.html tutorial>.
.
<https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md CHANGELOG>
homepage: http://docs.servant.dev/
bug-reports: http://github.com/haskell-servant/servant/issues
license: BSD-3-Clause
license-file: LICENSE
author: Servant Contributors
maintainer: haskell-servant-maintainers(a)googlegroups.com
copyright: 2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
build-type: Simple
tested-with: GHC==8.6.5, GHC==8.8.4, GHC ==8.10.7, GHC ==9.0.2, GHC ==9.2.7, GHC ==9.4.4
, GHCJS ==8.6.0.1
extra-source-files:
CHANGELOG.md
source-repository head
type: git
location: http://github.com/haskell-servant/servant.git
library
exposed-modules:
Servant.API
Servant.API.Alternative
Servant.API.BasicAuth
Servant.API.Capture
Servant.API.ContentTypes
Servant.API.Description
Servant.API.Empty
Servant.API.Experimental.Auth
Servant.API.Fragment
Servant.API.Generic
Servant.API.Header
Servant.API.HttpVersion
Servant.API.IsSecure
Servant.API.Modifiers
Servant.API.NamedRoutes
Servant.API.QueryParam
Servant.API.Raw
Servant.API.RemoteHost
Servant.API.ReqBody
Servant.API.ResponseHeaders
Servant.API.Status
Servant.API.Stream
Servant.API.Sub
Servant.API.TypeErrors
Servant.API.TypeLevel
Servant.API.UVerb
Servant.API.UVerb.Union
Servant.API.Vault
Servant.API.Verbs
Servant.API.WithNamedContext
Servant.API.WithResource
-- Types
exposed-modules:
Servant.Types.SourceT
-- Test stuff
exposed-modules:
Servant.Test.ComprehensiveAPI
-- Safe links
exposed-modules:
Servant.Links
-- Bundled with GHC: Lower bound to not force re-installs
-- text and mtl are bundled starting with GHC-8.4
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.9 && < 4.20
, bytestring >= 0.10.8.1 && < 0.13
, constraints >= 0.2
, mtl ^>= 2.2.2 || ^>= 2.3.1
, sop-core >= 0.4.0.0 && < 0.6
, transformers >= 0.5.2.0 && < 0.7
, text >= 1.2.3.0 && < 2.2
-- We depend (heavily) on the API of these packages:
-- i.e. re-export, or allow using without direct dependency
build-depends:
http-api-data >= 0.4.1 && < 0.7
, singleton-bool >= 0.1.4 && < 0.2
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
base-compat >= 0.10.5 && < 0.14
, aeson >= 1.4.1.0 && < 2.3
, attoparsec >= 0.13.2.2 && < 0.15
, bifunctors >= 5.5.3 && < 5.7
, case-insensitive >= 1.2.0.11 && < 1.3
, deepseq >= 1.4.2.0 && < 1.6
, http-media >= 0.7.1.3 && < 0.9
, http-types >= 0.12.2 && < 0.13
, mmorph >= 1.1.2 && < 1.3
, network-uri >= 2.6.1.0 && < 2.7
, QuickCheck >= 2.12.6.1 && < 2.15
, string-conversions >= 0.4.0.1 && < 0.5
, tagged >= 0.8.6 && < 0.9
, vault >= 0.3.1.2 && < 0.4
hs-source-dirs: src
default-language: Haskell2010
other-extensions: AllowAmbiguousTypes
, CPP
, ConstraintKinds
, DataKinds
, DeriveDataTypeable
, DeriveGeneric
, ExplicitNamespaces
, FlexibleContexts
, FlexibleInstances
, FunctionalDependencies
, GADTs
, KindSignatures
, MultiParamTypeClasses
, OverloadedStrings
, PolyKinds
, RankNTypes
, ScopedTypeVariables
, TupleSections
, TypeFamilies
, TypeOperators
, UndecidableInstances
ghc-options: -Wall -Wno-redundant-constraints
test-suite spec
type: exitcode-stdio-1.0
ghc-options: -Wall
default-language: Haskell2010
hs-source-dirs: test
main-is: Spec.hs
other-modules:
Servant.API.ContentTypesSpec
Servant.API.ResponseHeadersSpec
Servant.API.StreamSpec
Servant.LinksSpec
-- Dependencies inherited from the library. No need to specify bounds.
build-depends:
base
, base-compat
, aeson
, bytestring
, http-media
, mtl
, servant
, string-conversions
, text
, transformers
-- Additional dependencies
build-depends:
hspec >= 2.6.0 && < 2.12
, QuickCheck >= 2.12.6.1 && < 2.15
, quickcheck-instances >= 0.3.19 && < 0.4
build-tool-depends:
hspec-discover:hspec-discover >= 2.6.0 && < 2.12
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package arkade for openSUSE:Factory checked in at 2023-12-05 17:03:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arkade (Old)
and /work/SRC/openSUSE:Factory/.arkade.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arkade"
Tue Dec 5 17:03:38 2023 rev:22 rq:1130913 version:0.10.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/arkade/arkade.changes 2023-11-28 22:20:07.283371126 +0100
+++ /work/SRC/openSUSE:Factory/.arkade.new.25432/arkade.changes 2023-12-05 17:03:55.954731920 +0100
@@ -1,0 +2,9 @@
+Tue Dec 05 08:32:30 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.10.17:
+ * Add rgee/snowmachine for the festive period
+ * Bump github.com/google/go-containerregistry from 0.16.1 to
+ 0.17.0
+ * Bump golang.org/x/crypto from 0.15.0 to 0.16.0
+
+-------------------------------------------------------------------
Old:
----
arkade-0.10.16.obscpio
New:
----
arkade-0.10.17.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ arkade.spec ++++++
--- /var/tmp/diff_new_pack.4jQK2M/_old 2023-12-05 17:03:57.066772911 +0100
+++ /var/tmp/diff_new_pack.4jQK2M/_new 2023-12-05 17:03:57.066772911 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: arkade
-Version: 0.10.16
+Version: 0.10.17
Release: 0
Summary: Open Source Kubernetes Marketplace
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.4jQK2M/_old 2023-12-05 17:03:57.094773942 +0100
+++ /var/tmp/diff_new_pack.4jQK2M/_new 2023-12-05 17:03:57.098774090 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/alexellis/arkade</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">0.10.16</param>
+ <param name="revision">0.10.17</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.4jQK2M/_old 2023-12-05 17:03:57.114774679 +0100
+++ /var/tmp/diff_new_pack.4jQK2M/_new 2023-12-05 17:03:57.118774827 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/alexellis/arkade</param>
- <param name="changesrevision">8363b67093b15fcab8241770d4d843a26765f44e</param></service></servicedata>
+ <param name="changesrevision">3da76f9df8c251560b420a90ed27257da6529a5b</param></service></servicedata>
(No newline at EOF)
++++++ arkade-0.10.16.obscpio -> arkade-0.10.17.obscpio ++++++
/work/SRC/openSUSE:Factory/arkade/arkade-0.10.16.obscpio /work/SRC/openSUSE:Factory/.arkade.new.25432/arkade-0.10.17.obscpio differ: char 50, line 1
++++++ arkade.obsinfo ++++++
--- /var/tmp/diff_new_pack.4jQK2M/_old 2023-12-05 17:03:57.154776155 +0100
+++ /var/tmp/diff_new_pack.4jQK2M/_new 2023-12-05 17:03:57.158776302 +0100
@@ -1,5 +1,5 @@
name: arkade
-version: 0.10.16
-mtime: 1701083419
-commit: 8363b67093b15fcab8241770d4d843a26765f44e
+version: 0.10.17
+mtime: 1701702890
+commit: 3da76f9df8c251560b420a90ed27257da6529a5b
++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go new/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go
--- old/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go 2023-12-05 09:32:31.000000000 +0100
@@ -53,7 +53,7 @@
var (
// DefaultKeychain implements Keychain by interpreting the docker config file.
- DefaultKeychain = RefreshingKeychain(&defaultKeychain{}, 5*time.Minute)
+ DefaultKeychain = &defaultKeychain{}
)
const (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/google/go-containerregistry/pkg/v1/layout/gc.go new/vendor/github.com/google/go-containerregistry/pkg/v1/layout/gc.go
--- old/vendor/github.com/google/go-containerregistry/pkg/v1/layout/gc.go 1970-01-01 01:00:00.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/v1/layout/gc.go 2023-12-05 09:32:31.000000000 +0100
@@ -0,0 +1,137 @@
+// Copyright 2018 Google LLC All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// This is an EXPERIMENTAL package, and may change in arbitrary ways without notice.
+package layout
+
+import (
+ "fmt"
+ "io/fs"
+ "path/filepath"
+ "strings"
+
+ v1 "github.com/google/go-containerregistry/pkg/v1"
+)
+
+// GarbageCollect removes unreferenced blobs from the oci-layout
+//
+// This is an experimental api, and not subject to any stability guarantees
+// We may abandon it at any time, without prior notice.
+// Deprecated: Use it at your own risk!
+func (l Path) GarbageCollect() ([]v1.Hash, error) {
+ idx, err := l.ImageIndex()
+ if err != nil {
+ return nil, err
+ }
+ blobsToKeep := map[string]bool{}
+ if err := l.garbageCollectImageIndex(idx, blobsToKeep); err != nil {
+ return nil, err
+ }
+ blobsDir := l.path("blobs")
+ removedBlobs := []v1.Hash{}
+
+ err = filepath.WalkDir(blobsDir, func(path string, d fs.DirEntry, err error) error {
+ if err != nil {
+ return err
+ }
+
+ if d.IsDir() {
+ return nil
+ }
+
+ rel, err := filepath.Rel(blobsDir, path)
+ if err != nil {
+ return err
+ }
+ hashString := strings.Replace(rel, "/", ":", 1)
+ if present := blobsToKeep[hashString]; !present {
+ h, err := v1.NewHash(hashString)
+ if err != nil {
+ return err
+ }
+ removedBlobs = append(removedBlobs, h)
+ }
+ return nil
+ })
+
+ if err != nil {
+ return nil, err
+ }
+
+ return removedBlobs, nil
+}
+
+func (l Path) garbageCollectImageIndex(index v1.ImageIndex, blobsToKeep map[string]bool) error {
+ idxm, err := index.IndexManifest()
+ if err != nil {
+ return err
+ }
+
+ h, err := index.Digest()
+ if err != nil {
+ return err
+ }
+
+ blobsToKeep[h.String()] = true
+
+ for _, descriptor := range idxm.Manifests {
+ if descriptor.MediaType.IsImage() {
+ img, err := index.Image(descriptor.Digest)
+ if err != nil {
+ return err
+ }
+ if err := l.garbageCollectImage(img, blobsToKeep); err != nil {
+ return err
+ }
+ } else if descriptor.MediaType.IsIndex() {
+ idx, err := index.ImageIndex(descriptor.Digest)
+ if err != nil {
+ return err
+ }
+ if err := l.garbageCollectImageIndex(idx, blobsToKeep); err != nil {
+ return err
+ }
+ } else {
+ return fmt.Errorf("gc: unknown media type: %s", descriptor.MediaType)
+ }
+ }
+ return nil
+}
+
+func (l Path) garbageCollectImage(image v1.Image, blobsToKeep map[string]bool) error {
+ h, err := image.Digest()
+ if err != nil {
+ return err
+ }
+ blobsToKeep[h.String()] = true
+
+ h, err = image.ConfigName()
+ if err != nil {
+ return err
+ }
+ blobsToKeep[h.String()] = true
+
+ ls, err := image.Layers()
+ if err != nil {
+ return err
+ }
+ for _, l := range ls {
+ h, err := l.Digest()
+ if err != nil {
+ return err
+ }
+ blobsToKeep[h.String()] = true
+ }
+ return nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go new/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go
--- old/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go 2023-12-05 09:32:31.000000000 +0100
@@ -280,6 +280,11 @@
if _, ok := layer.(*stream.Layer); !ok {
// We can't retry streaming layers.
req.GetBody = getBody
+
+ // If we know the size, set it.
+ if size, err := layer.Size(); err == nil {
+ req.ContentLength = size
+ }
}
req.Header.Set("Content-Type", "application/octet-stream")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/fcntl.go new/vendor/golang.org/x/sys/unix/fcntl.go
--- old/vendor/golang.org/x/sys/unix/fcntl.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/fcntl.go 2023-12-05 09:32:32.000000000 +0100
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build dragonfly || freebsd || linux || netbsd || openbsd
+//go:build dragonfly || freebsd || linux || netbsd
package unix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/ioctl_linux.go new/vendor/golang.org/x/sys/unix/ioctl_linux.go
--- old/vendor/golang.org/x/sys/unix/ioctl_linux.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/ioctl_linux.go 2023-12-05 09:32:32.000000000 +0100
@@ -231,3 +231,8 @@
func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error {
return ioctlPtr(fd, LOOP_SET_STATUS64, unsafe.Pointer(value))
}
+
+// IoctlLoopConfigure configures all loop device parameters in a single step
+func IoctlLoopConfigure(fd int, value *LoopConfig) error {
+ return ioctlPtr(fd, LOOP_CONFIGURE, unsafe.Pointer(value))
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/mkerrors.sh new/vendor/golang.org/x/sys/unix/mkerrors.sh
--- old/vendor/golang.org/x/sys/unix/mkerrors.sh 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/mkerrors.sh 2023-12-05 09:32:32.000000000 +0100
@@ -519,6 +519,7 @@
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
+ $2 == "LOOP_CONFIGURE" ||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MREMAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ ||
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
@@ -560,7 +561,7 @@
$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||
$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
$2 ~ /^CLONE_[A-Z_]+/ ||
- $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ &&
+ $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+|BPF_F_LINK)$/ &&
$2 ~ /^(BPF|DLT)_/ ||
$2 ~ /^AUDIT_/ ||
$2 ~ /^(CLOCK|TIMER)_/ ||
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_bsd.go new/vendor/golang.org/x/sys/unix/syscall_bsd.go
--- old/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-12-05 09:32:32.000000000 +0100
@@ -316,7 +316,7 @@
if err != nil {
return "", err
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_linux.go new/vendor/golang.org/x/sys/unix/syscall_linux.go
--- old/vendor/golang.org/x/sys/unix/syscall_linux.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_linux.go 2023-12-05 09:32:32.000000000 +0100
@@ -61,15 +61,23 @@
}
//sys fchmodat(dirfd int, path string, mode uint32) (err error)
+//sys fchmodat2(dirfd int, path string, mode uint32, flags int) (err error)
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior
- // and check the flags. Otherwise the mode would be applied to the symlink
- // destination which is not what the user expects.
- if flags&^AT_SYMLINK_NOFOLLOW != 0 {
- return EINVAL
- } else if flags&AT_SYMLINK_NOFOLLOW != 0 {
- return EOPNOTSUPP
+func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
+ // Linux fchmodat doesn't support the flags parameter, but fchmodat2 does.
+ // Try fchmodat2 if flags are specified.
+ if flags != 0 {
+ err := fchmodat2(dirfd, path, mode, flags)
+ if err == ENOSYS {
+ // fchmodat2 isn't available. If the flags are known to be valid,
+ // return EOPNOTSUPP to indicate that fchmodat doesn't support them.
+ if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
+ return EINVAL
+ } else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
+ return EOPNOTSUPP
+ }
+ }
+ return err
}
return fchmodat(dirfd, path, mode)
}
@@ -1302,7 +1310,7 @@
return "", err
}
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_openbsd.go new/vendor/golang.org/x/sys/unix/syscall_openbsd.go
--- old/vendor/golang.org/x/sys/unix/syscall_openbsd.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_openbsd.go 2023-12-05 09:32:32.000000000 +0100
@@ -166,6 +166,20 @@
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
+//sys fcntl(fd int, cmd int, arg int) (n int, err error)
+//sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) = SYS_FCNTL
+
+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
+func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
+ return fcntl(int(fd), cmd, arg)
+}
+
+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
+ _, err := fcntlPtr(int(fd), cmd, unsafe.Pointer(lk))
+ return err
+}
+
//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_solaris.go new/vendor/golang.org/x/sys/unix/syscall_solaris.go
--- old/vendor/golang.org/x/sys/unix/syscall_solaris.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_solaris.go 2023-12-05 09:32:32.000000000 +0100
@@ -158,7 +158,7 @@
if err != nil {
return "", err
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
const ImplementsGetwd = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go new/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
--- old/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go 2023-12-05 09:32:32.000000000 +0100
@@ -1104,7 +1104,7 @@
return "", err
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zerrors_linux.go new/vendor/golang.org/x/sys/unix/zerrors_linux.go
--- old/vendor/golang.org/x/sys/unix/zerrors_linux.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zerrors_linux.go 2023-12-05 09:32:32.000000000 +0100
@@ -486,7 +486,6 @@
BPF_F_ANY_ALIGNMENT = 0x2
BPF_F_BEFORE = 0x8
BPF_F_ID = 0x20
- BPF_F_LINK = 0x2000
BPF_F_NETFILTER_IP_DEFRAG = 0x1
BPF_F_QUERY_EFFECTIVE = 0x1
BPF_F_REPLACE = 0x4
@@ -1802,6 +1801,7 @@
LOCK_SH = 0x1
LOCK_UN = 0x8
LOOP_CLR_FD = 0x4c01
+ LOOP_CONFIGURE = 0x4c0a
LOOP_CTL_ADD = 0x4c80
LOOP_CTL_GET_FREE = 0x4c82
LOOP_CTL_REMOVE = 0x4c81
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_linux.go new/vendor/golang.org/x/sys/unix/zsyscall_linux.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_linux.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_linux.go 2023-12-05 09:32:32.000000000 +0100
@@ -37,6 +37,21 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fchmodat2(dirfd int, path string, mode uint32, flags int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ _, _, e1 := Syscall6(SYS_FCHMODAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ioctl(fd int, req uint, arg uintptr) (err error) {
_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
if e1 != 0 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s 2023-12-05 09:32:32.000000000 +0100
@@ -178,6 +178,11 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4
DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $4
+DATA ·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s 2023-12-05 09:32:32.000000000 +0100
@@ -178,6 +178,11 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s 2023-12-05 09:32:32.000000000 +0100
@@ -178,6 +178,11 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4
DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $4
+DATA ·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s 2023-12-05 09:32:32.000000000 +0100
@@ -178,6 +178,11 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s 2023-12-05 09:32:32.000000000 +0100
@@ -178,6 +178,11 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s 2023-12-05 09:32:32.000000000 +0100
@@ -213,6 +213,12 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_fcntl(SB)
+ RET
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
CALL libc_ppoll(SB)
RET
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go 2023-12-05 09:32:32.000000000 +0100
@@ -584,6 +584,32 @@
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
--- old/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s 2023-12-05 09:32:32.000000000 +0100
@@ -178,6 +178,11 @@
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/ztypes_linux.go new/vendor/golang.org/x/sys/unix/ztypes_linux.go
--- old/vendor/golang.org/x/sys/unix/ztypes_linux.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/ztypes_linux.go 2023-12-05 09:32:32.000000000 +0100
@@ -2671,6 +2671,7 @@
BPF_PROG_TYPE_LSM = 0x1d
BPF_PROG_TYPE_SK_LOOKUP = 0x1e
BPF_PROG_TYPE_SYSCALL = 0x1f
+ BPF_PROG_TYPE_NETFILTER = 0x20
BPF_CGROUP_INET_INGRESS = 0x0
BPF_CGROUP_INET_EGRESS = 0x1
BPF_CGROUP_INET_SOCK_CREATE = 0x2
@@ -2715,6 +2716,11 @@
BPF_PERF_EVENT = 0x29
BPF_TRACE_KPROBE_MULTI = 0x2a
BPF_LSM_CGROUP = 0x2b
+ BPF_STRUCT_OPS = 0x2c
+ BPF_NETFILTER = 0x2d
+ BPF_TCX_INGRESS = 0x2e
+ BPF_TCX_EGRESS = 0x2f
+ BPF_TRACE_UPROBE_MULTI = 0x30
BPF_LINK_TYPE_UNSPEC = 0x0
BPF_LINK_TYPE_RAW_TRACEPOINT = 0x1
BPF_LINK_TYPE_TRACING = 0x2
@@ -2725,6 +2731,18 @@
BPF_LINK_TYPE_PERF_EVENT = 0x7
BPF_LINK_TYPE_KPROBE_MULTI = 0x8
BPF_LINK_TYPE_STRUCT_OPS = 0x9
+ BPF_LINK_TYPE_NETFILTER = 0xa
+ BPF_LINK_TYPE_TCX = 0xb
+ BPF_LINK_TYPE_UPROBE_MULTI = 0xc
+ BPF_PERF_EVENT_UNSPEC = 0x0
+ BPF_PERF_EVENT_UPROBE = 0x1
+ BPF_PERF_EVENT_URETPROBE = 0x2
+ BPF_PERF_EVENT_KPROBE = 0x3
+ BPF_PERF_EVENT_KRETPROBE = 0x4
+ BPF_PERF_EVENT_TRACEPOINT = 0x5
+ BPF_PERF_EVENT_EVENT = 0x6
+ BPF_F_KPROBE_MULTI_RETURN = 0x1
+ BPF_F_UPROBE_MULTI_RETURN = 0x1
BPF_ANY = 0x0
BPF_NOEXIST = 0x1
BPF_EXIST = 0x2
@@ -2742,6 +2760,8 @@
BPF_F_MMAPABLE = 0x400
BPF_F_PRESERVE_ELEMS = 0x800
BPF_F_INNER_MAP = 0x1000
+ BPF_F_LINK = 0x2000
+ BPF_F_PATH_FD = 0x4000
BPF_STATS_RUN_TIME = 0x0
BPF_STACK_BUILD_ID_EMPTY = 0x0
BPF_STACK_BUILD_ID_VALID = 0x1
@@ -2762,6 +2782,7 @@
BPF_F_ZERO_CSUM_TX = 0x2
BPF_F_DONT_FRAGMENT = 0x4
BPF_F_SEQ_NUMBER = 0x8
+ BPF_F_NO_TUNNEL_KEY = 0x10
BPF_F_TUNINFO_FLAGS = 0x10
BPF_F_INDEX_MASK = 0xffffffff
BPF_F_CURRENT_CPU = 0xffffffff
@@ -2778,6 +2799,8 @@
BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10
BPF_F_ADJ_ROOM_NO_CSUM_RESET = 0x20
BPF_F_ADJ_ROOM_ENCAP_L2_ETH = 0x40
+ BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 0x80
+ BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 0x100
BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff
BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38
BPF_F_SYSCTL_BASE_NAME = 0x1
@@ -2866,6 +2889,8 @@
BPF_DEVCG_DEV_CHAR = 0x2
BPF_FIB_LOOKUP_DIRECT = 0x1
BPF_FIB_LOOKUP_OUTPUT = 0x2
+ BPF_FIB_LOOKUP_SKIP_NEIGH = 0x4
+ BPF_FIB_LOOKUP_TBID = 0x8
BPF_FIB_LKUP_RET_SUCCESS = 0x0
BPF_FIB_LKUP_RET_BLACKHOLE = 0x1
BPF_FIB_LKUP_RET_UNREACHABLE = 0x2
@@ -2901,6 +2926,7 @@
BPF_CORE_ENUMVAL_EXISTS = 0xa
BPF_CORE_ENUMVAL_VALUE = 0xb
BPF_CORE_TYPE_MATCHES = 0xc
+ BPF_F_TIMER_ABS = 0x1
)
const (
@@ -2979,6 +3005,12 @@
Encrypt_key [32]uint8
Init [2]uint64
}
+type LoopConfig struct {
+ Fd uint32
+ Size uint32
+ Info LoopInfo64
+ _ [8]uint64
+}
type TIPCSocketAddr struct {
Ref uint32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/syscall_windows.go new/vendor/golang.org/x/sys/windows/syscall_windows.go
--- old/vendor/golang.org/x/sys/windows/syscall_windows.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/syscall_windows.go 2023-12-05 09:32:32.000000000 +0100
@@ -155,6 +155,8 @@
//sys GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW
//sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW
//sys SetDefaultDllDirectories(directoryFlags uint32) (err error)
+//sys AddDllDirectory(path *uint16) (cookie uintptr, err error) = kernel32.AddDllDirectory
+//sys RemoveDllDirectory(cookie uintptr) (err error) = kernel32.RemoveDllDirectory
//sys SetDllDirectory(path string) (err error) = kernel32.SetDllDirectoryW
//sys GetVersion() (ver uint32, err error)
//sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/zsyscall_windows.go new/vendor/golang.org/x/sys/windows/zsyscall_windows.go
--- old/vendor/golang.org/x/sys/windows/zsyscall_windows.go 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/zsyscall_windows.go 2023-12-05 09:32:32.000000000 +0100
@@ -184,6 +184,7 @@
procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo")
procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx")
procGetIfEntry = modiphlpapi.NewProc("GetIfEntry")
+ procAddDllDirectory = modkernel32.NewProc("AddDllDirectory")
procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject")
procCancelIo = modkernel32.NewProc("CancelIo")
procCancelIoEx = modkernel32.NewProc("CancelIoEx")
@@ -330,6 +331,7 @@
procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory")
procReleaseMutex = modkernel32.NewProc("ReleaseMutex")
procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW")
+ procRemoveDllDirectory = modkernel32.NewProc("RemoveDllDirectory")
procResetEvent = modkernel32.NewProc("ResetEvent")
procResizePseudoConsole = modkernel32.NewProc("ResizePseudoConsole")
procResumeThread = modkernel32.NewProc("ResumeThread")
@@ -1605,6 +1607,15 @@
return
}
+func AddDllDirectory(path *uint16) (cookie uintptr, err error) {
+ r0, _, e1 := syscall.Syscall(procAddDllDirectory.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
+ cookie = uintptr(r0)
+ if cookie == 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func AssignProcessToJobObject(job Handle, process Handle) (err error) {
r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0)
if r1 == 0 {
@@ -2876,6 +2887,14 @@
if r1 == 0 {
err = errnoErr(e1)
}
+ return
+}
+
+func RemoveDllDirectory(cookie uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procRemoveDllDirectory.Addr(), 1, uintptr(cookie), 0, 0)
+ if r1 == 0 {
+ err = errnoErr(e1)
+ }
return
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt 2023-11-28 06:55:11.000000000 +0100
+++ new/vendor/modules.txt 2023-12-05 09:32:32.000000000 +0100
@@ -37,7 +37,7 @@
# github.com/fatih/color v1.15.0
## explicit; go 1.17
github.com/fatih/color
-# github.com/google/go-containerregistry v0.16.1
+# github.com/google/go-containerregistry v0.17.0
## explicit; go 1.18
github.com/google/go-containerregistry/internal/and
github.com/google/go-containerregistry/internal/compression
@@ -130,7 +130,7 @@
# github.com/vbatts/tar-split v0.11.5
## explicit; go 1.17
github.com/vbatts/tar-split/archive/tar
-# golang.org/x/crypto v0.15.0
+# golang.org/x/crypto v0.16.0
## explicit; go 1.18
golang.org/x/crypto/bcrypt
golang.org/x/crypto/blowfish
@@ -141,7 +141,7 @@
## explicit; go 1.17
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
-# golang.org/x/sys v0.14.0
+# golang.org/x/sys v0.15.0
## explicit; go 1.18
golang.org/x/sys/execabs
golang.org/x/sys/unix
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libluksde for openSUSE:Factory checked in at 2023-12-05 17:03:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libluksde (Old)
and /work/SRC/openSUSE:Factory/.libluksde.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libluksde"
Tue Dec 5 17:03:34 2023 rev:13 rq:1130897 version:20231204
Changes:
--------
--- /work/SRC/openSUSE:Factory/libluksde/libluksde.changes 2023-11-30 22:01:21.057125433 +0100
+++ /work/SRC/openSUSE:Factory/.libluksde.new.25432/libluksde.changes 2023-12-05 17:03:47.790430980 +0100
@@ -1,0 +2,6 @@
+Tue Dec 5 06:57:22 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231205
+ * No user-relevant changes
+
+-------------------------------------------------------------------
Old:
----
libluksde-experimental-20231128.tar.gz
libluksde-experimental-20231128.tar.gz.asc
New:
----
libluksde-experimental-20231204.tar.gz
libluksde-experimental-20231204.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libluksde.spec ++++++
--- /var/tmp/diff_new_pack.f60MLS/_old 2023-12-05 17:03:48.570459733 +0100
+++ /var/tmp/diff_new_pack.f60MLS/_new 2023-12-05 17:03:48.574459880 +0100
@@ -20,7 +20,7 @@
%define lname libluksde1
Name: libluksde
-Version: 20231128
+Version: 20231204
Release: 0
Summary: Library and tools to access LUKS Disk Encryption encrypted files
License: GFDL-1.3-or-later AND LGPL-3.0-or-later
++++++ libluksde-experimental-20231128.tar.gz -> libluksde-experimental-20231204.tar.gz ++++++
++++ 1604 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/Makefile.am new/libluksde-20231204/Makefile.am
--- old/libluksde-20231128/Makefile.am 2023-11-28 07:03:30.000000000 +0100
+++ new/libluksde-20231204/Makefile.am 2023-12-04 18:01:23.000000000 +0100
@@ -48,6 +48,9 @@
libluksde.pc.in
SETUP_PY_FILES = \
+ pyproject.toml \
+ setup.cfg \
+ setup.cfg.in \
setup.py
SPEC_FILES = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/common/config.h new/libluksde-20231204/common/config.h
--- old/libluksde-20231128/common/config.h 2023-11-28 19:19:39.000000000 +0100
+++ new/libluksde-20231204/common/config.h 2023-12-04 18:35:27.000000000 +0100
@@ -635,7 +635,7 @@
#define PACKAGE_NAME "libluksde"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libluksde 20231128"
+#define PACKAGE_STRING "libluksde 20231204"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libluksde"
@@ -644,7 +644,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "20231128"
+#define PACKAGE_VERSION "20231204"
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
@@ -673,7 +673,7 @@
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
-#define VERSION "20231128"
+#define VERSION "20231204"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/configure.ac new/libluksde-20231204/configure.ac
--- old/libluksde-20231128/configure.ac 2023-11-28 06:59:48.000000000 +0100
+++ new/libluksde-20231204/configure.ac 2023-12-04 18:18:32.000000000 +0100
@@ -2,7 +2,7 @@
AC_INIT(
[libluksde],
- [20231128],
+ [20231204],
[joachim.metz(a)gmail.com])
AC_CONFIG_SRCDIR(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/dpkg/changelog new/libluksde-20231204/dpkg/changelog
--- old/libluksde-20231128/dpkg/changelog 2023-11-28 19:19:39.000000000 +0100
+++ new/libluksde-20231204/dpkg/changelog 2023-12-04 18:35:27.000000000 +0100
@@ -1,5 +1,5 @@
-libluksde (20231128-1) unstable; urgency=low
+libluksde (20231204-1) unstable; urgency=low
* Auto-generated
- -- Joachim Metz <joachim.metz(a)gmail.com> Tue, 28 Nov 2023 19:19:38 +0100
+ -- Joachim Metz <joachim.metz(a)gmail.com> Mon, 04 Dec 2023 18:35:26 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/include/libluksde/definitions.h new/libluksde-20231204/include/libluksde/definitions.h
--- old/libluksde-20231128/include/libluksde/definitions.h 2023-11-28 19:19:39.000000000 +0100
+++ new/libluksde-20231204/include/libluksde/definitions.h 2023-12-04 18:35:27.000000000 +0100
@@ -24,11 +24,11 @@
#include <libluksde/types.h>
-#define LIBLUKSDE_VERSION 20231128
+#define LIBLUKSDE_VERSION 20231204
/* The version string
*/
-#define LIBLUKSDE_VERSION_STRING "20231128"
+#define LIBLUKSDE_VERSION_STRING "20231204"
/* The file access
* bit 1 set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/libluksde/libluksde.rc new/libluksde-20231204/libluksde/libluksde.rc
--- old/libluksde-20231128/libluksde/libluksde.rc 2023-11-28 19:19:39.000000000 +0100
+++ new/libluksde-20231204/libluksde/libluksde.rc 2023-12-04 18:35:27.000000000 +0100
@@ -22,12 +22,12 @@
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "Library to access the Linux Unified Key Setup (LUKS) Disk Encryption format\0"
- VALUE "FileVersion", "20231128" "\0"
+ VALUE "FileVersion", "20231204" "\0"
VALUE "InternalName", "libluksde.dll\0"
VALUE "LegalCopyright", "(C) 2013-2023, Joachim Metz <joachim.metz(a)gmail.com>\0"
VALUE "OriginalFilename", "libluksde.dll\0"
VALUE "ProductName", "libluksde\0"
- VALUE "ProductVersion", "20231128" "\0"
+ VALUE "ProductVersion", "20231204" "\0"
VALUE "Comments", "For more information visit https://github.com/libyal/libluksde/\0"
END
END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/libluksde/libluksde_definitions.h new/libluksde-20231204/libluksde/libluksde_definitions.h
--- old/libluksde-20231128/libluksde/libluksde_definitions.h 2023-11-28 19:19:39.000000000 +0100
+++ new/libluksde-20231204/libluksde/libluksde_definitions.h 2023-12-04 18:35:27.000000000 +0100
@@ -34,11 +34,11 @@
* for local use of libluksde
*/
#else
-#define LIBLUKSDE_VERSION 20231128
+#define LIBLUKSDE_VERSION 20231204
/* The version string
*/
-#define LIBLUKSDE_VERSION_STRING "20231128"
+#define LIBLUKSDE_VERSION_STRING "20231204"
/* The file access
* bit 1 set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/libluksde.spec new/libluksde-20231204/libluksde.spec
--- old/libluksde-20231128/libluksde.spec 2023-11-28 19:19:39.000000000 +0100
+++ new/libluksde-20231204/libluksde.spec 2023-12-04 18:35:27.000000000 +0100
@@ -1,5 +1,5 @@
Name: libluksde
-Version: 20231128
+Version: 20231204
Release: 1
Summary: Library to access the Linux Unified Key Setup (LUKS) Disk Encryption format
Group: System Environment/Libraries
@@ -95,6 +95,6 @@
%{_mandir}/man1/*
%changelog
-* Tue Nov 28 2023 Joachim Metz <joachim.metz(a)gmail.com> 20231128-1
+* Mon Dec 4 2023 Joachim Metz <joachim.metz(a)gmail.com> 20231204-1
- Auto-generated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/pyproject.toml new/libluksde-20231204/pyproject.toml
--- old/libluksde-20231128/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/libluksde-20231204/pyproject.toml 2023-12-04 18:18:32.000000000 +0100
@@ -0,0 +1,4 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libluksde-20231128/setup.cfg new/libluksde-20231204/setup.cfg
--- old/libluksde-20231128/setup.cfg 1970-01-01 01:00:00.000000000 +0100
+++ new/libluksde-20231204/setup.cfg 2023-12-04 18:35:27.000000000 +0100
@@ -0,0 +1,16 @@
+[metadata]
+name = libluksde-python
+version = 20231204
+description = Python bindings module for libluksde
+long_description = Python bindings module for libluksde
+long_description_content_type = text/plain
+author = Joachim Metz
+author_email = joachim.metz(a)gmail.com
+license = GNU Lesser General Public License v3 or later (LGPLv3+)
+license_files = COPYING COPYING.LESSER
+classifiers =
+ Development Status :: 2 - Pre-Alpha
+ Programming Language :: Python
+
+[options]
+python_requires = >=3.7
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libnk2 for openSUSE:Factory checked in at 2023-12-05 17:03:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libnk2 (Old)
and /work/SRC/openSUSE:Factory/.libnk2.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnk2"
Tue Dec 5 17:03:30 2023 rev:6 rq:1130895 version:20231205
Changes:
--------
--- /work/SRC/openSUSE:Factory/libnk2/libnk2.changes 2023-01-04 17:52:15.214058134 +0100
+++ /work/SRC/openSUSE:Factory/.libnk2.new.25432/libnk2.changes 2023-12-05 17:03:41.878213052 +0100
@@ -1,0 +2,6 @@
+Tue Dec 5 06:59:42 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231205
+ * Improved Python Unicode handling
+
+-------------------------------------------------------------------
Old:
----
libnk2-alpha-20221122.tar.gz
libnk2-alpha-20221122.tar.gz.asc
New:
----
libnk2-alpha-20231205.tar.gz
libnk2-alpha-20231205.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libnk2.spec ++++++
--- /var/tmp/diff_new_pack.MXP3gc/_old 2023-12-05 17:03:42.898250652 +0100
+++ /var/tmp/diff_new_pack.MXP3gc/_new 2023-12-05 17:03:42.898250652 +0100
@@ -18,7 +18,7 @@
Name: libnk2
%define lname libnk2-1
-Version: 20221122
+Version: 20231205
Release: 0
Summary: Library and tools to access the Outlook Nickfile (NK2) format
License: LGPL-3.0-or-later
@@ -32,20 +32,20 @@
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: pkgconfig(libbfio) >= 20221025
-BuildRequires: pkgconfig(libcdata) >= 20220115
+BuildRequires: pkgconfig(libcdata) >= 20230108
BuildRequires: pkgconfig(libcerror) >= 20220101
BuildRequires: pkgconfig(libcfile) >= 20220106
-BuildRequires: pkgconfig(libclocale) >= 20220107
+BuildRequires: pkgconfig(libclocale) >= 20221218
BuildRequires: pkgconfig(libcnotify) >= 20220108
BuildRequires: pkgconfig(libcpath) >= 20220108
BuildRequires: pkgconfig(libcsplit) >= 20220109
BuildRequires: pkgconfig(libcthreads) >= 20220102
BuildRequires: pkgconfig(libfdatetime) >= 20220112
BuildRequires: pkgconfig(libfguid) >= 20220113
-BuildRequires: pkgconfig(libfmapi) >= 20220114
+BuildRequires: pkgconfig(libfmapi) >= 20230408
BuildRequires: pkgconfig(libfvalue) >= 20220120
-BuildRequires: pkgconfig(libfwnt) >= 20220922
-BuildRequires: pkgconfig(libuna) >= 20220611
+BuildRequires: pkgconfig(libfwnt) >= 20231124
+BuildRequires: pkgconfig(libuna) >= 20230710
# Various notes: https://en.opensuse.org/libyal
%description
++++++ libnk2-alpha-20221122.tar.gz -> libnk2-alpha-20231205.tar.gz ++++++
++++ 22920 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package opentofu for openSUSE:Factory checked in at 2023-12-05 17:03:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opentofu (Old)
and /work/SRC/openSUSE:Factory/.opentofu.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opentofu"
Tue Dec 5 17:03:28 2023 rev:6 rq:1130893 version:1.6.0~beta2
Changes:
--------
--- /work/SRC/openSUSE:Factory/opentofu/opentofu.changes 2023-11-30 22:05:11.593797655 +0100
+++ /work/SRC/openSUSE:Factory/.opentofu.new.25432/opentofu.changes 2023-12-05 17:03:39.922140951 +0100
@@ -1,0 +2,17 @@
+Tue Dec 05 06:29:49 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 1.6.0~beta2:
+ * Update CONTRIBUTING.md to remove hold-off message for alpha
+ (#945)
+ * Bump version for new beta. (#963)
+ * Improve comments around the global and local provider schema
+ cache. (#958)
+ * Update aws-sdk-go-base and fix resulting type errors. (#957)
+ * Make goreleaser create draft releases instead of full releases,
+ so that we can customize the description. (#956)
+ * Add gcs end-to-end tests to the makefile. (#955)
+ * Fix global schema caching (#954)
+ * Fixes #292: Fixing broken website build (#952)
+ * Fixes #292: Testing feature documentation (#939)
+
+-------------------------------------------------------------------
Old:
----
opentofu-1.6.0~beta1.obscpio
New:
----
opentofu-1.6.0~beta2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opentofu.spec ++++++
--- /var/tmp/diff_new_pack.BKWyUv/_old 2023-12-05 17:03:41.542200667 +0100
+++ /var/tmp/diff_new_pack.BKWyUv/_new 2023-12-05 17:03:41.542200667 +0100
@@ -19,7 +19,7 @@
%define executable_name tofu
Name: opentofu
-Version: 1.6.0~beta1
+Version: 1.6.0~beta2
Release: 0
Summary: Declaratively manage your cloud infrastructure
License: MPL-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.BKWyUv/_old 2023-12-05 17:03:41.566201552 +0100
+++ /var/tmp/diff_new_pack.BKWyUv/_new 2023-12-05 17:03:41.570201700 +0100
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/opentofu/opentofu/</param>
<param name="scm">git</param>
- <param name="revision">v1.6.0-beta1</param>
+ <param name="revision">v1.6.0-beta2</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)-(.*)</param>
<param name="versionrewrite-replacement">\1~\2</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.BKWyUv/_old 2023-12-05 17:03:41.586202289 +0100
+++ /var/tmp/diff_new_pack.BKWyUv/_new 2023-12-05 17:03:41.590202437 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/opentofu/opentofu/</param>
- <param name="changesrevision">aabe1c95be5ac3fd31d33a36a6b241dc85c51f7e</param></service></servicedata>
+ <param name="changesrevision">d38fdb69aac6dc73d5023cce100ed3208002157a</param></service></servicedata>
(No newline at EOF)
++++++ opentofu-1.6.0~beta1.obscpio -> opentofu-1.6.0~beta2.obscpio ++++++
/work/SRC/openSUSE:Factory/opentofu/opentofu-1.6.0~beta1.obscpio /work/SRC/openSUSE:Factory/.opentofu.new.25432/opentofu-1.6.0~beta2.obscpio differ: char 50, line 1
++++++ opentofu.obsinfo ++++++
--- /var/tmp/diff_new_pack.BKWyUv/_old 2023-12-05 17:03:41.630203911 +0100
+++ /var/tmp/diff_new_pack.BKWyUv/_new 2023-12-05 17:03:41.634204059 +0100
@@ -1,5 +1,5 @@
name: opentofu
-version: 1.6.0~beta1
-mtime: 1701274679
-commit: aabe1c95be5ac3fd31d33a36a6b241dc85c51f7e
+version: 1.6.0~beta2
+mtime: 1701692815
+commit: d38fdb69aac6dc73d5023cce100ed3208002157a
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/opentofu/vendor.tar.gz /work/SRC/openSUSE:Factory/.opentofu.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rke2-1.25 for openSUSE:Factory checked in at 2023-12-05 17:03:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rke2-1.25 (Old)
and /work/SRC/openSUSE:Factory/.rke2-1.25.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rke2-1.25"
Tue Dec 5 17:03:25 2023 rev:4 rq:1130892 version:1.25.16+rke2r1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rke2-1.25/rke2-1.25.changes 2023-11-09 21:35:47.313750598 +0100
+++ /work/SRC/openSUSE:Factory/.rke2-1.25.new.25432/rke2-1.25.changes 2023-12-05 17:03:36.862028154 +0100
@@ -1,0 +2,9 @@
+Tue Dec 5 06:29:54 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- Update to version 1.25.16+rke2r1:
+ * This release updates Kubernetes to v1.25.16, and fixes a number
+ of issues.
+ * Details see
+ https://github.com/rancher/rke2/releases/tag/v1.25.16+rke2r1
+
+-------------------------------------------------------------------
Old:
----
rke2-1.25.15+rke2r2.obscpio
New:
----
rke2-1.25.16+rke2r1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rke2-1.25.spec ++++++
--- /var/tmp/diff_new_pack.8o58me/_old 2023-12-05 17:03:38.750097749 +0100
+++ /var/tmp/diff_new_pack.8o58me/_new 2023-12-05 17:03:38.750097749 +0100
@@ -20,7 +20,7 @@
%define binary_name rke2
Name: rke2-1.25
-Version: 1.25.15+rke2r2
+Version: 1.25.16+rke2r1
Release: 0
Summary: Rancher Kubernetes Engine
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.8o58me/_old 2023-12-05 17:03:38.778098781 +0100
+++ /var/tmp/diff_new_pack.8o58me/_new 2023-12-05 17:03:38.782098929 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/rancher/rke2</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v1.25.15+rke2r2</param>
+ <param name="revision">v1.25.16+rke2r1</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">disable</param>
<param name="versionrewrite-pattern">v(.*)</param>
@@ -17,7 +17,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
- <param name="archive">rke2-1.25.15+rke2r2.obscpio</param>
+ <param name="archive">rke2-1.25.16+rke2r1.obscpio</param>
</service>
</services>
++++++ rke2-1.25.15+rke2r2.obscpio -> rke2-1.25.16+rke2r1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/.drone.yml new/rke2-1.25.16+rke2r1/.drone.yml
--- old/rke2-1.25.15+rke2r2/.drone.yml 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/.drone.yml 2023-11-22 18:15:06.000000000 +0100
@@ -96,7 +96,7 @@
path: /var/run/docker.sock
- name: publish-image-runtime
- image: rancher/hardened-build-base:v1.20.10b1
+ image: rancher/hardened-build-base:v1.20.11b1
commands:
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- DRONE_TAG=${DRONE_TAG} make publish-image-runtime
@@ -191,7 +191,7 @@
- drone-publish.rancher.io
- name: publish-image-runtime
- image: rancher/hardened-build-base:v1.20.10b1
+ image: rancher/hardened-build-base:v1.20.11b1
commands:
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- DRONE_TAG=${DRONE_TAG} make publish-image-runtime
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/Dockerfile new/rke2-1.25.16+rke2r1/Dockerfile
--- old/rke2-1.25.15+rke2r2/Dockerfile 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/Dockerfile 2023-11-22 18:15:06.000000000 +0100
@@ -1,7 +1,7 @@
ARG KUBERNETES_VERSION=dev
# Build environment
-FROM rancher/hardened-build-base:v1.20.10b1 AS build
+FROM rancher/hardened-build-base:v1.20.11b1 AS build
ARG DAPPER_HOST_ARCH
ENV ARCH $DAPPER_HOST_ARCH
RUN set -x \
@@ -18,7 +18,8 @@
py3-pip \
pigz \
tar \
- yq
+ yq \
+ helm
RUN if [ "${ARCH}" != "s390x" ]; then \
apk --no-cache add mingw-w64-gcc; \
@@ -117,28 +118,14 @@
ARG CACHEBUST="cachebust"
COPY charts/ /charts/
RUN echo ${CACHEBUST}>/dev/null
-RUN CHART_VERSION="1.14.200" CHART_FILE=/charts/rke2-cilium.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="v3.26.1-build2023080200" CHART_FILE=/charts/rke2-canal.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="v3.26.101" CHART_FILE=/charts/rke2-calico.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="v3.26.101" CHART_FILE=/charts/rke2-calico-crd.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="1.24.006" CHART_FILE=/charts/rke2-coredns.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="4.8.200" CHART_FILE=/charts/rke2-ingress-nginx.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
-RUN CHART_VERSION="2.11.100-build2023051510" CHART_FILE=/charts/rke2-metrics-server.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
-RUN CHART_VERSION="v4.0.2-build2023081100" CHART_FILE=/charts/rke2-multus.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="1.5.100" CHART_FILE=/charts/rancher-vsphere-cpi.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="3.0.1-rancher101" CHART_FILE=/charts/rancher-vsphere-csi.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="0.2.200" CHART_FILE=/charts/harvester-cloud-provider.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="0.1.1600" CHART_FILE=/charts/harvester-csi-driver.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh
-RUN CHART_VERSION="1.7.202" CHART_FILE=/charts/rke2-snapshot-controller.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
-RUN CHART_VERSION="1.7.202" CHART_FILE=/charts/rke2-snapshot-controller-crd.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
-RUN CHART_VERSION="1.7.302" CHART_FILE=/charts/rke2-snapshot-validation-webhook.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh
-RUN rm -vf /charts/*.sh /charts/*.md
+RUN /charts/build-charts.sh
+RUN rm -vf /charts/*.sh /charts/*.md /charts/chart_versions.yaml
# rke2-runtime image
# This image includes any host level programs that we might need. All binaries
# must be placed in bin/ of the file image and subdirectories of bin/ will be flattened during installation.
# This means bin/foo/bar will become bin/bar when rke2 installs this to the host
-FROM rancher/hardened-kubernetes:v1.25.15-rke2r2-build20231102 AS kubernetes
+FROM rancher/hardened-kubernetes:v1.25.16-rke2r1-build20231116 AS kubernetes
FROM rancher/hardened-containerd:v1.7.7-k3s1-build20231010 AS containerd
FROM rancher/hardened-crictl:v1.26.1-build20230406 AS crictl
FROM rancher/hardened-runc:v1.1.8-build20230802 AS runc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/Makefile new/rke2-1.25.16+rke2r1/Makefile
--- old/rke2-1.25.15+rke2r2/Makefile 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/Makefile 2023-11-22 18:15:06.000000000 +0100
@@ -17,7 +17,7 @@
.PHONY: dapper-ci
dapper-ci: .ci ## Used by Drone CI, does the same as "ci" but in a Drone way
-.ci: validate build package
+.ci: validate validate-charts build package
.PHONY: build
build: ## Build using host go tools
@@ -71,6 +71,11 @@
validate-release:
./scripts/validate-release
+.PHONY: validate-charts
+validate-charts:
+ ./scripts/validate-charts
+
+
.PHONY: run
run: build-debug
./scripts/run
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/charts/build-charts.sh new/rke2-1.25.16+rke2r1/charts/build-charts.sh
--- old/rke2-1.25.15+rke2r2/charts/build-charts.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/charts/build-charts.sh 2023-11-22 18:15:06.000000000 +0100
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -eux -o pipefail
+
+while read version filename bootstrap; do
+ CHART_VERSION=$version CHART_FILE=$filename CHART_BOOTSTRAP=$bootstrap /charts/build-chart.sh
+done <<< $(yq e '.charts[] | [.version, .filename, .bootstrap] | join(" ")' /charts/chart_versions.yaml)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/charts/chart_versions.yaml new/rke2-1.25.16+rke2r1/charts/chart_versions.yaml
--- old/rke2-1.25.15+rke2r2/charts/chart_versions.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/charts/chart_versions.yaml 2023-11-22 18:15:06.000000000 +0100
@@ -0,0 +1,46 @@
+charts:
+ - version: 1.14.400
+ filename: /charts/rke2-cilium.yaml
+ bootstrap: true
+ - version: v3.26.3-build2023110900
+ filename: /charts/rke2-canal.yaml
+ bootstrap: true
+ - version: v3.26.300
+ filename: /charts/rke2-calico.yaml
+ bootstrap: true
+ - version: v3.26.300
+ filename: /charts/rke2-calico-crd.yaml
+ bootstrap: true
+ - version: 1.24.006
+ filename: /charts/rke2-coredns.yaml
+ bootstrap: true
+ - version: 4.8.200
+ filename: /charts/rke2-ingress-nginx.yaml
+ bootstrap: false
+ - version: 2.11.100-build2023051510
+ filename: /charts/rke2-metrics-server.yaml
+ bootstrap: false
+ - version: v4.0.2-build2023081100
+ filename: /charts/rke2-multus.yaml
+ bootstrap: true
+ - version: 1.5.100
+ filename: /charts/rancher-vsphere-cpi.yaml
+ bootstrap: true
+ - version: 3.0.1-rancher101
+ filename: /charts/rancher-vsphere-csi.yaml
+ bootstrap: true
+ - version: 0.2.200
+ filename: /charts/harvester-cloud-provider.yaml
+ bootstrap: true
+ - version: 0.1.1600
+ filename: /charts/harvester-csi-driver.yaml
+ bootstrap: true
+ - version: 1.7.202
+ filename: /charts/rke2-snapshot-controller.yaml
+ bootstrap: false
+ - version: 1.7.202
+ filename: /charts/rke2-snapshot-controller-crd.yaml
+ bootstrap: false
+ - version: 1.7.302
+ filename: /charts/rke2-snapshot-validation-webhook.yaml
+ bootstrap: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/go.mod new/rke2-1.25.16+rke2r1/go.mod
--- old/rke2-1.25.15+rke2r2/go.mod 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/go.mod 2023-11-22 18:15:06.000000000 +0100
@@ -23,7 +23,7 @@
github.com/opencontainers/runc => github.com/opencontainers/runc v1.1.8
github.com/opencontainers/runtime-spec => github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
github.com/opencontainers/selinux => github.com/opencontainers/selinux v1.10.1
- github.com/rancher/wrangler => github.com/rancher/wrangler v1.1.1-0.20230425173236-39a4707f0689
+ github.com/rancher/wrangler => github.com/rancher/wrangler v1.1.1-0.20230807182002-35cb42e6a915
go.etcd.io/etcd/api/v3 => github.com/k3s-io/etcd/api/v3 v3.5.4-k3s1
go.etcd.io/etcd/client/pkg/v3 => github.com/k3s-io/etcd/client/pkg/v3 v3.5.4-k3s1
go.etcd.io/etcd/client/v3 => github.com/k3s-io/etcd/client/v3 v3.5.4-k3s1
@@ -98,7 +98,7 @@
github.com/gruntwork-io/terratest v0.40.19
github.com/iamacarpet/go-win64api v0.0.0-20210311141720-fe38760bed28
github.com/k3s-io/helm-controller v0.15.4
- github.com/k3s-io/k3s v1.25.16-0.20231102204128-ad5b4434529a // release-1.25
+ github.com/k3s-io/k3s v1.25.16-0.20231122010439-c8165989e934 // release-1.25
github.com/libp2p/go-netroute v0.2.0
github.com/natefinch/lumberjack v2.0.0+incompatible
github.com/onsi/ginkgo/v2 v2.11.0
@@ -111,10 +111,10 @@
github.com/spf13/cobra v1.6.1
github.com/tigera/operator v1.28.1
github.com/urfave/cli v1.22.12
- golang.org/x/crypto v0.14.0
+ golang.org/x/crypto v0.15.0
golang.org/x/sync v0.3.0
- golang.org/x/sys v0.13.0
- golang.org/x/term v0.13.0 // indirect
+ golang.org/x/sys v0.14.0
+ golang.org/x/term v0.14.0 // indirect
golang.org/x/tools v0.10.0 // indirect
google.golang.org/grpc v1.57.0
k8s.io/api v0.27.5
@@ -271,9 +271,9 @@
github.com/josharian/intern v1.0.0 // indirect
github.com/josharian/native v1.1.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
- github.com/k3s-io/kine v0.10.3 // indirect
+ github.com/k3s-io/kine v0.11.0 // indirect
github.com/karrick/godirwalk v1.16.1 // indirect
- github.com/klauspost/compress v1.16.6 // indirect
+ github.com/klauspost/compress v1.17.2 // indirect
github.com/klauspost/cpuid/v2 v2.1.0 // indirect
github.com/lib/pq v1.10.2 // indirect
github.com/libopenstorage/openstorage v1.0.0 // indirect
@@ -311,10 +311,10 @@
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/nats-io/jsm.go v0.0.31-0.20220317133147-fe318f464eee // indirect
- github.com/nats-io/jwt/v2 v2.4.1 // indirect
- github.com/nats-io/nats-server/v2 v2.9.18 // indirect
- github.com/nats-io/nats.go v1.27.1 // indirect
- github.com/nats-io/nkeys v0.4.4 // indirect
+ github.com/nats-io/jwt/v2 v2.5.3 // indirect
+ github.com/nats-io/nats-server/v2 v2.10.5 // indirect
+ github.com/nats-io/nats.go v1.31.0 // indirect
+ github.com/nats-io/nkeys v0.4.6 // indirect
github.com/nats-io/nuid v1.0.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0-rc3 // indirect
@@ -330,8 +330,8 @@
github.com/prometheus/client_model v0.4.0 // indirect
github.com/prometheus/common v0.42.0 // indirect
github.com/prometheus/procfs v0.10.1 // indirect
- github.com/rancher/dynamiclistener v0.3.6-rc2 // indirect
- github.com/rancher/lasso v0.0.0-20221227210133-6ea88ca2fbcc // indirect
+ github.com/rancher/dynamiclistener v0.3.6 // indirect
+ github.com/rancher/lasso v0.0.0-20230830164424-d684fdeb6f29 // indirect
github.com/rancher/remotedialer v0.3.0 // indirect
github.com/robfig/cron/v3 v3.0.1 // indirect
github.com/rootless-containers/rootlesskit v1.0.1 // indirect
@@ -348,6 +348,7 @@
github.com/stretchr/testify v1.8.4 // indirect
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect
github.com/tchap/go-patricia v2.3.0+incompatible // indirect
+ github.com/tidwall/btree v1.6.0 // indirect
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 // indirect
github.com/tmccombs/hcl2json v0.3.3 // indirect
github.com/ulikunitz/xz v0.5.8 // indirect
@@ -387,8 +388,8 @@
golang.org/x/mod v0.11.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/oauth2 v0.10.0 // indirect
- golang.org/x/text v0.13.0 // indirect
- golang.org/x/time v0.3.0 // indirect
+ golang.org/x/text v0.14.0 // indirect
+ golang.org/x/time v0.4.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
golang.zx2c4.com/wireguard v0.0.0-20230325221338-052af4a8072b // indirect
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/go.sum new/rke2-1.25.16+rke2r1/go.sum
--- old/rke2-1.25.15+rke2r2/go.sum 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/go.sum 2023-11-22 18:15:06.000000000 +0100
@@ -924,10 +924,10 @@
github.com/k3s-io/etcd/server/v3 v3.5.4-k3s1/go.mod h1:S5/YTU15KxymM5l3T6b09sNOHPXqGYIZStpuuGbb65c=
github.com/k3s-io/helm-controller v0.15.4 h1:l4DWmUWpphbtwmuXGtpr5Rql/2NaCLSv4ZD8HlND9uY=
github.com/k3s-io/helm-controller v0.15.4/go.mod h1:BgCPBQblj/Ect4Q7/Umf86WvyDjdG/34D+n8wfXtoeM=
-github.com/k3s-io/k3s v1.25.16-0.20231102204128-ad5b4434529a h1:Yyern585oKCpG6MmumPkPLIGlAPeUXQoFFq0Ix0eokc=
-github.com/k3s-io/k3s v1.25.16-0.20231102204128-ad5b4434529a/go.mod h1:Z26OCOX3JiqNAJ5Uuirnx6GDgdL3Svpj/zl2Z3wP1Ng=
-github.com/k3s-io/kine v0.10.3 h1:OamjhtcQnK7zpzbiUDvXXKaAwdkXIuzr+nuyFWSC1ZA=
-github.com/k3s-io/kine v0.10.3/go.mod h1:hiOK3Gj89Py+AB11YK0fxEwkdWxBvNfaMt8PRWXqh6M=
+github.com/k3s-io/k3s v1.25.16-0.20231122010439-c8165989e934 h1:nk3arzewkBxasv2YiiW2jellwbJe+jy9FiiyhIpYclE=
+github.com/k3s-io/k3s v1.25.16-0.20231122010439-c8165989e934/go.mod h1:s3Xrk8zFE2FXDCqCUW68+7zvGxVQhQfoh6ZwvyH+1bE=
+github.com/k3s-io/kine v0.11.0 h1:7tS0H9yBDxXiy1BgEEkBWLswwG/q4sARPTHdxOMz1qw=
+github.com/k3s-io/kine v0.11.0/go.mod h1:tjSsWrCetgaGMTfnJW6vzqdT/qOPhF/+nUEaE+eixBA=
github.com/k3s-io/klog v1.0.0-k3s2 h1:yyvD2bQbxG7m85/pvNctLX2bUDmva5kOBvuZ77tTGBA=
github.com/k3s-io/klog v1.0.0-k3s2/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
github.com/k3s-io/klog/v2 v2.60.1-k3s1 h1:C1hsMF1Eo6heGVQzts6cZ+rDZAReSiOBUxsYMuUkkZI=
@@ -996,8 +996,8 @@
github.com/klauspost/compress v1.14.4/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
-github.com/klauspost/compress v1.16.6 h1:91SKEy4K37vkp255cJ8QesJhjyRO0hn9i9G0GoUwLsk=
-github.com/klauspost/compress v1.16.6/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4=
+github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.1.0 h1:eyi1Ad2aNJMW95zcSbmGg7Cg6cq3ADwLpMAP96d8rF0=
@@ -1178,21 +1178,21 @@
github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
github.com/nats-io/jwt/v2 v2.2.1-0.20220113022732-58e87895b296/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k=
-github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4=
-github.com/nats-io/jwt/v2 v2.4.1/go.mod h1:24BeQtRwxRV8ruvC4CojXlx/WQ/VjuwlYiH+vu/+ibI=
+github.com/nats-io/jwt/v2 v2.5.3 h1:/9SWvzc6hTfamcgXJ3uYRpgj+QuY2aLNqRiqrKcrpEo=
+github.com/nats-io/jwt/v2 v2.5.3/go.mod h1:iysuPemFcc7p4IoYots3IuELSI4EDe9Y0bQMe+I3Bf4=
github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
github.com/nats-io/nats-server/v2 v2.7.5-0.20220309212130-5c0d1999ff72/go.mod h1:1vZ2Nijh8tcyNe8BDVyTviCd9NYzRbubQYiEHsvOQWc=
-github.com/nats-io/nats-server/v2 v2.9.18 h1:00muGH0qu/7NAw1b/2eFcpIvdHcTghj6PFjUVhy8zEo=
-github.com/nats-io/nats-server/v2 v2.9.18/go.mod h1:aTb/xtLCGKhfTFLxP591CMWfkdgBmcUUSkiSOe5A3gw=
+github.com/nats-io/nats-server/v2 v2.10.5 h1:hhWt6m9ja/mNnm6ixc85jCthDaiUFPaeJI79K/MD980=
+github.com/nats-io/nats-server/v2 v2.10.5/go.mod h1:xUMTU4kS//SDkJCSvFwN9SyJ9nUuLhSkzB/Qz0dvjjg=
github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
github.com/nats-io/nats.go v1.13.1-0.20220308171302-2f2f6968e98d/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
-github.com/nats-io/nats.go v1.27.1 h1:OuYnal9aKVSnOzLQIzf7554OXMCG7KbaTkCSBHRcSoo=
-github.com/nats-io/nats.go v1.27.1/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc=
+github.com/nats-io/nats.go v1.31.0 h1:/WFBHEc/dOKBF6qf1TZhrdEfTmOZ5JzdJ+Y3m6Y/p7E=
+github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8=
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
-github.com/nats-io/nkeys v0.4.4 h1:xvBJ8d69TznjcQl9t6//Q5xXuVhyYiSos6RPtvQNTwA=
-github.com/nats-io/nkeys v0.4.4/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64=
+github.com/nats-io/nkeys v0.4.6 h1:IzVe95ru2CT6ta874rt9saQRkWfe2nFj1NtvYSLqMzY=
+github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts=
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
github.com/networkplumbing/go-nft v0.2.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs=
@@ -1369,10 +1369,10 @@
github.com/pseudomuto/protoc-gen-doc v1.4.1/go.mod h1:exDTOVwqpp30eV/EDPFLZy3Pwr2sn6hBC1WIYH/UbIg=
github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q=
github.com/r3labs/diff/v2 v2.8.0/go.mod h1:I8noH9Fc2fjSaMxqF3G2lhDdC0b+JXCfyx85tWFM9kc=
-github.com/rancher/dynamiclistener v0.3.6-rc2 h1:Y1nai+Xv+4qqlB3c+hmrY2uBo1EcCDU9kmN5hbnmZhA=
-github.com/rancher/dynamiclistener v0.3.6-rc2/go.mod h1:wOh62hdJIgyqTdD/VAHO77UPKAbUsJJ5gYRjzgBL3Wo=
-github.com/rancher/lasso v0.0.0-20221227210133-6ea88ca2fbcc h1:29VHrInLV4qSevvcvhBj5UhQWkPShxrxv4AahYg2Scw=
-github.com/rancher/lasso v0.0.0-20221227210133-6ea88ca2fbcc/go.mod h1:dEfC9eFQigj95lv/JQ8K5e7+qQCacWs1aIA6nLxKzT8=
+github.com/rancher/dynamiclistener v0.3.6 h1:iAFWeiFNra6tYlt4k+jINrK3hOxZ8mjW2S/9nA6sxKs=
+github.com/rancher/dynamiclistener v0.3.6/go.mod h1:VqBaJNi+bZmre0+gi+2Jb6jbn7ovHzRueW+M7QhVKsk=
+github.com/rancher/lasso v0.0.0-20230830164424-d684fdeb6f29 h1:+kige/h8/LnzWgPjB5NUIHz/pWiW/lFpqcTUkN5uulY=
+github.com/rancher/lasso v0.0.0-20230830164424-d684fdeb6f29/go.mod h1:kgk9kJVMj9FIrrXU0iyM6u/9Je4bEjPImqswkTVaKsQ=
github.com/rancher/remotedialer v0.2.6-0.20201012155453-8b1b7bb7d05f/go.mod h1:dbzn9NF1JWbGEHL6Q/1KG4KFROILiY/j6wmfF1Np3fk=
github.com/rancher/remotedialer v0.3.0 h1:y1EO8JCsgZo0RcqTUp6U8FXcBAv27R+TLnWRcpvX1sM=
github.com/rancher/remotedialer v0.3.0/go.mod h1:BwwztuvViX2JrLLUwDlsYt5DiyUwHLlzynRwkZLAY0Q=
@@ -1380,8 +1380,8 @@
github.com/rancher/wharfie v0.6.2/go.mod h1:7ii0+eehBwUEFaJMiRHWCbvN11bsfVHT1oc+P/6IBSg=
github.com/rancher/wins v0.1.1 h1:WyqxkAyCstwuv+04tdJiGODXv0De/lOyRHV6MJVfrUo=
github.com/rancher/wins v0.1.1/go.mod h1:SdPsn8b5PoVj1ozvjRc8VNyjNvOGSoQy4HkN5Q6yTqo=
-github.com/rancher/wrangler v1.1.1-0.20230425173236-39a4707f0689 h1:otb4OjgXH2b8a4C9g76jCDuTF3opjaYffZ55SiVe7KU=
-github.com/rancher/wrangler v1.1.1-0.20230425173236-39a4707f0689/go.mod h1:D6Tu6oVX8aGtCHsMCtYaysgVK3ad920MTSeAu7rzb5U=
+github.com/rancher/wrangler v1.1.1-0.20230807182002-35cb42e6a915 h1:CNwXnngrb5PgPe4nr7G5jS298YkhS6udMnNvyBOboFQ=
+github.com/rancher/wrangler v1.1.1-0.20230807182002-35cb42e6a915/go.mod h1:0oPjv01nvzeavcmeuT0xMlGKs9IJaNk5NCPPQq1n8Ro=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
@@ -1510,6 +1510,8 @@
github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmDkqO9/zg7R0lSQRs=
github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
+github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg=
+github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY=
github.com/tigera/api v0.0.0-20220325204048-b3e0b35ba256/go.mod h1:6qWfgULooruKiC8eoGgyRjOh0K+h/q8bc7AvdUysAUo=
github.com/tigera/operator v1.28.1 h1:jFaO/3if3Lz1Plxc+QipJTUXIYen6TDC77c6y6afG2k=
github.com/tigera/operator v1.28.1/go.mod h1:XU62bZPxkA4iTDwz1qBGrodE9s8XaFMRfR1fTVgc9j0=
@@ -1718,8 +1720,9 @@
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
-golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
+golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA=
+golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1820,8 +1823,9 @@
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
-golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
+golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8=
+golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1839,8 +1843,9 @@
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
-golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1851,8 +1856,8 @@
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
-golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY=
+golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/pkg/cli/cmds/agent.go new/rke2-1.25.16+rke2r1/pkg/cli/cmds/agent.go
--- old/rke2-1.25.15+rke2r2/pkg/cli/cmds/agent.go 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/pkg/cli/cmds/agent.go 2023-11-22 18:15:06.000000000 +0100
@@ -33,6 +33,7 @@
"container-runtime-endpoint": copyFlag,
"image-service-endpoint": dropFlag,
"pause-image": dropFlag,
+ "disable-apiserver-lb": dropFlag,
"private-registry": copyFlag,
"node-ip": copyFlag,
"node-external-ip": copyFlag,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/scripts/build-images new/rke2-1.25.16+rke2r1/scripts/build-images
--- old/rke2-1.25.15+rke2r2/scripts/build-images 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/scripts/build-images 2023-11-22 18:15:06.000000000 +0100
@@ -29,36 +29,36 @@
EOF
xargs -n1 -t docker image pull --quiet << EOF > build/images-canal.txt
- ${REGISTRY}/rancher/hardened-calico:v3.26.1-build20230802
- ${REGISTRY}/rancher/hardened-flannel:v0.22.1-build20230802
+ ${REGISTRY}/rancher/hardened-calico:v3.26.3-build20231109
+ ${REGISTRY}/rancher/hardened-flannel:v0.23.0-build20231109
EOF
if [ "${GOARCH}" != "s390x" ]; then
xargs -n1 -t docker image pull --quiet << EOF > build/images-cilium.txt
${REGISTRY}/rancher/mirrored-cilium-certgen:v0.1.9
- ${REGISTRY}/rancher/mirrored-cilium-cilium:v1.14.2
- ${REGISTRY}/rancher/mirrored-cilium-cilium-envoy:v1.25.9-e198a2824d309024cb91fb6a984445e73033291d
+ ${REGISTRY}/rancher/mirrored-cilium-cilium:v1.14.4
+ ${REGISTRY}/rancher/mirrored-cilium-cilium-envoy:v1.26.6-ff0d5d3f77d610040e93c7c7a430d61a0c0b90c1
${REGISTRY}/rancher/mirrored-cilium-cilium-etcd-operator:v2.0.7
- ${REGISTRY}/rancher/mirrored-cilium-clustermesh-apiserver:v1.14.2
- ${REGISTRY}/rancher/mirrored-cilium-hubble-relay:v1.14.2
- ${REGISTRY}/rancher/mirrored-cilium-hubble-ui:v0.12.0
- ${REGISTRY}/rancher/mirrored-cilium-hubble-ui-backend:v0.12.0
- ${REGISTRY}/rancher/mirrored-cilium-kvstoremesh:v1.14.2
- ${REGISTRY}/rancher/mirrored-cilium-operator-aws:v1.14.2
- ${REGISTRY}/rancher/mirrored-cilium-operator-azure:v1.14.2
- ${REGISTRY}/rancher/mirrored-cilium-operator-generic:v1.14.2
- ${REGISTRY}/rancher/hardened-cni-plugins:v1.2.0-build20230523
+ ${REGISTRY}/rancher/mirrored-cilium-clustermesh-apiserver:v1.14.4
+ ${REGISTRY}/rancher/mirrored-cilium-hubble-relay:v1.14.4
+ ${REGISTRY}/rancher/mirrored-cilium-hubble-ui:v0.12.1
+ ${REGISTRY}/rancher/mirrored-cilium-hubble-ui-backend:v0.12.1
+ ${REGISTRY}/rancher/mirrored-cilium-kvstoremesh:v1.14.4
+ ${REGISTRY}/rancher/mirrored-cilium-operator-aws:v1.14.4
+ ${REGISTRY}/rancher/mirrored-cilium-operator-azure:v1.14.4
+ ${REGISTRY}/rancher/mirrored-cilium-operator-generic:v1.14.4
+ ${REGISTRY}/rancher/hardened-cni-plugins:v1.2.0-build20231009
EOF
xargs -n1 -t docker image pull --quiet << EOF > build/images-calico.txt
- ${REGISTRY}/rancher/mirrored-calico-operator:v1.30.4
- ${REGISTRY}/rancher/mirrored-calico-ctl:v3.26.1
- ${REGISTRY}/rancher/mirrored-calico-kube-controllers:v3.26.1
- ${REGISTRY}/rancher/mirrored-calico-typha:v3.26.1
- ${REGISTRY}/rancher/mirrored-calico-node:v3.26.1
- ${REGISTRY}/rancher/mirrored-calico-pod2daemon-flexvol:v3.26.1
- ${REGISTRY}/rancher/mirrored-calico-cni:v3.26.1
- ${REGISTRY}/rancher/mirrored-calico-apiserver:v3.26.1
+ ${REGISTRY}/rancher/mirrored-calico-operator:v1.30.7
+ ${REGISTRY}/rancher/mirrored-calico-ctl:v3.26.3
+ ${REGISTRY}/rancher/mirrored-calico-kube-controllers:v3.26.3
+ ${REGISTRY}/rancher/mirrored-calico-typha:v3.26.3
+ ${REGISTRY}/rancher/mirrored-calico-node:v3.26.3
+ ${REGISTRY}/rancher/mirrored-calico-pod2daemon-flexvol:v3.26.3
+ ${REGISTRY}/rancher/mirrored-calico-cni:v3.26.3
+ ${REGISTRY}/rancher/mirrored-calico-apiserver:v3.26.3
EOF
xargs -n1 -t docker image pull --quiet << EOF > build/images-vsphere.txt
@@ -89,10 +89,10 @@
${REGISTRY}/rancher/harvester-cloud-provider:v0.2.0
${REGISTRY}/rancher/mirrored-kube-vip-kube-vip-iptables:v0.6.0
${REGISTRY}/rancher/harvester-csi-driver:v0.1.5
- ${REGISTRY}/rancher/longhornio-csi-node-driver-registrar:v2.3.0
- ${REGISTRY}/rancher/longhornio-csi-resizer:v1.2.0
- ${REGISTRY}/rancher/longhornio-csi-provisioner:v2.1.2
- ${REGISTRY}/rancher/longhornio-csi-attacher:v3.2.1
+ ${REGISTRY}/rancher/mirrored-longhornio-csi-node-driver-registrar:v2.3.0
+ ${REGISTRY}/rancher/mirrored-longhornio-csi-resizer:v1.2.0
+ ${REGISTRY}/rancher/mirrored-longhornio-csi-provisioner:v2.1.2
+ ${REGISTRY}/rancher/mirrored-longhornio-csi-attacher:v3.2.1
EOF
fi
# Continue to provide a legacy airgap archive set with the default CNI images
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/scripts/validate new/rke2-1.25.16+rke2r1/scripts/validate
--- old/rke2-1.25.15+rke2r2/scripts/validate 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/scripts/validate 2023-11-22 18:15:06.000000000 +0100
@@ -18,7 +18,7 @@
fi
CALICO_WINDOWS_VERSION=$(grep 'CALICO_VERSION=' Dockerfile.windows | cut -d '=' -f 2- | grep -oE "v([0-9]+)\.([0-9]+)")
- CALICO_LINUX_VERSION=$(grep "rke2-calico.yaml" Dockerfile | grep 'CHART_VERSION=' | cut -d '=' -f 2- | grep -oE "v([0-9]+)\.([0-9]+)")
+ CALICO_LINUX_VERSION=$(yq '.charts[] | select(.filename == "/charts/rke2-canal.yaml").version' charts/chart_versions.yaml | cut -d ',' -f 1- | grep -oE "v([0-9]+)\.([0-9]+)")
if [ ! "$CALICO_WINDOWS_VERSION" = "$CALICO_LINUX_VERSION" ]; then
fatal "Calico windows binary version [$CALICO_WINDOWS_VERSION] does not match Calico chart version [$CALICO_LINUX_VERSION]"
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/scripts/validate-charts new/rke2-1.25.16+rke2r1/scripts/validate-charts
--- old/rke2-1.25.15+rke2r2/scripts/validate-charts 1970-01-01 01:00:00.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/scripts/validate-charts 2023-11-22 18:15:06.000000000 +0100
@@ -0,0 +1,190 @@
+#!/usr/bin/env bash
+set -e
+source ./scripts/version.sh
+set +x
+
+info() {
+ echo '[INFO] ' "$@"
+}
+
+warn() {
+ echo '[WARN] ' "$@" >&2
+}
+
+error() {
+ echo '[ERROR] ' "$@" >&2
+}
+
+fatal() {
+ echo '[ERROR] ' "$@" >&2
+ exit 1
+}
+
+cleanup() {
+ exit_code=$?
+ trap - EXIT INT
+ rm -rf /tmp/tmp.*.tar.gz
+ exit ${exit_code}
+}
+trap cleanup EXIT INT
+
+
+download_chart() {
+ chart_version=$1
+ chart_name=$2
+ bootstrap=$3
+
+ chart_package=${chart_name%%-crd}
+
+ chart_url=${CHART_REPO:="https://rke2-charts.rancher.io"}/assets/${chart_package}/${chart_name}-${chart_version:="v0.0.0"}.tgz
+
+ chart_tmp=$(mktemp --suffix .tar.gz)
+
+ curl -fsSL "${chart_url}" -o "${chart_tmp}"
+
+ echo $chart_tmp
+}
+
+check_system_registry() {
+ chart_version=$1
+ chart_name=$2
+ chart_tmp=$3
+
+ yaml_tmp=$(mktemp --suffix .yaml)
+ values="global.systemDefaultRegistry=my-registry,global.cattle.systemDefaultRegistry=my-registry,vCenter.clusterId=test-id"
+ helm template test-chart --kube-version ${KUBERNETES_VERSION} --set $values $chart_tmp > $yaml_tmp;
+
+ awk '$1 ~ /^image:/ {
+ if( $2 !~ /my-registry/ && $2 !~ busybox) {
+ print $2
+ }
+ }
+ ' $yaml_tmp
+}
+
+is_supported() {
+kube_version="$1"
+lower_bound="$2"
+upper_bound="$3"
+
+kube_version="${kube_version#[vV]}"
+kube_version_major="${kube_version%%\.*}"
+kube_version_minor="${kube_version#*.}"
+kube_version_minor="${kube_version_minor%.*}"
+kube_version_patch="${kube_version##*.}"
+kube_version_dash="${kube_version_patch##*-}"
+kube_version_patch="${kube_version_patch%-*}"
+
+lower_bound="${lower_bound#[vV]}"
+lower_bound_major="${lower_bound%%\.*}"
+lower_bound_minor="${lower_bound#*.}"
+lower_bound_minor="${lower_bound_minor%.*}"
+lower_bound_patch="${lower_bound##*.}"
+lower_bound_dash="${lower_bound_patch##*-}"
+lower_bound_patch="${lower_bound_patch%-*}"
+
+
+upper_bound="${upper_bound#[vV]}"
+upper_bound_major="${upper_bound%%\.*}"
+upper_bound_minor="${upper_bound#*.}"
+upper_bound_minor="${upper_bound_minor%.*}"
+upper_bound_patch="${upper_bound##*.}"
+upper_bound_dash="${upper_bound_patch##*-}"
+upper_bound_patch="${upper_bound_patch%-*}"
+
+if [ "$lower_bound_major" -le "$kube_version_major" ] && \
+ [ "$kube_version_major" -le "$upper_bound_major" ] && \
+ [ "$lower_bound_minor" -le "$kube_version_minor" ] && \
+ [ "$kube_version_minor" -le "$upper_bound_minor" ] && \
+ [ "$lower_bound_patch" -le "$kube_version_patch" ] && \
+ [ "$kube_version_patch" -le "$upper_bound_patch" ]; then
+ echo 0
+else
+ echo 1
+fi
+}
+
+check_airgap() {
+ chart_version=$1
+ chart_name=$2
+ chart_tmp=$3
+
+ yaml_tmp=$(mktemp --suffix .yaml)
+ values="vCenter.clusterId=test-id"
+ helm template test-chart --kube-version ${KUBERNETES_VERSION} --set $values $chart_tmp > $yaml_tmp;
+
+ chart_folder=$(mktemp -d)
+ tar xfz $chart_tmp -C $chart_folder
+
+ version_annotation=`awk '$1 ~ /catalog.cattle.io\/kube-version:/ {
+ print $3 " " $5
+ }
+ ' $chart_folder/$chart_name/Chart.yaml `
+ if ! [ -z ${version_annotation} ]; then
+ version_annotation=${version_annotation:0:-1}
+ read lower_bound upper_bound <<< $version_annotation
+
+ supported=$(is_supported ${KUBERNETES_VERSION} $lower_bound $upper_bound)
+ if [ $supported = 1 ] ; then
+ warn "Chart $chart_name:$chart_version does not support k8s ${KUBERNETES_VERSION}. Skipping airgap check"
+ return
+ fi
+ fi
+ awk '$1 ~ /^image:/ {
+ gsub(/"/, "", $2)
+ gsub(/^docker.io/, "", $2)
+ print $2
+ }
+ ' $yaml_tmp | \
+ while read image
+ do
+ [ "$image" = "busybox" ] && continue
+ if ! grep -q $image scripts/build-images; then
+ echo $image
+ fi
+ done
+}
+
+declare -A NO_SYSTEM_REGISTRY
+declare -A NOT_FOUND
+
+while read version filename bootstrap; do
+ chart_name=$(basename "${filename%%.yaml}")
+ chart_tmp=$(download_chart $version $chart_name $bootstrap)
+
+ info "Validating chart $chart_name, version $version..."
+
+ no_system_registry=$(check_system_registry $version $chart_name $chart_tmp)
+ if ! [ -z "$no_system_registry" ]; then
+ NO_SYSTEM_REGISTRY[$chart_name]=$no_system_registry
+ fi
+
+ not_found=$(check_airgap $version $chart_name $chart_tmp)
+ if ! [ -z "$not_found" ]; then
+ NOT_FOUND[$chart_name]=$not_found
+ fi
+done <<< $(yq e '.charts[] | [.version, .filename, .bootstrap] | join(" ")' charts/chart_versions.yaml)
+
+failed=0
+
+if [ ${#NO_SYSTEM_REGISTRY[@]} -ge 1 ]; then
+ failed=1
+ for chart in "${!NO_SYSTEM_REGISTRY[@]}"
+ do
+ error "Images not using global.systemDefaultRegistry in chart '$chart': ${NO_SYSTEM_REGISTRY[$chart]}"
+ done
+ error "Please use global.systemDefaultRegistry for above images"
+fi
+
+if [ ${#NOT_FOUND[@]} -ge 1 ]; then
+ failed=1
+ for chart in "${!NOT_FOUND[@]}"
+ do
+ error "Missing images for chart '$chart': ${NOT_FOUND[$chart]}"
+ done
+ error "Please include above images in build-images"
+fi
+
+[ $failed = 1 ] && fatal "Please fix the issues above"
+
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rke2-1.25.15+rke2r2/scripts/version.sh new/rke2-1.25.16+rke2r1/scripts/version.sh
--- old/rke2-1.25.15+rke2r2/scripts/version.sh 2023-11-03 21:25:27.000000000 +0100
+++ new/rke2-1.25.16+rke2r1/scripts/version.sh 2023-11-22 18:15:06.000000000 +0100
@@ -31,8 +31,8 @@
PLATFORM=${GOOS}-${GOARCH}
RELEASE=${PROG}.${PLATFORM}
# hardcode versions unless set specifically
-KUBERNETES_VERSION=${KUBERNETES_VERSION:-v1.25.15}
-KUBERNETES_IMAGE_TAG=${KUBERNETES_IMAGE_TAG:-v1.25.15-rke2r2-build20231102}
+KUBERNETES_VERSION=${KUBERNETES_VERSION:-v1.25.16}
+KUBERNETES_IMAGE_TAG=${KUBERNETES_IMAGE_TAG:-v1.25.16-rke2r1-build20231116}
ETCD_VERSION=${ETCD_VERSION:-v3.5.9-k3s1}
PAUSE_VERSION=${PAUSE_VERSION:-3.6}
CCM_VERSION=${CCM_VERSION:-v1.26.3-build20230406}
++++++ rke2.obsinfo ++++++
--- /var/tmp/diff_new_pack.8o58me/_old 2023-12-05 17:03:38.986106449 +0100
+++ /var/tmp/diff_new_pack.8o58me/_new 2023-12-05 17:03:38.990106596 +0100
@@ -1,5 +1,5 @@
name: rke2
-version: 1.25.15+rke2r2
-mtime: 1699043127
-commit: 390ad79ce05d2c1192ee5871d780c325629420c4
+version: 1.25.16+rke2r1
+mtime: 1700673306
+commit: 760de1e9851f5af9782a9437b2e9cc49c1f743f9
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/rke2-1.25/vendor.tar.gz /work/SRC/openSUSE:Factory/.rke2-1.25.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ansible-core for openSUSE:Factory checked in at 2023-12-05 17:03:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible-core (Old)
and /work/SRC/openSUSE:Factory/.ansible-core.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible-core"
Tue Dec 5 17:03:21 2023 rev:21 rq:1130887 version:2.15.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/ansible-core/ansible-core.changes 2023-11-07 21:28:30.068247661 +0100
+++ /work/SRC/openSUSE:Factory/.ansible-core.new.25432/ansible-core.changes 2023-12-05 17:03:32.289859621 +0100
@@ -1,0 +2,31 @@
+Tue Dec 5 06:08:05 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 2.15.7:
+ This release includes a fix for CVE-2023-5764, where internal
+ templating actions could result in unsafe data losing its unsafe
+ designation.
+ * Breaking Changes / Porting Guide
+ - assert - Nested templating may result in an inability for the
+ conditional to be evaluated. See the porting guide for more
+ information.
+ * Security Fixes
+ - templating - Address issues where internal templating can
+ cause unsafe variables to lose their unsafe designation
+ (CVE-2023-5764)
+ * Bugfixes
+ - ansible-pull now will expand relative paths for the
+ -d|--directory option is now expanded before use.
+ - flush_handlers - properly handle a handler failure in a
+ nested block when force_handlers is set
+ (http://github.com/ansible/ansible/issues/81532)
+ - module no_log will no longer affect top level booleans, for
+ example no_log_module_parameter='a' will no longer hide
+ changed=False as a 'no log value' (matches 'a').
+ - modules/user.py - Add check for valid directory when creating
+ new user homedir (allows /dev/null as skeleton) (#75063)
+ - role params now have higher precedence than host facts again,
+ matching documentation, this had unintentionally changed in
+ 2.15.
+ - wait_for should not handle 'non mmapable files' again.
+
+-------------------------------------------------------------------
Old:
----
ansible-core-2.15.6.tar.gz
New:
----
ansible-core-2.15.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible-core.spec ++++++
--- /var/tmp/diff_new_pack.wZs2o2/_old 2023-12-05 17:03:32.889881738 +0100
+++ /var/tmp/diff_new_pack.wZs2o2/_new 2023-12-05 17:03:32.889881738 +0100
@@ -38,7 +38,7 @@
%endif
Name: ansible-core
-Version: 2.15.6
+Version: 2.15.7
Release: 0
Summary: Radically simple IT automation
License: GPL-3.0-or-later
++++++ ansible-core-2.15.6.tar.gz -> ansible-core-2.15.7.tar.gz ++++++
++++ 2396 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package melange for openSUSE:Factory checked in at 2023-12-05 17:03:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/melange (Old)
and /work/SRC/openSUSE:Factory/.melange.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "melange"
Tue Dec 5 17:03:17 2023 rev:6 rq:1130889 version:0.5.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/melange/melange.changes 2023-11-16 20:29:58.619500498 +0100
+++ /work/SRC/openSUSE:Factory/.melange.new.25432/melange.changes 2023-12-05 17:03:28.361714829 +0100
@@ -1,0 +2,48 @@
+Tue Dec 05 06:06:45 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.5.4:
+ * build(deps): bump golang.org/x/sys from 0.14.0 to 0.15.0
+ * build(deps): bump chainguard.dev/apko
+ * build(deps): bump k8s.io/client-go from 0.28.3 to 0.28.4
+ * schema: update for new test pipeline configuration
+ * build(deps): bump github.com/klauspost/compress from 1.17.2 to
+ 1.17.4
+ * build(deps): bump google.golang.org/api from 0.150.0 to 0.152.0
+ * fix issue
+ * cleanup: don't use pkg/errors
+ * fix bad merge.
+ * Default to package.name, but allow overrides, add example docs
+ for specifying which package, and version to test.
+ * argh, fix typo.
+ * Add tests, simplify code.
+ * e2e tests for `test` command.
+ * checkpoint.
+ * Add test command / implementation.
+ * alphabetize commands, add test.
+ * Refactor so can be used with test and build.
+ * config struct changes for test.
+ * Add autogenerated 'test' docs.
+ * make docs-repo
+ * remove unnecessary wait for testing
+ * support resource requests and timeouts
+ * UTC-ify source date epoch when set
+ * Fix capitalization of SBOM originators
+ * Fix the lint warnings in pkg/linter
+ * Fix lints, or ignore safe ones. No functional changes.
+ * prefix should be /usr
+ * Ensure jsonschema is kept up to date.
+ * Add jsonschema generation binary.
+ * build(deps): bump go.opentelemetry.io/otel from 1.20.0 to
+ 1.21.0
+ * build(deps): bump k8s.io/apimachinery from 0.28.3 to 0.28.4
+ * build(deps): bump sigs.k8s.io/release-utils from 0.7.6 to 0.7.7
+ * fix and continuously validate SBOMs
+ * make docs-repo
+ * default --use-github=true
+ * fix docs
+ * convert python: don't overwrite existing files
+ * format manifests with yam
+ * fix docs for --runner
+ * improve 'melange convert python' to remove manual steps
+
+-------------------------------------------------------------------
Old:
----
melange-0.5.3.obscpio
New:
----
melange-0.5.4.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ melange.spec ++++++
--- /var/tmp/diff_new_pack.j6mjnC/_old 2023-12-05 17:03:29.449754934 +0100
+++ /var/tmp/diff_new_pack.j6mjnC/_new 2023-12-05 17:03:29.449754934 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: melange
-Version: 0.5.3
+Version: 0.5.4
Release: 0
Summary: Build APKs from source code
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.j6mjnC/_old 2023-12-05 17:03:29.477755966 +0100
+++ /var/tmp/diff_new_pack.j6mjnC/_new 2023-12-05 17:03:29.481756113 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/chainguard-dev/melange</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.5.3</param>
+ <param name="revision">v0.5.4</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.j6mjnC/_old 2023-12-05 17:03:29.501756850 +0100
+++ /var/tmp/diff_new_pack.j6mjnC/_new 2023-12-05 17:03:29.501756850 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/chainguard-dev/melange</param>
- <param name="changesrevision">728624ec624ea06a461c8fbbc1feabe1fd8569b9</param></service></servicedata>
+ <param name="changesrevision">bc76a3708fdc91882817652237cbe73bcc5f4591</param></service></servicedata>
(No newline at EOF)
++++++ melange-0.5.3.obscpio -> melange-0.5.4.obscpio ++++++
++++ 5455 lines of diff (skipped)
++++++ melange.obsinfo ++++++
--- /var/tmp/diff_new_pack.j6mjnC/_old 2023-12-05 17:03:29.789767467 +0100
+++ /var/tmp/diff_new_pack.j6mjnC/_new 2023-12-05 17:03:29.793767615 +0100
@@ -1,5 +1,5 @@
name: melange
-version: 0.5.3
-mtime: 1700056908
-commit: 728624ec624ea06a461c8fbbc1feabe1fd8569b9
+version: 0.5.4
+mtime: 1701721716
+commit: bc76a3708fdc91882817652237cbe73bcc5f4591
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/melange/vendor.tar.gz /work/SRC/openSUSE:Factory/.melange.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openssl_tpm2_engine for openSUSE:Factory checked in at 2023-12-05 17:03:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openssl_tpm2_engine (Old)
and /work/SRC/openSUSE:Factory/.openssl_tpm2_engine.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssl_tpm2_engine"
Tue Dec 5 17:03:15 2023 rev:14 rq:1130868 version:4.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/openssl_tpm2_engine/openssl_tpm2_engine.changes 2023-07-06 18:29:18.243376232 +0200
+++ /work/SRC/openSUSE:Factory/.openssl_tpm2_engine.new.25432/openssl_tpm2_engine.changes 2023-12-05 17:03:26.945662632 +0100
@@ -1,0 +2,10 @@
+Mon Dec 5 03:53:40 UTC 2023 - James.Bottomley(a)HansenPartnership.com
+
+- Update to version 4.0.2
+ * Fixes for openssl 3.2
+ * fix for encrypted secret size
+ * fix for swtpm and swtpm2 simultaneous install
+ * gcc-13 fix
+ * make signed_tpm2_policy match man page
+
+-------------------------------------------------------------------
Old:
----
openssl_tpm2_engine-4.0.1.tar.gz
New:
----
openssl_tpm2_engine-4.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openssl_tpm2_engine.spec ++++++
--- /var/tmp/diff_new_pack.mxoQd5/_old 2023-12-05 17:03:27.673689467 +0100
+++ /var/tmp/diff_new_pack.mxoQd5/_new 2023-12-05 17:03:27.673689467 +0100
@@ -18,7 +18,7 @@
Name: openssl_tpm2_engine
-Version: 4.0.1
+Version: 4.0.2
Release: 0
Summary: OpenSSL TPM 2.0 interface engine plugin
License: LGPL-2.1-only
++++++ openssl_tpm2_engine-4.0.1.tar.gz -> openssl_tpm2_engine-4.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/configure.ac new/openssl_tpm2_engine-4.0.2/configure.ac
--- old/openssl_tpm2_engine-4.0.1/configure.ac 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/configure.ac 2023-12-05 04:47:13.000000000 +0100
@@ -2,7 +2,7 @@
# configure.in for the OpenSSL TPM engine project
#
-AC_INIT(openssl-tpm2-engine, 4.0.1, <openssl-tpm2-engine(a)groups.io>)
+AC_INIT(openssl-tpm2-engine, 4.0.2, <openssl-tpm2-engine(a)groups.io>)
AM_INIT_AUTOMAKE([foreign 1.6.3])
AC_CANONICAL_HOST
AM_CONDITIONAL(NATIVE_BUILD, test "x$cross_compiling" = "xno")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/include/tpm2-common.h new/openssl_tpm2_engine-4.0.2/src/include/tpm2-common.h
--- old/openssl_tpm2_engine-4.0.1/src/include/tpm2-common.h 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/include/tpm2-common.h 2023-12-05 04:47:13.000000000 +0100
@@ -129,4 +129,6 @@
int tpm2_rsa_decrypt(const struct app_data *ad, PUBLIC_KEY_RSA_2B *cipherText,
unsigned char *to, int padding, int protection,
char *srk_auth);
+int tpm2_rm_signed_policy(char *tpmkey, int rmnum);
+int tpm2_get_signed_policy(char *tpmkey, STACK_OF(TSSAUTHPOLICY) **sk);
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/libcommon/tpm2-common.c new/openssl_tpm2_engine-4.0.2/src/libcommon/tpm2-common.c
--- old/openssl_tpm2_engine-4.0.1/src/libcommon/tpm2-common.c 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/libcommon/tpm2-common.c 2023-12-05 04:47:13.000000000 +0100
@@ -2349,6 +2349,89 @@
return rc;
}
+static void tpm2_read_tpk(char *tpmkey, TSSPRIVKEY **tpk)
+{
+ BIO *bf;
+ *tpk = NULL;
+
+ bf = BIO_new_file(tpmkey, "r");
+ if (!bf) {
+ fprintf(stderr, "File %s does not exist or cannot be read\n",
+ tpmkey);
+ return;
+ }
+
+ *tpk = PEM_read_bio_TSSPRIVKEY(bf, NULL, NULL, NULL);
+ if (!*tpk) {
+ BIO_seek(bf, 0);
+ ERR_clear_error();
+ *tpk = ASN1_item_d2i_bio(ASN1_ITEM_rptr(TSSPRIVKEY), bf, NULL);
+ }
+ BIO_free(bf);
+ if (!*tpk)
+ fprintf(stderr, "Cannot parse file as TPM key\n");
+}
+
+static int tpm2_write_tpk(char *tpmkey, TSSPRIVKEY *tpk)
+{
+ BIO *bf;
+
+ bf = BIO_new_file(tpmkey, "w");
+ if (bf == NULL) {
+ fprintf(stderr, "Failed to open key file %s for writing\n",
+ tpmkey);
+ return 1;
+ }
+ PEM_write_bio_TSSPRIVKEY(bf, tpk);
+ BIO_free(bf);
+
+ return 0;
+}
+
+int tpm2_rm_signed_policy(char *tpmkey, int rmnum)
+{
+ TSSPRIVKEY *tpk;
+ TSSAUTHPOLICY *ap;
+ int ret = 0;
+
+ tpm2_read_tpk(tpmkey, &tpk);
+ if (!tpk)
+ return 1;
+
+ if (sk_TSSAUTHPOLICY_num(tpk->authPolicy) < rmnum) {
+ fprintf(stderr, "Policy %d does not exist\n", rmnum);
+ goto out_free;
+ }
+
+ ap = sk_TSSAUTHPOLICY_delete(tpk->authPolicy, rmnum - 1);
+ TSSAUTHPOLICY_free(ap);
+
+ ret = tpm2_write_tpk(tpmkey, tpk);
+
+ out_free:
+ TSSPRIVKEY_free(tpk);
+ return ret;
+}
+
+int tpm2_get_signed_policy(char *tpmkey, STACK_OF(TSSAUTHPOLICY) **sk)
+{
+ TSSPRIVKEY *tpk;
+
+ *sk = NULL;
+ tpm2_read_tpk(tpmkey, &tpk);
+ if (!tpk)
+ return 1;
+
+ if (tpk->authPolicy) {
+ *sk = sk_TSSAUTHPOLICY_dup(tpk->authPolicy);
+ /* dup does not duplicate elements, so transfer ownership */
+ sk_TSSAUTHPOLICY_zero(tpk->authPolicy);
+ }
+
+ TSSPRIVKEY_free(tpk);
+ return 0;
+}
+
TPM_RC tpm2_new_signed_policy(char *tpmkey, char *policykey, char *engine,
TSSAUTHPOLICY *ap, TPMT_HA *digest)
{
@@ -2368,24 +2451,10 @@
BYTE buf[1024];
UINT16 written = 0;
- bf = BIO_new_file(tpmkey, "r");
- if (!bf) {
- fprintf(stderr, "File %s does not exist or cannot be read\n",
- tpmkey);
+ tpm2_read_tpk(tpmkey, &tpk);
+ if (!tpk)
return 0;
- }
- tpk = PEM_read_bio_TSSPRIVKEY(bf, NULL, NULL, NULL);
- if (!tpk) {
- BIO_seek(bf, 0);
- ERR_clear_error();
- tpk = ASN1_item_d2i_bio(ASN1_ITEM_rptr(TSSPRIVKEY), bf, NULL);
- }
- BIO_free(bf);
- if (!tpk) {
- fprintf(stderr, "Cannot parse file as TPM key\n");
- return 0;
- }
if (!tpk->policy || sk_TSSOPTPOLICY_num(tpk->policy) <= 0) {
fprintf(stderr, "TPM Key has no policy\n");
goto err_free_tpmkey;
@@ -2460,17 +2529,10 @@
* latest policy addition first */
sk_TSSAUTHPOLICY_unshift(tpk->authPolicy, ap);
- bf = BIO_new_file(tpmkey, "w");
- if (bf == NULL) {
- fprintf(stderr, "Failed to open key file %s for writing\n",
- tpmkey);
- goto err_free_tpmkey;
- }
- PEM_write_bio_TSSPRIVKEY(bf, tpk);
- BIO_free(bf);
+ rc = tpm2_write_tpk(tpmkey, tpk);
TSSPRIVKEY_free(tpk);
- return 0;
+ return rc;
err_free_tpmkey:
TSSPRIVKEY_free(tpk);
@@ -3045,6 +3107,7 @@
&null_2b, &null_2b, SHA256_DIGEST_LENGTH*8);
/* OK the ephermeral public point is now the encrypted secret */
size = sizeof(ephemeral_pt);
+ written = 0;
buf = enc_secret->secret;
TSS_TPM2B_ECC_POINT_Marshal(&ephemeral_pt, &written,
&buf, &size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/provider/decryption.c new/openssl_tpm2_engine-4.0.2/src/provider/decryption.c
--- old/openssl_tpm2_engine-4.0.1/src/provider/decryption.c 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/provider/decryption.c 2023-12-05 04:47:13.000000000 +0100
@@ -32,6 +32,11 @@
{
struct decryption_ctx *dctx = ctx;
+ if (dctx->ad)
+ tpm2_keymgmt_free(dctx->ad);
+ if (dctx->peer_ad)
+ tpm2_keymgmt_free(dctx->peer_ad);
+
osslm_decryption_freectx(&dctx->dctx);
OPENSSL_free(dctx);
}
@@ -108,6 +113,8 @@
struct decryption_ctx *dctx = ctx;
dctx->ad = key;
+ atomic_fetch_add_explicit(&dctx->ad->refs, 1,
+ memory_order_relaxed);
return 1;
}
@@ -118,6 +125,8 @@
struct decryption_ctx *dctx = ctx;
dctx->peer_ad = peerkey;
+ atomic_fetch_add_explicit(&dctx->peer_ad->refs, 1,
+ memory_order_relaxed);
return 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/provider/keymgmt.c new/openssl_tpm2_engine-4.0.2/src/provider/keymgmt.c
--- old/openssl_tpm2_engine-4.0.1/src/provider/keymgmt.c 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/provider/keymgmt.c 2023-12-05 04:47:13.000000000 +0100
@@ -20,7 +20,7 @@
return ad;
}
-static void tpm2_keymgmt_free(void *ref)
+void tpm2_keymgmt_free(void *ref)
{
struct app_data *ad = ref;
int refcnt = atomic_fetch_sub_explicit(&ad->refs, 1,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/provider/provider.h new/openssl_tpm2_engine-4.0.2/src/provider/provider.h
--- old/openssl_tpm2_engine-4.0.1/src/provider/provider.h 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/provider/provider.h 2023-12-05 04:47:13.000000000 +0100
@@ -33,6 +33,7 @@
extern const OSSL_ALGORITHM keymgmts[];
void *tpm2_keymgmt_new(void *pctx); /* needed by decode_encode.c */
+void tpm2_keymgmt_free(void *ref); /* needed by decryption.c */
/* signatures.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/tools/signed_tpm2_policy.c new/openssl_tpm2_engine-4.0.2/src/tools/signed_tpm2_policy.c
--- old/openssl_tpm2_engine-4.0.1/src/tools/signed_tpm2_policy.c 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/tools/signed_tpm2_policy.c 2023-12-05 04:47:13.000000000 +0100
@@ -101,7 +101,7 @@
{
char *filename, *policyFilename = NULL, *policy_name = NULL,
*policy_signing_key;
- int option_index, c, auth = 0;
+ int option_index, c, auth = 0, i;
const char *reason = NULL;
TPM_RC rc;
char *engine = NULL;
@@ -110,12 +110,38 @@
TPMT_HA digest;
int size;
TPML_PCR_SELECTION pcr_lock = { 0 };
+ STACK_OF(TSSAUTHPOLICY) *sk;
+ enum cmd {
+ CMD_ADD = 0,
+ CMD_LS,
+ CMD_RM,
+ CMD_MAX
+ } cmd;
+ static char *command[] = {
+ [CMD_ADD] = "add",
+ [CMD_LS] = "ls",
+ [CMD_RM] = "rm",
+ };
+ char *argv0 = argv[0];
OpenSSL_add_all_digests();
/* may be needed to decrypt the key */
OpenSSL_add_all_ciphers();
- while (1) {
+ if (argc < 2)
+ usage(argv0);
+
+ for (cmd = CMD_ADD; cmd < CMD_MAX; cmd++)
+ if (strcmp(argv[1], command[cmd]) == 0)
+ break;
+ if (cmd == CMD_MAX) {
+ fprintf(stderr, "Unknown command %s\n", argv[1]);
+ usage(argv0);
+ }
+ argc--;
+ argv++;
+
+ while (cmd == CMD_ADD) {
option_index = 0;
c = getopt_long(argc, argv, "ahvc:x:e:n:",
long_options, &option_index);
@@ -127,14 +153,14 @@
auth = 1;
break;
case 'h':
- usage(argv[0]);
+ usage(argv0);
break;
case 'v':
fprintf(stdout, "%s " VERSION "\n"
"Copyright 2017 by James Bottomley\n"
"License LGPL-2.1-only\n"
"Written by James Bottomley <James.Bottomley(a)HansenPartnership.com>\n",
- argv[0]);
+ argv0);
exit(0);
case 'c':
policyFilename = optarg;
@@ -153,95 +179,137 @@
break;
default:
printf("Unknown option '%c'\n", c);
- usage(argv[0]);
+ usage(argv0);
break;
}
}
- if (optind >= argc - 1) {
- printf("Too few arguments: Expected file name as last argument\n");
- usage(argv[0]);
+ if (((cmd == CMD_RM || cmd == CMD_ADD) && optind != argc - 2) ||
+ (cmd == CMD_LS && optind != argc - 1)) {
+ fprintf(stderr, "Incorrect number of arguments\n");
+ usage(argv0);
}
- filename = argv[argc - 2];
- policy_signing_key = argv[argc - 1];
+ switch(cmd) {
+ case CMD_ADD:
+ filename = argv[argc - 2];
+ policy_signing_key = argv[argc - 1];
+
+ if (optind < argc - 2) {
+ printf("Unexpected additional arguments\n");
+ usage(argv0);
+ }
- if (optind < argc - 2) {
- printf("Unexpected additional arguments\n");
- usage(argv[0]);
- }
+ name_alg = tpm2_get_name_alg(filename);
+ digest.hashAlg = name_alg;
+ size = TSS_GetDigestSize(digest.hashAlg);
+ memset((uint8_t *)&digest.digest, 0, size);
+
+ ap = TSSAUTHPOLICY_new();
+ if (policy_name) {
+ ap->name = ASN1_UTF8STRING_new();
+ ASN1_STRING_set(ap->name, policy_name, strlen(policy_name));
+ }
+ ap->policy = sk_TSSOPTPOLICY_new_null();
+ if (!ap->policy) {
+ rc = NOT_TPM_ERROR;
+ reason="sk_TSSOPTPOLICY_new_null allocation";
+ goto out_err;
+ }
- name_alg = tpm2_get_name_alg(filename);
- digest.hashAlg = name_alg;
- size = TSS_GetDigestSize(digest.hashAlg);
- memset((uint8_t *)&digest.digest, 0, size);
-
- ap = TSSAUTHPOLICY_new();
- if (policy_name) {
- ap->name = ASN1_UTF8STRING_new();
- ASN1_STRING_set(ap->name, policy_name, strlen(policy_name));
- }
- ap->policy = sk_TSSOPTPOLICY_new_null();
- if (!ap->policy) {
- rc = NOT_TPM_ERROR;
- reason="sk_TSSOPTPOLICY_new_null allocation";
+ if (policyFilename) {
+ rc = tpm2_parse_policy_file(policyFilename, ap->policy,
+ (char *)(unsigned long)auth,
+ &digest);
+ reason = "parse_policy_file";
+ if (rc)
+ goto out_free_policy;
+ } else if (signed_policy) {
+ rc = tpm2_add_signed_policy(ap->policy, signed_policy, &digest);
+ reason = "add_signed_policy";
+ if (rc)
+ goto out_free_policy;
+ }
+
+ if (auth)
+ tpm2_add_auth_policy(ap->policy, &digest);
+
+ if (pcr_lock.count != 0) {
+ TSS_CONTEXT *tssContext = NULL;
+ const char *dir;
+
+ dir = tpm2_set_unique_tssdir();
+ rc = tpm2_create(&tssContext, dir);
+ if (rc) {
+ reason = "TSS_Create";
+ goto out_free_policy;
+ }
+ rc = tpm2_pcr_lock_policy(tssContext, &pcr_lock,
+ ap->policy, &digest);
+ TSS_Delete(tssContext);
+ tpm2_rm_tssdir(dir);
+ if (rc) {
+ reason = "create pcr policy";
+ goto out_free_policy;
+ }
+ }
+
+ rc = tpm2_new_signed_policy(filename, policy_signing_key,
+ engine, ap, &digest);
+ if (rc == 0)
+ exit(0);
+
+ /* tpm2_new_signed_policy frees the key which includes the policy */
goto out_err;
- }
- if (policyFilename) {
- rc = tpm2_parse_policy_file(policyFilename, ap->policy,
- (char *)(unsigned long)auth,
- &digest);
- reason = "parse_policy_file";
- if (rc)
- goto out_free_policy;
- } else if (signed_policy) {
- rc = tpm2_add_signed_policy(ap->policy, signed_policy, &digest);
- reason = "add_signed_policy";
- if (rc)
- goto out_free_policy;
- }
+ out_free_policy:
+ if (ap->name)
+ ASN1_UTF8STRING_free(ap->name);
+ tpm2_free_policy(ap->policy);
+ out_err:
+ if (rc == NOT_TPM_ERROR)
+ fprintf(stderr, "%s failed\n", reason);
+ else
+ tpm2_error(rc, reason);
- if (auth)
- tpm2_add_auth_policy(ap->policy, &digest);
+ exit(1);
- if (pcr_lock.count != 0) {
- TSS_CONTEXT *tssContext = NULL;
- const char *dir;
-
- dir = tpm2_set_unique_tssdir();
- rc = tpm2_create(&tssContext, dir);
- if (rc) {
- reason = "TSS_Create";
- goto out_free_policy;
- }
- rc = tpm2_pcr_lock_policy(tssContext, &pcr_lock,
- ap->policy, &digest);
- TSS_Delete(tssContext);
- tpm2_rm_tssdir(dir);
- if (rc) {
- reason = "create pcr policy";
- goto out_free_policy;
- }
- }
+ case CMD_LS:
+ filename = argv[argc - 1];
- rc = tpm2_new_signed_policy(filename, policy_signing_key, engine,
- ap, &digest);
- if (rc == 0)
+ rc = tpm2_get_signed_policy(filename, &sk);
+ if (rc)
+ exit(1);
+ if (!sk || sk_TSSAUTHPOLICY_num(sk) <=0 ) {
+ printf("Key has no signed policies\n");
+ sk_TSSAUTHPOLICY_free(sk);
+ exit(0);
+ }
+ printf("Policy Name\n");
+ for (i = 0; i < sk_TSSAUTHPOLICY_num(sk); i++) {
+ TSSAUTHPOLICY *ap = sk_TSSAUTHPOLICY_value(sk, i);
+ int sz = ap->name ? ap->name->length : 0;
+ char *name = ap->name ? (char *)ap->name->data : "";
+ if (sz)
+ printf("%6d %*s\n", i+1, sz, name);
+ else
+ printf("%6d\n", i+1);
+ }
+ sk_TSSAUTHPOLICY_pop_free(sk, TSSAUTHPOLICY_free);
exit(0);
- /* tpm2_new_signed_policy frees the key which includes the policy */
- goto out_err;
+ case CMD_RM:
+ filename = argv[argc - 2];
+ i = atoi(argv[argc - 1]);
- out_free_policy:
- if (ap->name)
- ASN1_UTF8STRING_free(ap->name);
- tpm2_free_policy(ap->policy);
- out_err:
- if (rc == NOT_TPM_ERROR)
- fprintf(stderr, "%s failed\n", reason);
- else
- tpm2_error(rc, reason);
+ rc = tpm2_rm_signed_policy(filename, i);
+ if (rc)
+ exit(1);
+ exit(0);
- exit(1);
+ case CMD_MAX:
+ /* has to be here because stupid gcc doesn't notice
+ * the check above means it's impossible to get here*/
+ ;
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/src/tools/unseal_tpm2_data.c new/openssl_tpm2_engine-4.0.2/src/tools/unseal_tpm2_data.c
--- old/openssl_tpm2_engine-4.0.1/src/tools/unseal_tpm2_data.c 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/src/tools/unseal_tpm2_data.c 2023-12-05 04:47:13.000000000 +0100
@@ -67,7 +67,7 @@
char *filename;
TPM_RC rc;
TSS_CONTEXT *tssContext;
- const char *reason;
+ const char *reason = NULL;
TPM_HANDLE itemHandle;
SENSITIVE_DATA_2B outData;
uint32_t parent, session;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/tests/check_signed_policies.sh new/openssl_tpm2_engine-4.0.2/tests/check_signed_policies.sh
--- old/openssl_tpm2_engine-4.0.1/tests/check_signed_policies.sh 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/tests/check_signed_policies.sh 2023-12-05 04:47:13.000000000 +0100
@@ -1,6 +1,5 @@
#!/bin/bash
-
tss_pcrreset_cmd=tsspcrreset
tss_pcrextend_cmd=tsspcrextend
@@ -49,18 +48,18 @@
# 5. do sign with key and verify four times. Check that all
# but the last succeeds and the last one fails
${tss_pcrreset_cmd} -ha 16
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-0" --pcr-lock 16 key.tpm policy.key || exit 1
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-0" --pcr-lock 16 seal.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-0" --pcr-lock 16 key.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-0" --pcr-lock 16 seal.tpm policy.key || exit 1
openssl rsa $ENGINE $INFORM -in key.tpm -pubout -out key.pub || exit 1
${tss_pcrextend_cmd} -ha 16 -ic aaa
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-extend" --pcr-lock 16 key.tpm policy.key || exit 1
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-extend" --pcr-lock 16 seal.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-extend" --pcr-lock 16 key.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-extend" --pcr-lock 16 seal.tpm policy.key || exit 1
${tss_pcrextend_cmd} -ha 16 -ic aaa
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-extendx2" --pcr-lock 16 key.tpm policy.key || exit 1
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-extendx2" --pcr-lock 16 seal.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-extendx2" --pcr-lock 16 key.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-extendx2" --pcr-lock 16 seal.tpm policy.key || exit 1
${tss_pcrextend_cmd} -ha 16 -ic aaa
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-extendx3" --pcr-lock 16 key.tpm policy.key || exit 1
- ${bindir}/signed_tpm2_policy --policy-name "PCR16-extendx3" --pcr-lock 16 seal.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-extendx3" --pcr-lock 16 key.tpm policy.key || exit 1
+ ${bindir}/signed_tpm2_policy add --policy-name "PCR16-extendx3" --pcr-lock 16 seal.tpm policy.key || exit 1
${tss_pcrreset_cmd} -ha 16
openssl pkeyutl -sign -in plain.txt $ENGINE $KEYFORM -inkey key.tpm -out tmp.msg && \
openssl pkeyutl -verify -in plain.txt -sigfile tmp.msg -inkey key.pub -pubin || exit 1
@@ -80,7 +79,17 @@
${tss_pcrextend_cmd} -ha 16 -ic aaa
openssl pkeyutl -sign -in plain.txt $ENGINE $KEYFORM -inkey key.tpm -out tmp.msg && exit 1
${bindir}/unseal_tpm2_data seal.tpm && exit 1
-
+ ##
+ # Finally check we can find the zero pcr16 policy in the list
+ # and remove it
+ ##
+ ${tss_pcrreset_cmd} -ha 16
+ ${bindir}/signed_tpm2_policy ls seal.tpm | grep -q "4 PCR16-0" || exit 1
+ ${bindir}/signed_tpm2_policy rm seal.tpm 4 || exit 1
+ ${bindir}/signed_tpm2_policy ls seal.tpm | grep -q " PCR16-0" && exit 1
+ ${bindir}/unseal_tpm2_data seal.tpm && exit 1
+ ${tss_pcrextend_cmd} -ha 16 -ic aaa
+ ${bindir}/unseal_tpm2_data seal.tpm || exit 1
done
done
exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/tests/create_nonopenssl_ecc.sh new/openssl_tpm2_engine-4.0.2/tests/create_nonopenssl_ecc.sh
--- old/openssl_tpm2_engine-4.0.1/tests/create_nonopenssl_ecc.sh 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/tests/create_nonopenssl_ecc.sh 2023-12-05 04:47:13.000000000 +0100
@@ -2,7 +2,7 @@
# swtpm doesn't have a correct implementation of the Barreto-Naehrig curves
# which are the only openssl unparametrised ones, so skip the test
-if [ -x "${SWTPM}" ]; then
+if [ ! -x "${TPMSERVER}" -a -x "${SWTPM}" ]; then
exit 77;
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/tests/dynamic_engine.sh new/openssl_tpm2_engine-4.0.2/tests/dynamic_engine.sh
--- old/openssl_tpm2_engine-4.0.1/tests/dynamic_engine.sh 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/tests/dynamic_engine.sh 2023-12-05 04:47:13.000000000 +0100
@@ -7,6 +7,7 @@
unset OPENSSL_CONF
export OPENSSL_ENGINES=${testdir}/../src/engine/.libs
ln -s libtpm2.so ${OPENSSL_ENGINES}/tpm2.so
+export LD_LIBRARY_PATH=${OPENSSL_ENGINES}:{LD_LIBRARY_PATH}
testkey() {
openssl pkey $ENGINE $INFORM -in key.tpm -pubout -out key.pub || exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/tests/start_sw_tpm.sh new/openssl_tpm2_engine-4.0.2/tests/start_sw_tpm.sh
--- old/openssl_tpm2_engine-4.0.1/tests/start_sw_tpm.sh 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/tests/start_sw_tpm.sh 2023-12-05 04:47:13.000000000 +0100
@@ -3,10 +3,10 @@
# remove any prior TPM contents
rm -f NVChip h*.bin *.permall
-if [ -x "${SWTPM}" ]; then
-${SWTPM} socket --tpm2 --server type=tcp,port=2321 --ctrl type=tcp,port=2322 --tpmstate dir=`pwd` &
-else
+if [ -x "${TPMSERVER}" ]; then
${TPMSERVER} > /dev/null 2>&1 &
+else
+${SWTPM} socket --tpm2 --server type=tcp,port=2321 --ctrl type=tcp,port=2322 --tpmstate dir=`pwd` &
fi
pid=$!
echo ${pid} > tpm_server.pid
@@ -16,7 +16,7 @@
# store it permanently at handle 81000001 and flush the transient
##
a=0; while [ $a -lt 10 ]; do
- if [ -x "${SWTPM_IOCTL}" ]; then
+ if [ ! -x "${TPMSERVER}" -a -x "${SWTPM_IOCTL}" ]; then
${SWTPM_IOCTL} --tcp 127.0.0.1:2322 -i
else
tsspowerup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.0.1/tests/wrap_pkcs12.sh new/openssl_tpm2_engine-4.0.2/tests/wrap_pkcs12.sh
--- old/openssl_tpm2_engine-4.0.1/tests/wrap_pkcs12.sh 2023-07-05 21:32:10.000000000 +0200
+++ new/openssl_tpm2_engine-4.0.2/tests/wrap_pkcs12.sh 2023-12-05 04:47:13.000000000 +0100
@@ -10,8 +10,13 @@
openssl ecparam -genkey -name prime256v1 > tmp.param || exit 1
openssl genpkey -paramfile tmp.param -out key.priv || exit 1
-openssl req -new -x509 -subj '/CN=test CA/' -key key.priv -out tmp.crt || exit 1
-openssl pkcs12 -out tmp.p12 -passout pass: -export -inkey key.priv -in tmp.crt
+# warning: openssl 3.2 bug; subshell execution with standard openssl.cnf
+# to work around
+(
+ unset OPENSSL_CONF
+ openssl req -new -x509 -subj '/CN=test CA/' -key key.priv --extensions v3_ca -out tmp.crt || exit 1
+ openssl pkcs12 -out tmp.p12 -passout pass: -export -inkey key.priv -in tmp.crt
+)
${bindir}/create_tpm2_key -w tmp.p12 key.tpm || exit 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package weston for openSUSE:Factory checked in at 2023-12-05 17:03:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/weston (Old)
and /work/SRC/openSUSE:Factory/.weston.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "weston"
Tue Dec 5 17:03:13 2023 rev:33 rq:1130866 version:13.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/weston/weston.changes 2023-08-03 17:28:30.667301497 +0200
+++ /work/SRC/openSUSE:Factory/.weston.new.25432/weston.changes 2023-12-05 17:03:24.317565759 +0100
@@ -1,0 +2,11 @@
+Tue Nov 28 02:00:22 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 13
+ * Multi-backend support
+ * VNC, Pipewire and RDP backends: GL renderer support
+ * Improved fullscreen handling in kiosk-shell which allows
+ xwayland type of surfaces be fullscreen
+ * Support for overlapping outputs, which allows placing views on
+ planes when they are displayed on multiple outputs
+
+-------------------------------------------------------------------
Old:
----
weston-12.0.2.tar.xz
weston-12.0.2.tar.xz.sig
New:
----
weston-13.0.0.tar.xz
weston-13.0.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ weston.spec ++++++
--- /var/tmp/diff_new_pack.UoQIq5/_old 2023-12-05 17:03:25.525610288 +0100
+++ /var/tmp/diff_new_pack.UoQIq5/_new 2023-12-05 17:03:25.529610436 +0100
@@ -18,8 +18,8 @@
Name: weston
%define lname libweston0
-%define major 12
-Version: 12.0.2
+%define major 13
+Version: 13.0.0
Release: 0
Summary: Wayland Reference Compositor
License: CC-BY-SA-3.0 AND MIT
@@ -30,16 +30,13 @@
Source: https://gitlab.freedesktop.org/wayland/weston/-/releases/%version/downloads…
Source2: https://gitlab.freedesktop.org/wayland/weston/-/releases/%version/downloads…
BuildRequires: Mesa-libGLESv3-devel
-BuildRequires: autoconf >= 2.64
-BuildRequires: automake >= 1.11
BuildRequires: gcc-c++
BuildRequires: glibc-devel >= 2.27
BuildRequires: libjpeg-devel
-BuildRequires: libtool >= 2.2
BuildRequires: libxml2-tools
-BuildRequires: meson
+BuildRequires: meson >= 0.63
BuildRequires: pam-devel
-BuildRequires: pkgconfig
+BuildRequires: pkg-config
BuildRequires: xkeyboard-config
BuildRequires: xz
BuildRequires: pkgconfig(cairo) >= 1.10.0
@@ -50,7 +47,7 @@
BuildRequires: pkgconfig(freerdp2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(glesv2)
-BuildRequires: pkgconfig(lcms2)
+BuildRequires: pkgconfig(lcms2) >= 2.9
BuildRequires: pkgconfig(libdrm) >= 2.4.108
BuildRequires: pkgconfig(libevdev)
BuildRequires: pkgconfig(libinput) >= 0.8.0
@@ -61,11 +58,11 @@
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(pixman-1) >= 0.25.2
-BuildRequires: pkgconfig(wayland-client) >= 1.18.0
+BuildRequires: pkgconfig(wayland-client) >= 1.22.0
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols) >= 1.24
BuildRequires: pkgconfig(wayland-scanner)
-BuildRequires: pkgconfig(wayland-server) >= 1.18.0
+BuildRequires: pkgconfig(wayland-server) >= 1.22.0
BuildRequires: pkgconfig(xcb) >= 1.8
BuildRequires: pkgconfig(xcb-composite)
BuildRequires: pkgconfig(xcb-cursor)
@@ -126,8 +123,6 @@
%autosetup -p1
%build
-echo "Workaround broken weston that fails to cope with -Wl,--no-undefined injected by meson/ninja"
-export LDFLAGS="%{?build_ldflags} -Wl,-z,undefs"
%meson -Ddemo-clients=false -Dremoting=false -Dsimple-clients= \
-Dtest-junit-xml=false -Dpipewire=false -Dbackend-vnc=false \
--includedir="%_includedir/%name"
++++++ weston-12.0.2.tar.xz -> weston-13.0.0.tar.xz ++++++
++++ 26921 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xvidcore for openSUSE:Factory checked in at 2023-12-05 17:03:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xvidcore (Old)
and /work/SRC/openSUSE:Factory/.xvidcore.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xvidcore"
Tue Dec 5 17:03:12 2023 rev:2 rq:1130861 version:1.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/xvidcore/xvidcore.changes 2023-12-04 22:59:28.887199363 +0100
+++ /work/SRC/openSUSE:Factory/.xvidcore.new.25432/xvidcore.changes 2023-12-05 17:03:22.933514742 +0100
@@ -1,0 +2,12 @@
+Mon Nov 27 16:53:18 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Trim filler wording from description.
+- Replace old %__-type macros
+
+-------------------------------------------------------------------
+Wed Nov 22 09:45:35 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Add a libxvidcore-devel Provides in the devel sub-package, name
+ previously used in third party repos.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xvidcore.spec ++++++
--- /var/tmp/diff_new_pack.TFDRK4/_old 2023-12-05 17:03:23.821547476 +0100
+++ /var/tmp/diff_new_pack.TFDRK4/_new 2023-12-05 17:03:23.821547476 +0100
@@ -36,12 +36,10 @@
Simple Profile standards. It permits compressing and decompressing
digital video in order to reduce the required bandwidth of video
data for transmission over computer networks or efficient storage
-on CDs or DVDs. Due to its unrivalled quality Xvid has gained great
-popularity and is used in many other GPLed applications, like e.g.
-Transcode, MEncoder, MPlayer, Xine and many more.
+on CDs or DVDs.
%package -n lib%{name}%{sovermajor}
-Summary: Shared library for xvidcore
+Summary: MPEG-4 Simple and Advanced Simple Profile codec
%description -n lib%{name}%{sovermajor}
Xvid is a high quality MPEG-4 ASP video codec.
@@ -50,6 +48,7 @@
%package devel
Summary: Development files for the Xvid video codec
Requires: lib%{name}%{sovermajor} = %{version}
+Provides: libxvidcore-devel = %{version}
%description devel
This package contains header files, static library and API
@@ -71,9 +70,9 @@
mv $file.new $file
done
# Yes, we want to see the build output.
-%{__sed} -i -e 's|@$(|$(|g' build/generic/Makefile
+sed -i -e 's|@$(|$(|g' build/generic/Makefile
# Fix permissions
-%{__sed} -i -e 's|644 $(BUILD_DIR)/$(SHARED_LIB)|755 $(BUILD_DIR)/$(SHARED_LIB)|g' build/generic/Makefile
+sed -i -e 's|644 $(BUILD_DIR)/$(SHARED_LIB)|755 $(BUILD_DIR)/$(SHARED_LIB)|g' build/generic/Makefile
%build
cd build/generic
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gamescope for openSUSE:Factory checked in at 2023-12-05 17:03:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gamescope (Old)
and /work/SRC/openSUSE:Factory/.gamescope.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gamescope"
Tue Dec 5 17:03:03 2023 rev:8 rq:1130851 version:3.13.16
Changes:
--------
--- /work/SRC/openSUSE:Factory/gamescope/gamescope.changes 2023-11-17 20:50:35.931469089 +0100
+++ /work/SRC/openSUSE:Factory/.gamescope.new.25432/gamescope.changes 2023-12-05 17:03:16.393273665 +0100
@@ -1,0 +2,15 @@
+Mon Dec 04 20:05:27 UTC 2023 - antonio.teixeira(a)suse.com
+
+- Update to version 3.13.16:
+ * waitable: Set running to false before nudge
+ * waitable: Fix draining CNudgeWaitable
+ * steamcompmgr: Handle external overlays better for steamcompmgr_user_has_any_game_open
+ * drm: Handle rotated screens properly in drm_get_default_refresh
+ * steamcompmgr: Workaround kernel NULL pointer bug with epoll + dmabuf + close
+ * waitable: Remove unused func
+ * steamcompmgr: Remove dmabuf waitable on HUP
+ * steamcompmgr: Reduce alloc overhead of new xwayland resources
+ * drm: Reset CTM on layers with applyColorMgmt = false
+ * mangoapp: Use visible frames for reporting to mangohud if FIFO
+
+-------------------------------------------------------------------
Old:
----
gamescope-3.13.3.tar.xz
New:
----
gamescope-3.13.16.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gamescope.spec ++++++
--- /var/tmp/diff_new_pack.ABKQtW/_old 2023-12-05 17:03:18.573354025 +0100
+++ /var/tmp/diff_new_pack.ABKQtW/_new 2023-12-05 17:03:18.573354025 +0100
@@ -18,7 +18,7 @@
%bcond_without intree_libs
Name: gamescope
-Version: 3.13.3
+Version: 3.13.16
Release: 0
Summary: Micro-compositor optimized for running video games on Wayland
License: BSD-2-Clause
++++++ gamescope-3.13.3.tar.xz -> gamescope-3.13.16.tar.xz ++++++
/work/SRC/openSUSE:Factory/gamescope/gamescope-3.13.3.tar.xz /work/SRC/openSUSE:Factory/.gamescope.new.25432/gamescope-3.13.16.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kew for openSUSE:Factory checked in at 2023-12-05 17:03:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kew (Old)
and /work/SRC/openSUSE:Factory/.kew.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kew"
Tue Dec 5 17:03:01 2023 rev:5 rq:1130846 version:1.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/kew/kew.changes 2023-12-01 21:26:40.400753946 +0100
+++ /work/SRC/openSUSE:Factory/.kew.new.25432/kew.changes 2023-12-05 17:03:12.941146418 +0100
@@ -1,0 +2,24 @@
+Mon Dec 4 20:44:11 UTC 2023 - Muhammad Akbar Yanuar Mantari <mantarimay(a)pm.me>
+
+- Update to version 1.10
+ * Improved config file, with more information on how to make key
+ bindings with special keys for instance.
+ * Changing the volume is now for just kew, not the master volume
+ of your system.
+ * Switching songs now unpauses the player.
+ * Fixed issue of potential crash when uninitializing decoders.
+
+-------------------------------------------------------------------
+Fri Dec 1 21:49:12 UTC 2023 - Muhammad Akbar Yanuar Mantari <mantarimay(a)pm.me>
+
+- Update to version 1.9
+ * Fixed a potential dead-lock situation.
+ * Fixed one instance of wrong metadata/cover being displayed for
+ a song on rare occasions.
+ * Fixed an issue that could lead to a crash when switching songs.
+ * Fixed issue of potential crash when closing audio file.
+ * Fixed playlist showing the previous track as the current one.
+ * Much improved memory allocation handling in visualizer.
+ * Playlist builder now ignores hidden directories.
+
+-------------------------------------------------------------------
Old:
----
kew-1.8.1.tar.gz
New:
----
kew-1.10.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kew.spec ++++++
--- /var/tmp/diff_new_pack.BNme0b/_old 2023-12-05 17:03:13.849179889 +0100
+++ /var/tmp/diff_new_pack.BNme0b/_new 2023-12-05 17:03:13.849179889 +0100
@@ -17,7 +17,7 @@
Name: kew
-Version: 1.8.1
+Version: 1.10
Release: 0
Summary: A command-line music player
License: GPL-2.0-only
++++++ kew-1.8.1.tar.gz -> kew-1.10.tar.gz ++++++
++++ 1865 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package godot for openSUSE:Factory checked in at 2023-12-05 17:02:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/godot (Old)
and /work/SRC/openSUSE:Factory/.godot.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "godot"
Tue Dec 5 17:02:59 2023 rev:33 rq:1130844 version:4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/godot/godot.changes 2023-11-10 12:37:01.500709296 +0100
+++ /work/SRC/openSUSE:Factory/.godot.new.25432/godot.changes 2023-12-05 17:03:11.685100120 +0100
@@ -1,0 +2,34 @@
+Thu Nov 30 12:00:00 UTC 2023 - cunix(a)mail.de
+
+- Update to 4.2
+
+ Breaking possible:
+ * AnimationMixer between AnimationPlayer and AnimationTree
+ * GraphEdit and GraphNode reworked
+ * GLTF importer
+ * Internal storing of meshes
+ * "change_scene_to_"* methods
+ * "bus_layout_changed" signal removed in AudioServer
+ * NOTIFICATION_NODE_RECACHE_REQUESTED removed
+
+ Some highlights:
+ * Onion skinning mode to preview animations
+ * 2D navigation mesh baking
+ * Multi-threading when baking the navigation mesh
+ * Editor code regions
+ * Project manager reorganized
+ * GDExtension hot reload in editor
+ * Import type changes are picked up on the fly
+ * KTX image format
+ * Native file selection dialogs
+ * Copying and pasting images to clipboard
+ * OIDN dropped as default denoiser
+ * GPU and CPU particles start to deviate
+ * Full support for threaded code in script debugger
+
+ and much more:
+ https://godotengine.github.io/godot-interactive-changelog/#4.2
+
+- rebased improve_linker_detection.patch
+
+-------------------------------------------------------------------
Old:
----
godot-4.1.3-stable.tar.xz
godot-4.1.3-stable.tar.xz.sha256
New:
----
godot-4.2-stable.tar.xz
godot-4.2-stable.tar.xz.sha256
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ godot.spec ++++++
--- /var/tmp/diff_new_pack.eKinWg/_old 2023-12-05 17:03:12.521130937 +0100
+++ /var/tmp/diff_new_pack.eKinWg/_new 2023-12-05 17:03:12.521130937 +0100
@@ -29,7 +29,7 @@
%define compiler_version_leap 10
Name: godot
-Version: 4.1.3
+Version: 4.2
Release: 0
Summary: Cross-Platform Game Engine with an Integrated Editor
License: MIT
@@ -97,7 +97,6 @@
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libbrotlicommon)
BuildRequires: pkgconfig(libbrotlidec)
-BuildRequires: glslang-devel
BuildRequires: mbedtls-devel < 3
BuildRequires: pkgconfig(graphite2)
BuildRequires: pkgconfig(harfbuzz)
@@ -136,41 +135,46 @@
Provides: bundled(minizip) = 1.3
Provides: bundled(FastLZ)
-Provides: bundled(FastNoiseLite)
Provides: bundled(JetBrainsMono_Regular)
Provides: bundled(RVO2-3D)
Provides: bundled(Tangent_Space_Normal_Maps)
Provides: bundled(amd-fsr) = 1.0.2
+Provides: bundled(amd-fsr2) = 2.2.1
+Provides: bundled(angle)
Provides: bundled(astcenc) = 4.4.0
Provides: bundled(basis_universal) = 1.16.4
+Provides: bundled(clipper2) = 1.2.2
Provides: bundled(cvtt)
Provides: bundled(doctest) = 2.4.11
Provides: bundled(etcpak) = 1.0
Provides: bundled(glad) = 2.0.4
+# same version for glslang, spirv-reflect, volk and vulkan needed
+Provides: bundled(glslang) = sdk-1.3.261.1
Provides: bundled(google-droid-fonts)
-Provides: bundled(hqx)
Provides: bundled(icu4c) = 73.2
Provides: bundled(ifaddrs-android)
Provides: bundled(jpeg-compressor) = 2.00
+Provides: bundled(libktx) = 4.1.0
Provides: bundled(meshoptimizer)
+Provides: bundled(mingw-std-threads)
Provides: bundled(minimp3)
Provides: bundled(msdfgen) = 1.10
+Provides: bundled(noise)
Provides: bundled(noto-sans-fonts)
Provides: bundled(nvapi) = R525
-Provides: bundled(oidn) = 1.9.2
-Provides: bundled(openxr) = 1.0.28
+Provides: bundled(openxr) = 1.0.31
Provides: bundled(pcg)
Provides: bundled(polyclipping)
Provides: bundled(polypartition)
Provides: bundled(pvrtccompressor)
Provides: bundled(smaz)
-Provides: bundled(spirv-reflect) = sdk-1.3.250.0
+Provides: bundled(spirv-reflect) = sdk-1.3.261.1
Provides: bundled(stb)
Provides: bundled(thorvg) = 0.9.0
Provides: bundled(tinyexr) = 1.0.7
Provides: bundled(vhacd)
-Provides: bundled(volk) = sdk-1.3.250.0
-Provides: bundled(vulkan) = sdk-1.3.250.0
+Provides: bundled(volk) = sdk-1.3.261.1
+Provides: bundled(vulkan) = sdk-1.3.261.1
Provides: bundled(yuv2rgb)
# Can be unbundled if packaged
@@ -187,18 +191,17 @@
%if 0%{?suse_version} > 1500
%else
-Provides: bundled(brotli)
-Provides: bundled(glslang) = 12.2.0
+Provides: bundled(brotli) = 1.1.0
+
# see comments for freetype2, libpng and zlib Factory BuildRequires
Provides: bundled(freetype2) = 2.13.2
Provides: bundled(graphite) = 1.3.14
-Provides: bundled(harfbuzz) = 7.3.0
-
+Provides: bundled(harfbuzz) = 8.2.2
Provides: bundled(libpng) = 1.6.40
Provides: bundled(libzstd) = 1.5.5
Provides: bundled(zlib)
%if 0%{?sle_version} < 150200
-Provides: bundled(mbedtls) = 2.28.4
+Provides: bundled(mbedtls) = 2.28.5
%endif
%if !0%{?is_opensuse}
# SLES seems not to have miniupnpc and wslay
@@ -289,7 +292,7 @@
# Unbundle more libs for Tumbleweed
%if %{suse_version} > 1500
-unbundle_libs+=('brotli' 'freetype' 'glslang' 'graphite' 'harfbuzz' 'libpng' 'mbedtls' 'zlib' 'zstd')
+unbundle_libs+=('brotli' 'freetype' 'graphite' 'harfbuzz' 'libpng' 'mbedtls' 'zlib' 'zstd')
%else
# Unbundle more libs for coming Leap
%if 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
@@ -374,7 +377,7 @@
%fdupes -s %{buildroot}/%{_prefix}
%files
-%license LICENSE.txt LOGO_LICENSE.md COPYRIGHT.txt thirdparty_README.md
+%license LICENSE.txt LOGO_LICENSE.txt COPYRIGHT.txt thirdparty_README.md
%doc AUTHORS.md CHANGELOG.md CONTRIBUTING.md DONORS.md README.md logo.svg
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/256x256
@@ -390,7 +393,7 @@
%if !0%{?faster_build}
%files runner
-%license LICENSE.txt LOGO_LICENSE.md COPYRIGHT.txt thirdparty_README.md
+%license LICENSE.txt LOGO_LICENSE.txt COPYRIGHT.txt thirdparty_README.md
%doc AUTHORS.md CHANGELOG.md CONTRIBUTING.md DONORS.md README.md logo.svg
%{_bindir}/%{name}-runner
%endif
++++++ godot-4.1.3-stable.tar.xz -> godot-4.2-stable.tar.xz ++++++
/work/SRC/openSUSE:Factory/godot/godot-4.1.3-stable.tar.xz /work/SRC/openSUSE:Factory/.godot.new.25432/godot-4.2-stable.tar.xz differ: char 26, line 1
++++++ godot-4.1.3-stable.tar.xz.sha256 -> godot-4.2-stable.tar.xz.sha256 ++++++
--- /work/SRC/openSUSE:Factory/godot/godot-4.1.3-stable.tar.xz.sha256 2023-11-10 12:37:01.476708408 +0100
+++ /work/SRC/openSUSE:Factory/.godot.new.25432/godot-4.2-stable.tar.xz.sha256 2023-12-05 17:03:11.629098056 +0100
@@ -1 +1 @@
-4b7bdc1feae5722bf6491c15215dade68d77c0b35ec5e7592966a32368cc9ea4 godot-4.1.3-stable.tar.xz
+a4ecd31f976de88293dc9bb1c70816499b9982f0bb33fd0d51e221696e1552af godot-4.2-stable.tar.xz
++++++ improve_linker_detection.patch ++++++
--- /var/tmp/diff_new_pack.eKinWg/_old 2023-12-05 17:03:12.593133591 +0100
+++ /var/tmp/diff_new_pack.eKinWg/_new 2023-12-05 17:03:12.601133885 +0100
@@ -2,6 +2,7 @@
Date: 2023-09-21 12:00:00
Subject: regex in linker detection for template builds fails sometimes to recognize correct ld version
References: https://github.com/godotengine/godot/issues/82078
+Rebased: 2023-11-30
distro added stuff to "ld --version" output prevents correct
version detection.
@@ -16,7 +17,7 @@
diff -r -U 5 a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
-@@ -453,11 +453,11 @@
+@@ -463,16 +463,17 @@
import re
linker_version_str = subprocess.check_output(
@@ -29,4 +30,9 @@
"Warning: Creating export template binaries enabled for PCK embedding is currently only supported with GNU ld, not gold, LLD or mold."
)
else:
++ print("gnu_ld_version found by patch: " + str(gnu_ld_version.group(1)))
+ if float(gnu_ld_version.group(1)) >= 2.30:
+ env.Append(LINKFLAGS=["-T", "platform/linuxbsd/pck_embed.ld"])
+ else:
+ env.Append(LINKFLAGS=["-T", "platform/linuxbsd/pck_embed.legacy.ld"])
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package clojure for openSUSE:Factory checked in at 2023-12-05 17:02:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clojure (Old)
and /work/SRC/openSUSE:Factory/.clojure.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clojure"
Tue Dec 5 17:02:53 2023 rev:19 rq:1130898 version:1.11.1.1429
Changes:
--------
--- /work/SRC/openSUSE:Factory/clojure/clojure.changes 2023-08-28 17:15:42.369708559 +0200
+++ /work/SRC/openSUSE:Factory/.clojure.new.25432/clojure.changes 2023-12-05 17:03:08.997001036 +0100
@@ -1,0 +2,13 @@
+Tue Dec 5 07:11:32 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.11.1.1429:
+ * No changes from prior
+
+-------------------------------------------------------------------
+Mon Dec 4 20:02:45 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.11.1.1420:
+ * TDEPS-119 Unable to start CLI in write-protected project directory
+ * Update to tools.tools 0.3.2
+
+-------------------------------------------------------------------
Old:
----
clojure-tools-1.11.1.1413.tar.gz
New:
----
clojure-tools-1.11.1.1429.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clojure.spec ++++++
--- /var/tmp/diff_new_pack.AVUmC2/_old 2023-12-05 17:03:09.637024627 +0100
+++ /var/tmp/diff_new_pack.AVUmC2/_new 2023-12-05 17:03:09.637024627 +0100
@@ -17,7 +17,7 @@
Name: clojure
-Version: 1.11.1.1413
+Version: 1.11.1.1429
Release: 0
Summary: A dynamic programming language that targets the JVM
License: EPL-1.0
++++++ clojure-tools-1.11.1.1413.tar.gz -> clojure-tools-1.11.1.1429.tar.gz ++++++
/work/SRC/openSUSE:Factory/clojure/clojure-tools-1.11.1.1413.tar.gz /work/SRC/openSUSE:Factory/.clojure.new.25432/clojure-tools-1.11.1.1429.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 cloud-init for openSUSE:Factory checked in at 2023-12-05 17:02:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cloud-init (Old)
and /work/SRC/openSUSE:Factory/.cloud-init.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cloud-init"
Tue Dec 5 17:02:51 2023 rev:92 rq:1130860 version:23.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/cloud-init/cloud-init.changes 2023-12-04 23:01:07.938785027 +0100
+++ /work/SRC/openSUSE:Factory/.cloud-init.new.25432/cloud-init.changes 2023-12-05 17:03:07.492945595 +0100
@@ -1,0 +2,5 @@
+Fri Dec 1 23:16:08 UTC 2023 - Michal Vyskocil <michal.vyskocil(a)gmail.com>
+
+- Move fdupes call back to %install
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cloud-init.spec ++++++
--- /var/tmp/diff_new_pack.D3Gb0A/_old 2023-12-05 17:03:08.156970071 +0100
+++ /var/tmp/diff_new_pack.D3Gb0A/_new 2023-12-05 17:03:08.156970071 +0100
@@ -203,14 +203,14 @@
rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.redhat.*
rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.ubuntu.*
-%post
-/usr/sbin/hidesensitivedata
-
# remove duplicate files
%if 0%{?suse_version}
%fdupes %{buildroot}%{python3_sitelib}
%endif
+%post
+/usr/sbin/hidesensitivedata
+
%files
%defattr(-,root,root)
%license LICENSE LICENSE-GPLv3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sqlite3 for openSUSE:Factory checked in at 2023-12-05 17:02:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sqlite3 (Old)
and /work/SRC/openSUSE:Factory/.sqlite3.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sqlite3"
Tue Dec 5 17:02:45 2023 rev:148 rq:1130837 version:3.44.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/sqlite3/sqlite3.changes 2023-11-08 22:16:56.921455651 +0100
+++ /work/SRC/openSUSE:Factory/.sqlite3.new.25432/sqlite3.changes 2023-12-05 17:03:04.456833682 +0100
@@ -1,0 +2,19 @@
+Mon Nov 27 17:49:51 UTC 2023 - Reinhard Max <max(a)suse.com>
+
+- Update to release 3.44.2
+ * Fix a mistake in the CLI that was introduced by the fix in
+ 3.44.1.
+ * Fix a problem in FTS5 that was discovered during internal fuzz
+ testing only minutes after the 3.44.1 release was tagged.
+ * Fix incomplete assert() statements that the fuzzer discovered.
+ * Fix a couple of harmless compiler warnings that appeared in
+ debug builds with GCC 16.
+
+-------------------------------------------------------------------
+Wed Nov 22 17:20:35 UTC 2023 - Reinhard Max <max(a)suse.com>
+
+- Update to release 3.44.1
+ * Change the CLI so that it uses UTF-16 for console I/O on Windows.
+ * Other obscure bug fixes.
+
+-------------------------------------------------------------------
Old:
----
sqlite-doc-3440000.zip
sqlite-src-3440000.zip
New:
----
sqlite-doc-3440200.zip
sqlite-src-3440200.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sqlite3.spec ++++++
--- /var/tmp/diff_new_pack.WKFjb0/_old 2023-12-05 17:03:05.280864057 +0100
+++ /var/tmp/diff_new_pack.WKFjb0/_new 2023-12-05 17:03:05.280864057 +0100
@@ -17,11 +17,12 @@
%define oname sqlite
-%define tarversion 3440000
+%define tarversion 3440200
+%define docversion 3440200
%bcond_with icu
%bcond_without check
Name: sqlite3
-Version: 3.44.0
+Version: 3.44.1
Release: 0
Summary: Embeddable SQL Database Engine
License: SUSE-Public-Domain
@@ -29,7 +30,7 @@
URL: https://www.sqlite.org/
Source0: https://www.sqlite.org/2023/sqlite-src-%{tarversion}.zip
Source1: baselibs.conf
-Source2: https://www.sqlite.org/2023/sqlite-doc-%{tarversion}.zip
+Source2: https://www.sqlite.org/2023/sqlite-doc-%{docversion}.zip
Patch0: sqlite3-rtree-i686.patch
BuildRequires: automake
BuildRequires: libtool
@@ -130,10 +131,10 @@
%prep
%autosetup -p1 -n sqlite-src-%{tarversion} -a2
-rm -v sqlite-doc-%{tarversion}/releaselog/current.html
-ln -sv `echo %{version} | sed "s/\./_/g"`.html sqlite-doc-%{tarversion}/releaselog/current.html
+rm -v sqlite-doc-%{docversion}/releaselog/current.html
+ln -sv `echo %{docversion} | sed "s/\./_/g"`.html sqlite-doc-%{docversion}/releaselog/current.html
find -type f -name sqlite.css~ -delete
-cmp sqlite-doc-%{tarversion}/fileformat{,2}.html && ln -sf fileformat.html sqlite-doc-%{tarversion}/fileformat2.html
+cmp sqlite-doc-%{docversion}/fileformat{,2}.html && ln -sf fileformat.html sqlite-doc-%{docversion}/fileformat2.html
%build
export TCLLIBDIR=%tcl_archdir/sqlite%version
@@ -204,5 +205,5 @@
%doc %_mandir/mann/*
%files doc
-%doc sqlite-doc-%{tarversion}/*
+%doc sqlite-doc-%{docversion}/*
++++++ sqlite-doc-3440000.zip -> sqlite-doc-3440200.zip ++++++
/work/SRC/openSUSE:Factory/sqlite3/sqlite-doc-3440000.zip /work/SRC/openSUSE:Factory/.sqlite3.new.25432/sqlite-doc-3440200.zip differ: char 11, line 2
++++++ sqlite-src-3440000.zip -> sqlite-src-3440200.zip ++++++
/work/SRC/openSUSE:Factory/sqlite3/sqlite-src-3440000.zip /work/SRC/openSUSE:Factory/.sqlite3.new.25432/sqlite-src-3440200.zip differ: char 11, line 2
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python for openSUSE:Factory checked in at 2023-12-05 17:02:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python (Old)
and /work/SRC/openSUSE:Factory/.python.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python"
Tue Dec 5 17:02:38 2023 rev:190 rq:1130832 version:2.7.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/python/python-base.changes 2023-11-28 22:18:50.804556114 +0100
+++ /work/SRC/openSUSE:Factory/.python.new.25432/python-base.changes 2023-12-05 17:02:57.964594376 +0100
@@ -2 +2,9 @@
-Sat Sep 30 11:43:49 UTC 2023 - Matej Cepl <mcepl(a)suse.com>
+Mon Nov 27 16:30:33 UTC 2023 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Add CVE-2022-48560-after-free-heappushpop.patch fixing
+ use-after-free in Python via heappushpop in heapq (bsc#1214675,
+ CVE-2022-48560).
+- switch from %patchN style to the %patch -P N one.
+
+-------------------------------------------------------------------
+Sat Sep 16 12:40:52 UTC 2023 - Matej Cepl <mcepl(a)suse.com>
python-doc.changes: same change
python.changes: same change
New:
----
CVE-2022-48560-after-free-heappushpop.patch
BETA DEBUG BEGIN:
New:/work/SRC/openSUSE:Factory/.python.new.25432/python-base.changes-
/work/SRC/openSUSE:Factory/.python.new.25432/python-base.changes:- Add CVE-2022-48560-after-free-heappushpop.patch fixing
/work/SRC/openSUSE:Factory/.python.new.25432/python-base.changes- use-after-free in Python via heappushpop in heapq (bsc#1214675,
--
/work/SRC/openSUSE:Factory/.python.new.25432/python-doc.changes-
/work/SRC/openSUSE:Factory/.python.new.25432/python-doc.changes:- Add CVE-2022-48560-after-free-heappushpop.patch fixing
/work/SRC/openSUSE:Factory/.python.new.25432/python-doc.changes- use-after-free in Python via heappushpop in heapq (bsc#1214675,
--
/work/SRC/openSUSE:Factory/.python.new.25432/python.changes-
/work/SRC/openSUSE:Factory/.python.new.25432/python.changes:- Add CVE-2022-48560-after-free-heappushpop.patch fixing
/work/SRC/openSUSE:Factory/.python.new.25432/python.changes- use-after-free in Python via heappushpop in heapq (bsc#1214675,
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-base.spec ++++++
--- /var/tmp/diff_new_pack.IlgkDn/_old 2023-12-05 17:03:00.504688005 +0100
+++ /var/tmp/diff_new_pack.IlgkDn/_new 2023-12-05 17:03:00.508688152 +0100
@@ -161,6 +161,9 @@
# PATCH-FIX-UPSTREAM CVE-2022-48566-compare_digest-more-constant.patch bsc#1214691 mcepl(a)suse.com
# Make compare_digest more constant-time
Patch80: CVE-2022-48566-compare_digest-more-constant.patch
+# PATCH-FIX-UPSTREAM CVE-2022-48560-after-free-heappushpop.patch bsc#1214675 mcepl(a)suse.com
+# fix use after free in heapq.heappushpop()
+Patch81: CVE-2022-48560-after-free-heappushpop.patch
# COMMON-PATCH-END
%define python_version %(echo %{tarversion} | head -c 3)
BuildRequires: automake
@@ -256,67 +259,68 @@
%setup -q -n %{tarname}
# patching
# COMMON-PREP-BEGIN
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch7 -p1
-%patch8 -p1
-%patch10 -p1
-%patch13 -p1
-%patch17 -p1
-%patch20 -p1
-%patch22 -p1
-%patch24 -p1
-%patch33 -p1
+%patch -P 1 -p1
+%patch -P 2 -p1
+%patch -P 3 -p1
+%patch -P 4 -p1
+%patch -P 5 -p1
+%patch -P 7 -p1
+%patch -P 8 -p1
+%patch -P 10 -p1
+%patch -P 13 -p1
+%patch -P 17 -p1
+%patch -P 20 -p1
+%patch -P 22 -p1
+%patch -P 24 -p1
+%patch -P 33 -p1
%if %{suse_version} < 1500 && !0%{?is_opensuse}
-%patch34 -p1
+%patch -P 34 -p1
%endif
-%patch35 -p1
-%patch38 -p1
+%patch -P 35 -p1
+%patch -P 38 -p1
%ifarch ppc ppc64 ppc64le
-%patch40 -p1
+%patch -P 40 -p1
%endif
-%patch41 -p1
+%patch -P 41 -p1
%if %{suse_version} >= 1500 || (0%{?sle_version} && 0%{?sle_version} >= 120400)
-%patch47 -p1
-%patch48 -p1
+%patch -P 47 -p1
+%patch -P 48 -p1
%endif
# SLE-12 needs to skip more
%if %{suse_version} == 1315
-%patch57 -p1
+%patch -P 57 -p1
%endif
-%patch49 -p1
-%patch50 -p1
-%patch51 -p1
-%patch55 -p1
-%patch56 -p1
-%patch58 -p1
-%patch59 -p1
-%patch60 -p1
-%patch61 -p1
-%patch62 -p1
-%patch63 -p1
-%patch64 -p1
-%patch65 -p1
-%patch66 -p1
-%patch67 -p1
-%patch68 -p1
-%patch69 -p1
-%patch70 -p1
-%patch71 -p1
-%patch72 -p1
-%patch73 -p1
+%patch -P 49 -p1
+%patch -P 50 -p1
+%patch -P 51 -p1
+%patch -P 55 -p1
+%patch -P 56 -p1
+%patch -P 58 -p1
+%patch -P 59 -p1
+%patch -P 60 -p1
+%patch -P 61 -p1
+%patch -P 62 -p1
+%patch -P 63 -p1
+%patch -P 64 -p1
+%patch -P 65 -p1
+%patch -P 66 -p1
+%patch -P 67 -p1
+%patch -P 68 -p1
+%patch -P 69 -p1
+%patch -P 70 -p1
+%patch -P 71 -p1
+%patch -P 72 -p1
+%patch -P 73 -p1
%if 0%{?sle_version} && 0%{?sle_version} < 150000
-%patch74 -p1
+%patch -P 74 -p1
%endif
-%patch75 -p1
-%patch76 -p1
-# %%patch77 -p1
-%patch78 -p1
-%patch79 -p1
-%patch80 -p1
+%patch -P 75 -p1
+%patch -P 76 -p1
+# %%patch -P 77 -p1
+%patch -P 78 -p1
+%patch -P 79 -p1
+%patch -P 80 -p1
+%patch -P 81 -p1
# For patch 66
cp -v %{SOURCE66} Lib/test/recursion.tar
++++++ python-doc.spec ++++++
--- /var/tmp/diff_new_pack.IlgkDn/_old 2023-12-05 17:03:00.532689037 +0100
+++ /var/tmp/diff_new_pack.IlgkDn/_new 2023-12-05 17:03:00.532689037 +0100
@@ -160,6 +160,9 @@
# PATCH-FIX-UPSTREAM CVE-2022-48566-compare_digest-more-constant.patch bsc#1214691 mcepl(a)suse.com
# Make compare_digest more constant-time
Patch80: CVE-2022-48566-compare_digest-more-constant.patch
+# PATCH-FIX-UPSTREAM CVE-2022-48560-after-free-heappushpop.patch bsc#1214675 mcepl(a)suse.com
+# fix use after free in heapq.heappushpop()
+Patch81: CVE-2022-48560-after-free-heappushpop.patch
# COMMON-PATCH-END
Provides: pyth_doc = %{version}
Provides: pyth_ps = %{version}
@@ -190,67 +193,68 @@
%prep
%setup -q -n %{tarname}
# COMMON-PREP-BEGIN
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch7 -p1
-%patch8 -p1
-%patch10 -p1
-%patch13 -p1
-%patch17 -p1
-%patch20 -p1
-%patch22 -p1
-%patch24 -p1
-%patch33 -p1
+%patch -P 1 -p1
+%patch -P 2 -p1
+%patch -P 3 -p1
+%patch -P 4 -p1
+%patch -P 5 -p1
+%patch -P 7 -p1
+%patch -P 8 -p1
+%patch -P 10 -p1
+%patch -P 13 -p1
+%patch -P 17 -p1
+%patch -P 20 -p1
+%patch -P 22 -p1
+%patch -P 24 -p1
+%patch -P 33 -p1
%if %{suse_version} < 1500 && !0%{?is_opensuse}
-%patch34 -p1
+%patch -P 34 -p1
%endif
-%patch35 -p1
-%patch38 -p1
+%patch -P 35 -p1
+%patch -P 38 -p1
%ifarch ppc ppc64 ppc64le
-%patch40 -p1
+%patch -P 40 -p1
%endif
-%patch41 -p1
+%patch -P 41 -p1
%if %{suse_version} >= 1500 || (0%{?sle_version} && 0%{?sle_version} >= 120400)
-%patch47 -p1
-%patch48 -p1
+%patch -P 47 -p1
+%patch -P 48 -p1
%endif
# SLE-12 needs to skip more
%if %{suse_version} == 1315
-%patch57 -p1
+%patch -P 57 -p1
%endif
-%patch49 -p1
-%patch50 -p1
-%patch51 -p1
-%patch55 -p1
-%patch56 -p1
-%patch58 -p1
-%patch59 -p1
-%patch60 -p1
-%patch61 -p1
-%patch62 -p1
-%patch63 -p1
-%patch64 -p1
-%patch65 -p1
-%patch66 -p1
-%patch67 -p1
-%patch68 -p1
-%patch69 -p1
-%patch70 -p1
-%patch71 -p1
-%patch72 -p1
-%patch73 -p1
+%patch -P 49 -p1
+%patch -P 50 -p1
+%patch -P 51 -p1
+%patch -P 55 -p1
+%patch -P 56 -p1
+%patch -P 58 -p1
+%patch -P 59 -p1
+%patch -P 60 -p1
+%patch -P 61 -p1
+%patch -P 62 -p1
+%patch -P 63 -p1
+%patch -P 64 -p1
+%patch -P 65 -p1
+%patch -P 66 -p1
+%patch -P 67 -p1
+%patch -P 68 -p1
+%patch -P 69 -p1
+%patch -P 70 -p1
+%patch -P 71 -p1
+%patch -P 72 -p1
+%patch -P 73 -p1
%if 0%{?sle_version} && 0%{?sle_version} < 150000
-%patch74 -p1
+%patch -P 74 -p1
%endif
-%patch75 -p1
-%patch76 -p1
-# %%patch77 -p1
-%patch78 -p1
-%patch79 -p1
-%patch80 -p1
+%patch -P 75 -p1
+%patch -P 76 -p1
+# %%patch -P 77 -p1
+%patch -P 78 -p1
+%patch -P 79 -p1
+%patch -P 80 -p1
+%patch -P 81 -p1
# For patch 66
cp -v %{SOURCE66} Lib/test/recursion.tar
++++++ python.spec ++++++
--- /var/tmp/diff_new_pack.IlgkDn/_old 2023-12-05 17:03:00.556689921 +0100
+++ /var/tmp/diff_new_pack.IlgkDn/_new 2023-12-05 17:03:00.560690069 +0100
@@ -160,6 +160,9 @@
# PATCH-FIX-UPSTREAM CVE-2022-48566-compare_digest-more-constant.patch bsc#1214691 mcepl(a)suse.com
# Make compare_digest more constant-time
Patch80: CVE-2022-48566-compare_digest-more-constant.patch
+# PATCH-FIX-UPSTREAM CVE-2022-48560-after-free-heappushpop.patch bsc#1214675 mcepl(a)suse.com
+# fix use after free in heapq.heappushpop()
+Patch81: CVE-2022-48560-after-free-heappushpop.patch
# COMMON-PATCH-END
BuildRequires: automake
BuildRequires: db-devel
@@ -310,67 +313,68 @@
%prep
%setup -q -n %{tarname}
# COMMON-PREP-BEGIN
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch7 -p1
-%patch8 -p1
-%patch10 -p1
-%patch13 -p1
-%patch17 -p1
-%patch20 -p1
-%patch22 -p1
-%patch24 -p1
-%patch33 -p1
+%patch -P 1 -p1
+%patch -P 2 -p1
+%patch -P 3 -p1
+%patch -P 4 -p1
+%patch -P 5 -p1
+%patch -P 7 -p1
+%patch -P 8 -p1
+%patch -P 10 -p1
+%patch -P 13 -p1
+%patch -P 17 -p1
+%patch -P 20 -p1
+%patch -P 22 -p1
+%patch -P 24 -p1
+%patch -P 33 -p1
%if %{suse_version} < 1500 && !0%{?is_opensuse}
-%patch34 -p1
+%patch -P 34 -p1
%endif
-%patch35 -p1
-%patch38 -p1
+%patch -P 35 -p1
+%patch -P 38 -p1
%ifarch ppc ppc64 ppc64le
-%patch40 -p1
+%patch -P 40 -p1
%endif
-%patch41 -p1
+%patch -P 41 -p1
%if %{suse_version} >= 1500 || (0%{?sle_version} && 0%{?sle_version} >= 120400)
-%patch47 -p1
-%patch48 -p1
+%patch -P 47 -p1
+%patch -P 48 -p1
%endif
# SLE-12 needs to skip more
%if %{suse_version} == 1315
-%patch57 -p1
+%patch -P 57 -p1
%endif
-%patch49 -p1
-%patch50 -p1
-%patch51 -p1
-%patch55 -p1
-%patch56 -p1
-%patch58 -p1
-%patch59 -p1
-%patch60 -p1
-%patch61 -p1
-%patch62 -p1
-%patch63 -p1
-%patch64 -p1
-%patch65 -p1
-%patch66 -p1
-%patch67 -p1
-%patch68 -p1
-%patch69 -p1
-%patch70 -p1
-%patch71 -p1
-%patch72 -p1
-%patch73 -p1
+%patch -P 49 -p1
+%patch -P 50 -p1
+%patch -P 51 -p1
+%patch -P 55 -p1
+%patch -P 56 -p1
+%patch -P 58 -p1
+%patch -P 59 -p1
+%patch -P 60 -p1
+%patch -P 61 -p1
+%patch -P 62 -p1
+%patch -P 63 -p1
+%patch -P 64 -p1
+%patch -P 65 -p1
+%patch -P 66 -p1
+%patch -P 67 -p1
+%patch -P 68 -p1
+%patch -P 69 -p1
+%patch -P 70 -p1
+%patch -P 71 -p1
+%patch -P 72 -p1
+%patch -P 73 -p1
%if 0%{?sle_version} && 0%{?sle_version} < 150000
-%patch74 -p1
+%patch -P 74 -p1
%endif
-%patch75 -p1
-%patch76 -p1
-# %%patch77 -p1
-%patch78 -p1
-%patch79 -p1
-%patch80 -p1
+%patch -P 75 -p1
+%patch -P 76 -p1
+# %%patch -P 77 -p1
+%patch -P 78 -p1
+%patch -P 79 -p1
+%patch -P 80 -p1
+%patch -P 81 -p1
# For patch 66
cp -v %{SOURCE66} Lib/test/recursion.tar
++++++ CVE-2022-48560-after-free-heappushpop.patch ++++++
From 5179d30710e6185dc7e6a6098ab23fe068b0d85b Mon Sep 17 00:00:00 2001
From: Lumir Balhar <lbalhar(a)redhat.com>
Date: Thu, 23 Nov 2023 13:25:44 +0100
Subject: [PATCH] 00408-cve-2022-48560.patch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Security fix for CVE-2022-48560: python3: use after free in heappushpop()
of heapq module
Resolved upstream: https://github.com/python/cpython/issues/83602
Backported from Python 3.6.11.
Co-authored-by: Pablo Galindo <Pablogsal(a)gmail.com>
Co-authored-by: Lumír Balhar <lbalhar(a)redhat.com>
---
Lib/test/test_heapq.py | 32 ++++++++++++++++++++++++++++++++
Modules/_heapqmodule.c | 31 ++++++++++++++++++++++++-------
2 files changed, 56 insertions(+), 7 deletions(-)
--- a/Lib/test/test_heapq.py
+++ b/Lib/test/test_heapq.py
@@ -396,6 +396,38 @@ class TestErrorHandling(TestCase):
with self.assertRaises((IndexError, RuntimeError)):
self.module.heappop(heap)
+ def test_comparison_operator_modifiying_heap(self):
+ # See bpo-39421: Strong references need to be taken
+ # when comparing objects as they can alter the heap
+ class EvilClass(int):
+ def __lt__(self, o):
+ heap[:] = []
+ return NotImplemented
+
+ heap = []
+ self.module.heappush(heap, EvilClass(0))
+ self.assertRaises(IndexError, self.module.heappushpop, heap, 1)
+
+ def test_comparison_operator_modifiying_heap_two_heaps(self):
+
+ class h(int):
+ def __lt__(self, o):
+ list2[:] = []
+ return NotImplemented
+
+ class g(int):
+ def __lt__(self, o):
+ list1[:] = []
+ return NotImplemented
+
+ list1, list2 = [], []
+
+ self.module.heappush(list1, h(0))
+ self.module.heappush(list2, g(0))
+
+ self.assertRaises((IndexError, RuntimeError), self.module.heappush, list1, g(1))
+ self.assertRaises((IndexError, RuntimeError), self.module.heappush, list2, h(1))
+
class TestErrorHandlingPython(TestErrorHandling):
module = py_heapq
--- a/Modules/_heapqmodule.c
+++ b/Modules/_heapqmodule.c
@@ -52,7 +52,11 @@ _siftdown(PyListObject *heap, Py_ssize_t
while (pos > startpos) {
parentpos = (pos - 1) >> 1;
parent = PyList_GET_ITEM(heap, parentpos);
+ Py_INCREF(newitem);
+ Py_INCREF(parent);
cmp = cmp_lt(newitem, parent);
+ Py_DECREF(parent);
+ Py_DECREF(newitem);
if (cmp == -1)
return -1;
if (size != PyList_GET_SIZE(heap)) {
@@ -93,9 +97,13 @@ _siftup(PyListObject *heap, Py_ssize_t p
childpos = 2*pos + 1; /* leftmost child position */
rightpos = childpos + 1;
if (rightpos < endpos) {
- cmp = cmp_lt(
- PyList_GET_ITEM(heap, childpos),
- PyList_GET_ITEM(heap, rightpos));
+ PyObject* a = PyList_GET_ITEM(heap, childpos);
+ PyObject* b = PyList_GET_ITEM(heap, rightpos);
+ Py_INCREF(a);
+ Py_INCREF(b);
+ cmp = cmp_lt(a, b);
+ Py_DECREF(a);
+ Py_DECREF(b);
if (cmp == -1)
return -1;
if (cmp == 0)
@@ -236,7 +244,10 @@ heappushpop(PyObject *self, PyObject *ar
return item;
}
- cmp = cmp_lt(PyList_GET_ITEM(heap, 0), item);
+ PyObject* top = PyList_GET_ITEM(heap, 0);
+ Py_INCREF(top);
+ cmp = cmp_lt(top, item);
+ Py_DECREF(top);
if (cmp == -1)
return NULL;
if (cmp == 0) {
@@ -395,7 +406,9 @@ _siftdownmax(PyListObject *heap, Py_ssiz
while (pos > startpos){
parentpos = (pos - 1) >> 1;
parent = PyList_GET_ITEM(heap, parentpos);
+ Py_INCREF(parent);
cmp = cmp_lt(parent, newitem);
+ Py_DECREF(parent);
if (cmp == -1) {
Py_DECREF(newitem);
return -1;
@@ -436,9 +449,13 @@ _siftupmax(PyListObject *heap, Py_ssize_
childpos = 2*pos + 1; /* leftmost child position */
rightpos = childpos + 1;
if (rightpos < endpos) {
- cmp = cmp_lt(
- PyList_GET_ITEM(heap, rightpos),
- PyList_GET_ITEM(heap, childpos));
+ PyObject* a = PyList_GET_ITEM(heap, rightpos);
+ PyObject* b = PyList_GET_ITEM(heap, childpos);
+ Py_INCREF(a);
+ Py_INCREF(b);
+ cmp = cmp_lt(a, b);
+ Py_DECREF(a);
+ Py_DECREF(b);
if (cmp == -1) {
Py_DECREF(newitem);
return -1;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package policycoreutils for openSUSE:Factory checked in at 2023-12-05 17:02:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/policycoreutils (Old)
and /work/SRC/openSUSE:Factory/.policycoreutils.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "policycoreutils"
Tue Dec 5 17:02:35 2023 rev:73 rq:1130819 version:3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/policycoreutils/policycoreutils.changes 2023-11-27 22:41:59.266765742 +0100
+++ /work/SRC/openSUSE:Factory/.policycoreutils.new.25432/policycoreutils.changes 2023-12-05 17:02:55.220493227 +0100
@@ -1,0 +2,7 @@
+Mon Dec 4 13:15:36 UTC 2023 - Cathy Hu <cathy.hu(a)suse.com>
+
+- Re-add "Obsoletes: policycoreutils-python <= 2.6" to avoid file
+ conflicts with /usr/share/bash-completion/completions/setsebool
+ of older policycoreutils-python-2.6
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ policycoreutils.spec ++++++
--- /var/tmp/diff_new_pack.X3tx6O/_old 2023-12-05 17:02:56.424537609 +0100
+++ /var/tmp/diff_new_pack.X3tx6O/_new 2023-12-05 17:02:56.428537756 +0100
@@ -75,6 +75,7 @@
Requires: rpm
Requires: selinux-tools
Requires: util-linux
+Obsoletes: policycoreutils-python <= 2.6
%description
policycoreutils contains the policy core utilities that are required
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libcomps for openSUSE:Factory checked in at 2023-12-05 17:02:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcomps (Old)
and /work/SRC/openSUSE:Factory/.libcomps.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcomps"
Tue Dec 5 17:02:31 2023 rev:15 rq:1130813 version:0.1.20
Changes:
--------
--- /work/SRC/openSUSE:Factory/libcomps/libcomps.changes 2023-11-05 12:19:22.678422611 +0100
+++ /work/SRC/openSUSE:Factory/.libcomps.new.25432/libcomps.changes 2023-12-05 17:02:54.088451499 +0100
@@ -1,0 +2,8 @@
+Mon Dec 4 14:34:19 UTC 2023 - Ana Guerrero <ana.guerrero(a)suse.com>
+
+- Add BuildRequires on python-setuptools to create python egg and
+ install it properly. Previously this was pulled by python-Sphinx
+ in the build environment.
+- Use %license instead of %doc
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcomps.spec ++++++
--- /var/tmp/diff_new_pack.epNgYo/_old 2023-12-05 17:02:54.688473617 +0100
+++ /var/tmp/diff_new_pack.epNgYo/_new 2023-12-05 17:02:54.688473617 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libcomps
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2021 Neal Gompa <ngompa13(a)gmail.com>.
#
# All modifications and additions to the file contributed by third parties
@@ -32,6 +32,7 @@
URL: https://github.com/rpm-software-management/libcomps
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
+BuildRequires: %{python_module setuptools}
BuildRequires: check-devel
BuildRequires: cmake
BuildRequires: fdupes
@@ -131,7 +132,8 @@
%files -n %{libname}
%{_libdir}/libcomps.so.%{major}
-%doc README.md COPYING
+%doc README.md
+%license COPYING
%files -n %{devname}
%{_libdir}/libcomps.so
@@ -146,5 +148,5 @@
%files -n python3-libcomps
%{python3_sitearch}/libcomps/
-%{python3_sitearch}/libcomps-*
+%{python3_sitearch}/libcomps-%{version}*-info
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rpmlint for openSUSE:Factory checked in at 2023-12-05 17:02:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
and /work/SRC/openSUSE:Factory/.rpmlint.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint"
Tue Dec 5 17:02:27 2023 rev:461 rq:1130950 version:2.5.0+git20231205.c211cee
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2023-11-05 12:19:07.909880848 +0100
+++ /work/SRC/openSUSE:Factory/.rpmlint.new.25432/rpmlint.changes 2023-12-05 17:02:52.616397239 +0100
@@ -1,0 +2,13 @@
+Tue Dec 05 10:19:36 UTC 2023 - wolfgang.frisch(a)suse.com
+
+- Update to version 2.5.0+git20231205.c211cee:
+ * FileDigestCheck: Filter minor versions in shebangs.
+ * Disable Mageia CI builds due to system problem
+
+-------------------------------------------------------------------
+Wed Nov 15 09:40:11 UTC 2023 - filippo.bonazzi(a)suse.com
+
+- Update to version 2.5.0+git20231115.969a58b:
+ * polkit-rules-whitelist: self auth as admin (bsc#1215652)
+
+-------------------------------------------------------------------
Old:
----
rpmlint-2.5.0+git20231103.c416f34.tar.xz
New:
----
rpmlint-2.5.0+git20231205.c211cee.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.NuYw2C/_old 2023-12-05 17:02:53.760439409 +0100
+++ /var/tmp/diff_new_pack.NuYw2C/_new 2023-12-05 17:02:53.764439556 +0100
@@ -23,7 +23,7 @@
%define name_suffix -%{flavor}
%endif
Name: rpmlint%{name_suffix}
-Version: 2.5.0+git20231103.c416f34
+Version: 2.5.0+git20231205.c211cee
Release: 0
Summary: RPM file correctness checker
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.NuYw2C/_old 2023-12-05 17:02:53.808441178 +0100
+++ /var/tmp/diff_new_pack.NuYw2C/_new 2023-12-05 17:02:53.812441325 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/rpm-software-management/rpmlint.git</param>
- <param name="changesrevision">c416f34dba4914c3a3ae819cc54c419a46b57433</param></service></servicedata>
+ <param name="changesrevision">c211cee669dcce0409fe2acfbc35442170812114</param></service></servicedata>
(No newline at EOF)
++++++ rpmlint-2.5.0+git20231103.c416f34.tar.xz -> rpmlint-2.5.0+git20231205.c211cee.tar.xz ++++++
/work/SRC/openSUSE:Factory/rpmlint/rpmlint-2.5.0+git20231103.c416f34.tar.xz /work/SRC/openSUSE:Factory/.rpmlint.new.25432/rpmlint-2.5.0+git20231205.c211cee.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sudo for openSUSE:Factory checked in at 2023-12-05 17:02:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sudo (Old)
and /work/SRC/openSUSE:Factory/.sudo.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sudo"
Tue Dec 5 17:02:24 2023 rev:149 rq:1128361 version:1.9.15p2
Changes:
--------
--- /work/SRC/openSUSE:Factory/sudo/sudo.changes 2023-09-13 20:43:41.480219004 +0200
+++ /work/SRC/openSUSE:Factory/.sudo.new.25432/sudo.changes 2023-12-05 17:02:49.084267043 +0100
@@ -1,0 +2,95 @@
+Wed Nov 22 12:46:00 UTC 2023 - Otto Hollmann <otto.hollmann(a)suse.com>
+
+- Update to 1.9.15p2:
+ * Fixed a bug on BSD systems where sudo would not restore the
+ terminal settings on exit if the terminal had parity enabled.
+ GitHub issue #326.
+- Update to 1.9.15p1:
+ * Fixed a bug introduced in sudo 1.9.15 that prevented LDAP-based
+ sudoers from being able to read the ldap.conf file.
+ GitHub issue #325.
+- Update to 1.9.15:
+ * Fixed an undefined symbol problem on older versions of macOS
+ when "intercept" or "log_subcmds" are enabled in sudoers.
+ GitHub issue #276.
+ * Fixed "make check" failure related to getpwent(3) wrapping
+ on NetBSD.
+ * Fixed the warning message for "sudo -l command" when the command
+ is not permitted. There was a missing space between "list" and
+ the actual command due to changes in sudo 1.9.14.
+ * Fixed a bug where output could go to the wrong terminal if
+ "use_pty" is enabled (the default) and the standard input, output
+ or error is redirected to a different terminal. Bug #1056.
+ * The visudo utility will no longer create an empty file when the
+ specified sudoers file does not exist and the user exits the
+ editor without making any changes. GitHub issue #294.
+ * The AIX and Solaris sudo packages on www.sudo.ws now support
+ "log_subcmds" and "intercept" with both 32-bit and 64-bit
+ binaries. Previously, they only worked when running binaries
+ with the same word size as the sudo binary. GitHub issue #289.
+ * The sudoers source is now logged in the JSON event log. This
+ makes it possible to tell which rule resulted in a match.
+ * Running "sudo -ll command" now produces verbose output that
+ includes matching rule as well as the path to the sudoers file
+ the matching rule came from. For LDAP sudoers, the name of the
+ matching sudoRole is printed instead.
+ * The embedded copy of zlib has been updated to version 1.3.
+ * The sudoers plugin has been modified to make it more resilient
+ to ROWHAMMER attacks on authentication and policy matching.
+ This addresses CVE-2023-42465.
+ * The sudoers plugin now constructs the user time stamp file path
+ name using the user-ID instead of the user name. This avoids a
+ potential problem with user names that contain a path separator
+ ('/') being interpreted as part of the path name. A similar
+ issue in sudo-rs has been assigned CVE-2023-42456.
+ * A path separator ('/') in a user, group or host name is now
+ replaced with an underbar character ('_') when expanding escapes
+ in @include and @includedir directives as well as the "iolog_file"
+ and "iolog_dir" sudoers Default settings.
+ * The "intercept_verify" sudoers option is now only applied when
+ the "intercept" option is set in sudoers. Previously, it was
+ also applied when "log_subcmds" was enabled. Sudo 1.9.14
+ contained an incorrect fix for this. Bug #1058.
+ * Changes to terminal settings are now performed atomically, where
+ possible. If the command is being run in a pseudo-terminal and
+ the user's terminal is already in raw mode, sudo will not change
+ the user's terminal settings. This prevents concurrent sudo
+ processes from restoring the terminal settings to the wrong values.
+ GitHub issue #312.
+ * Reverted a change from sudo 1.9.4 that resulted in PAM session
+ modules being called with the environment of the command to be
+ run instead of the environment of the invoking user.
+ GitHub issue #318.
+ * New Indonesian translation from translationproject.org.
+ * The sudo_logsrvd server will now raise its open file descriptor
+ limit to the maximum allowed value when it starts up. Each
+ connection can require up to nine open file descriptors so the
+ default soft limit may be too low.
+ * Better log message when rejecting a command if the "intercept"
+ option is enabled and the "intercept_allow_setid" option is
+ disabled. Previously, "command not allowed" would be logged and
+ the user had no way of knowing what the actual problem was.
+ * Sudo will now log the invoking user's environment as "submitenv"
+ in the JSON logs. The command's environment ("runenv") is no
+ longer logged for commands rejected by the sudoers file or an
+ approval plugin.
+
+-------------------------------------------------------------------
+Tue Nov 21 08:56:42 UTC 2023 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Package/ship empty /etc/sudoers.d directory for admins to
+ discover where to put their won config.
+
+-------------------------------------------------------------------
+Wed Sep 20 08:34:12 UTC 2023 - Ludwig Nussel <lnussel(a)suse.com>
+
+- Introduce optional wheel and sudo group policies as separate packages
+ (bsc#1203978, jsc#PED-260)
+
+-------------------------------------------------------------------
+Wed Sep 14 13:06:51 UTC 2023 - Otto Hollmann <otto.hollmann(a)suse.com>
+
+- Install config files into /usr/etc and read from both location:
+ /etc and /usr/etc (bsc#1205118)
+
+-------------------------------------------------------------------
Old:
----
sudo-1.9.14p3.tar.gz
sudo-1.9.14p3.tar.gz.sig
New:
----
50-wheel-auth-self.conf
51-wheel.rules
sudo-1.9.15p2.tar.gz
sudo-1.9.15p2.tar.gz.sig
system-group-sudo.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sudo.spec ++++++
--- /var/tmp/diff_new_pack.OdZPKw/_old 2023-12-05 17:02:50.424316437 +0100
+++ /var/tmp/diff_new_pack.OdZPKw/_new 2023-12-05 17:02:50.428316585 +0100
@@ -16,8 +16,16 @@
#
+%if %{defined _distconfdir}
+%define confdir %{_distconfdir}
+%define confmode 0444
+%else
+%define confdir %{_sysconfdir}
+%define confmode 0440
+%endif
+
Name: sudo
-Version: 1.9.14p3
+Version: 1.9.15p2
Release: 0
Summary: Execute some commands as root
License: ISC
@@ -31,6 +39,9 @@
Source5: README.SUSE
Source6: fate_313276_test.sh
Source7: README_313276.test
+Source8: 50-wheel-auth-self.conf
+Source9: 51-wheel.rules
+Source10: system-group-sudo.conf
# PATCH-OPENSUSE: the "SUSE" branding of the default sudo config
Patch0: sudo-sudoers.patch
BuildRequires: audit-devel
@@ -42,6 +53,7 @@
BuildRequires: pam-devel
BuildRequires: python3-devel
BuildRequires: systemd-rpm-macros
+BuildRequires: sysuser-tools
BuildRequires: zlib-devel
Requires(pre): coreutils
Requires(pre): permissions
@@ -49,12 +61,17 @@
%description
Sudo is a command that allows users to execute some commands as root.
-The %{_sysconfdir}/sudoers file (edited with 'visudo') specifies which users have
+%if %{defined _distconfdir}
+Sudo reads either %{_sysconfdir}/sudoers or %{_distconfdir}/sudoers
+(in that order, whichever one it finds first), to determine what users have
+%else
+The %{_sysconfdir}/sudoers file specifies which users have
+%endif
access to sudo and which commands they can run. Sudo logs all its
activities to syslogd, so the system administrator can keep an eye on
-things. Sudo asks for the password for initializing a check period of a
+things. Sudo asks for the password to initialize a check period of a
given time N (where N is defined at installation and is set to 5
-minutes by default).
+minutes by default). Administrators can edit the sudoers file with 'visudo'.
%package plugin-python
Summary: Plugin API for python
@@ -82,10 +99,39 @@
%description test
Tests for fate#313276
+%package policy-wheel-auth-self
+Summary: Users in the wheel group can authenticate as admin
+Group: System/Base
+Requires: %{name} = %{version}
+Requires: group(wheel)
+
+%description policy-wheel-auth-self
+Sudo authentication policy that allows users in the wheel group to
+authenticate as root with their own password
+
+%package policy-sudo-auth-self
+Summary: Users in the sudo group can authenticate as admin
+Group: System/Base
+Requires: %{name} = %{version}
+Requires: group(sudo)
+
+%description policy-sudo-auth-self
+Sudo authentication policy that allows users in the sudo group to
+authenticate as root with their own password
+
+%package -n system-group-sudo
+Summary: System group 'sudo'
+Group: System/Fhs
+%{sysusers_requires}
+
+%description -n system-group-sudo
+This package provides the system group 'sudo'.
+
%prep
%autosetup -p1
%build
+%sysusers_generate_pre %{SOURCE10} sudo system-group-sudo.conf
%ifarch s390 s390x %{sparc}
F_PIE=-fPIE
%else
@@ -98,6 +144,11 @@
--docdir=%{_docdir}/%{name} \
--with-noexec=%{_libexecdir}/sudo/sudo_noexec.so \
--enable-tmpfiles.d=%{_tmpfilesdir} \
+%if %{defined _distconfdir}
+ --prefix=/usr \
+ --sysconfdir=%{_distconfdir} \
+ --enable-adminconf=%{_sysconfdir} \
+%endif
--with-pam \
--with-pam-login \
--with-ldap \
@@ -147,7 +198,22 @@
rm -f %{buildroot}%{_docdir}/%{name}/sample.pam
rm -f %{buildroot}%{_docdir}/%{name}/sample.syslog.conf
rm -f %{buildroot}%{_docdir}/%{name}/schema.OpenLDAP
-rm -f %{buildroot}%{_sysconfdir}/sudoers.dist
+rm -f %{buildroot}%{confdir}/sudoers.dist
+
+%if %{defined _distconfdir}
+# Move /etc to /usr/etc/
+mkdir -p %{buildroot}%{_distconfdir}/sudoers.d %{buildroot}%{_sysconfdir}/sudoers.d
+chmod 644 %{buildroot}%{_distconfdir}/sudoers
+echo "@includedir /etc/sudoers.d" >> %{buildroot}%{_distconfdir}/sudoers
+%endif
+
+install -D -m 644 %{SOURCE8} %{buildroot}%{confdir}/sudoers.d/50-wheel-auth-self
+install -D -m 644 %{SOURCE9} %{buildroot}/usr/share/polkit-1/rules.d/51-wheel.rules
+
+sed -e 's/wheel/sudo/g' < %{SOURCE8} > %{buildroot}%{confdir}/sudoers.d/50-sudo-auth-self
+sed -e 's/wheel/sudo/g' < %{SOURCE9} > %{buildroot}/usr/share/polkit-1/rules.d/51-sudo.rules
+
+install -D -m 644 %{SOURCE10} %{buildroot}%{_sysusersdir}/system-group-sudo.conf
%find_lang %{name}
%find_lang sudoers
@@ -172,10 +238,11 @@
for i in sudo sudo-i ; do
test -f %{_sysconfdir}/pam.d/${i}.rpmsave && mv -v %{_sysconfdir}/pam.d/${i}.rpmsave %{_sysconfdir}/pam.d/${i} ||:
done
+test -f %{_sysconfdir}/sudoers.rpmsave && mv -v %{_sysconfdir}/sudoers.rpmsave %{_sysconfdir}/sudoers ||:
%endif
%post
-chmod 0440 %{_sysconfdir}/sudoers
+[ -e %{_sysconfdir}/sudoers ] && chmod 0440 %{_sysconfdir}/sudoers
%if 0%{?suse_version} <= 1130
%run_permissions
%else
@@ -186,6 +253,8 @@
%verifyscript
%verify_permissions -e %{_bindir}/sudo
+%pre -n system-group-sudo -f sudo.pre
+
%files -f %{name}.lang
%license LICENSE.md
%doc %{_docdir}/%{name}
@@ -203,10 +272,12 @@
%{_mandir}/man8/sudo_logsrvd.8%{?ext_man}
%{_mandir}/man8/sudo_sendlog.8%{?ext_man}
-%config(noreplace) %attr(0440,root,root) %{_sysconfdir}/sudoers
-%attr(0750,root,root) %dir %{_sysconfdir}/sudoers.d
-%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sudo.conf
-%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sudo_logsrvd.conf
+%{!?_distconfdir:%config(noreplace)} %attr(%confmode,root,root) %{confdir}/sudoers
+%attr(0750,root,root) %dir %{confdir}/sudoers.d
+%{?_distconfdir:%attr(0750,root,root) %dir %{_sysconfdir}/sudoers.d}
+%attr(0644,root,root) %config(noreplace) %{confdir}/sudo.conf
+%attr(0644,root,root) %config(noreplace) %{confdir}/sudo_logsrvd.conf
+
%if %{defined _distconfdir}
%{_pam_vendordir}/sudo
%{_pam_vendordir}/sudo-i
@@ -251,3 +322,19 @@
%files test
%{_localstatedir}/lib/tests
+%files policy-wheel-auth-self
+%{confdir}/sudoers.d/50-wheel-auth-self
+%dir /usr/share/polkit-1
+%dir %attr(0555,root,root) /usr/share/polkit-1/rules.d
+/usr/share/polkit-1/rules.d/51-wheel.rules
+
+%files policy-sudo-auth-self
+%{confdir}/sudoers.d/50-sudo-auth-self
+%dir /usr/share/polkit-1
+%dir %attr(0555,root,root) /usr/share/polkit-1/rules.d
+/usr/share/polkit-1/rules.d/51-sudo.rules
+
+%files -n system-group-sudo
+%defattr(-,root,root)
+%{_sysusersdir}/system-group-sudo.conf
+
++++++ 50-wheel-auth-self.conf ++++++
Defaults:%wheel !targetpw
%wheel ALL = (root) ALL
++++++ 51-wheel.rules ++++++
polkit._suse_admin_groups.push("wheel");
++++++ sudo-1.9.14p3.tar.gz -> sudo-1.9.15p2.tar.gz ++++++
++++ 116883 lines of diff (skipped)
++++++ sudo-sudoers.patch ++++++
--- /var/tmp/diff_new_pack.OdZPKw/_old 2023-12-05 17:02:51.416353004 +0100
+++ /var/tmp/diff_new_pack.OdZPKw/_new 2023-12-05 17:02:51.424353299 +0100
@@ -1,8 +1,8 @@
-Index: sudo-1.9.14p1/plugins/sudoers/sudoers.in
+Index: sudo-1.9.15p2/plugins/sudoers/sudoers.in
===================================================================
---- sudo-1.9.14p1.orig/plugins/sudoers/sudoers.in
-+++ sudo-1.9.14p1/plugins/sudoers/sudoers.in
-@@ -32,32 +32,23 @@
+--- sudo-1.9.15p2.orig/plugins/sudoers/sudoers.in
++++ sudo-1.9.15p2/plugins/sudoers/sudoers.in
+@@ -41,32 +41,23 @@
##
## Defaults specification
##
@@ -52,25 +52,28 @@
##
## Uncomment to restore the historic behavior where a command is run in
## the user's own terminal.
-@@ -72,10 +63,16 @@
+@@ -81,7 +72,6 @@
## Set maxseq to a smaller number if you don't have unlimited disk space.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
-# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!REBOOT !log_output
# Defaults maxseq = 1000
+ ##
+@@ -95,6 +85,12 @@
+ ## slower by these options and also can clutter up the logs.
+ # Defaults!PKGMAN !intercept, !log_subcmds
+## In the default (unconfigured) configuration, sudo asks for the root password.
+## This allows use of an ordinary user account for administration of a freshly
-+## installed system. When configuring sudo, delete the two
-+## following lines:
++## installed system.
+Defaults targetpw # ask for the password of the target user i.e. root
+ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
+
##
## Runas alias specification
##
-@@ -91,13 +88,5 @@ root ALL=(ALL:ALL) ALL
+@@ -110,13 +106,5 @@ root ALL=(ALL:ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
++++++ system-group-sudo.conf ++++++
# Type Name ID GECOS [HOME]
g sudo -
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package polkit for openSUSE:Factory checked in at 2023-12-05 17:02:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit (Old)
and /work/SRC/openSUSE:Factory/.polkit.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polkit"
Tue Dec 5 17:02:21 2023 rev:89 rq:1127651 version:123
Changes:
--------
--- /work/SRC/openSUSE:Factory/polkit/polkit.changes 2023-03-31 21:15:10.514297438 +0200
+++ /work/SRC/openSUSE:Factory/.polkit.new.25432/polkit.changes 2023-12-05 17:02:45.912150117 +0100
@@ -1,0 +2,33 @@
+Fri Sep 29 09:56:41 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 123:
+ + Highlights:
+ - better safety with deeper restriction of the configuration
+ files
+ - better safety with restricting the daemon's owner under
+ systemd
+ - better safety with the systemd unit sandboxing
+ - less thread races during upload of the configuration
+- Changes from version 122:
+ + Highlights:
+ - new Georgian translation
+ - port to mozjs-102
+ - daemon-less build (support for e.g. flatpak deps)
+ - re-enable of (API) documentation build
+- See more detailed changes in the included NEWS.md file.
+- Change URL and Source to new home, and drop polkit.keyring and
+ tar.gz.sign tarball signature, no longer available.
+- Drop polkit-fix-pam-prefix.patch: Fixed upstream.
+- Add /usr/bin/dbus-daemon BuildRequires, needed for tests. Replace
+ the dbus-1 with /usr/bin/dbus-daemon Requires.
+
+-------------------------------------------------------------------
+Tue Sep 19 12:24:38 UTC 2023 - Ludwig Nussel <lnussel(a)suse.com>
+
+- change /usr/share/polkit-1/rules.d to 555,root:root. /usr content
+ isn't secret anyway so this avoids non-root owned files in /usr
+ (boo#1215482)
+- update 50-default.rules to allow adding more admin rules
+ (jsc#PED-260, drop polkit-no-wheel-group.patch)
+
+-------------------------------------------------------------------
Old:
----
polkit-121.tar.gz
polkit-121.tar.gz.sign
polkit-fix-pam-prefix.patch
polkit-no-wheel-group.patch
polkit.keyring
New:
----
50-default.rules
polkit-123.tar.bz2
BETA DEBUG BEGIN:
Old: tar.gz.sign tarball signature, no longer available.
- Drop polkit-fix-pam-prefix.patch: Fixed upstream.
- Add /usr/bin/dbus-daemon BuildRequires, needed for tests. Replace
Old:- update 50-default.rules to allow adding more admin rules
(jsc#PED-260, drop polkit-no-wheel-group.patch)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit.spec ++++++
--- /var/tmp/diff_new_pack.czRX4f/_old 2023-12-05 17:02:46.664177837 +0100
+++ /var/tmp/diff_new_pack.czRX4f/_new 2023-12-05 17:02:46.664177837 +0100
@@ -21,16 +21,15 @@
%define run_tests 1
Name: polkit
-Version: 121
+Version: 123
Release: 0
Summary: PolicyKit Authorization Framework
License: LGPL-2.1-or-later
Group: System/Libraries
-URL: https://www.freedesktop.org/wiki/Software/polkit/
-Source0: https://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar…
-Source1: https://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar…
-Source2: %{name}.keyring
+URL: https://gitlab.freedesktop.org/polkit/polkit/
+Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
Source3: system-user-polkitd.conf
+Source4: 50-default.rules
Source99: baselibs.conf
# Upstream First - Policy:
@@ -38,8 +37,6 @@
# in the patch. Any patches added here without a very good reason to make
# an exception will be silently removed with the next version update.
-# PATCH-FIX-OPENSUSE polkit-no-wheel-group.patch vuntz(a)opensuse.org -- In openSUSE, there's no special meaning for the wheel group, so we shouldn't allow it to be admin
-Patch0: polkit-no-wheel-group.patch
# PATCH-FIX-OPENSUSE polkit-gettext.patch lnussel(a)suse.de -- allow fallback to gettext for polkit action translations
# polkit-use-gettext-as-fallback.patch
Patch1: polkit-gettext.patch
@@ -47,9 +44,6 @@
Patch3: polkit-keyinit.patch
# PATCH-FIX-OPENSUSE polkit-adjust-libexec-path.patch -- Adjust path to polkit-agent-helper-1 (bsc#1180474)
Patch4: polkit-adjust-libexec-path.patch
-# PATCH-FIX-UPSTREAM polkit-fix-pam-prefix.patch luc14n0(a)opensuse.org -- Make
-# intended use of pam_prefix meson option rather than hard-coded path
-Patch5: polkit-fix-pam-prefix.patch
# Read actions also from /etc/polkit-1/actions
Patch6: polkit-actions-in-etc.patch
@@ -73,6 +67,7 @@
#################################################################
# python3-dbus-python and python3-python-dbusmock are needed for
# test-polkitbackendjsauthority test:
+BuildRequires: /usr/bin/dbus-daemon
BuildRequires: python3-dbus-python
BuildRequires: python3-python-dbusmock
#################################################################
@@ -80,7 +75,7 @@
# gtk-doc drags indirectyly ruby in for one of the helpers. This in turn causes a build cycle.
#!BuildIgnore: ruby
-Requires: dbus-1
+Requires: /usr/bin/dbus-daemon
Requires: libpolkit-agent-1-0 = %{version}-%{release}
Requires: libpolkit-gobject-1-0 = %{version}-%{release}
Requires(post): permissions
@@ -160,7 +155,7 @@
This package provides the GObject Introspection bindings for PolicyKit.
%prep
-%autosetup -p1 -n polkit-v.%{version}
+%autosetup -p1
%build
%meson \
@@ -198,9 +193,8 @@
# create $HOME for polkit user
install -d %{buildroot}%{_localstatedir}/lib/polkit
-# We use /usr/share as prefix for the rules.d directory
-mv %{buildroot}%{_sysconfdir}/polkit-1/rules.d/50-default.rules \
- %{buildroot}%{_polkit_rulesdir}/50-default.rules
+rm -v %{buildroot}%{_polkit_rulesdir}/50-default.rules
+install -m0644 %{SOURCE4} %{buildroot}%{_polkit_rulesdir}/50-default.rules
# Install the polkitd user creation file:
mkdir -p %{buildroot}%{_sysusersdir}
@@ -264,8 +258,8 @@
%{_datadir}/polkit-1/policyconfig-1.dtd
%dir %{_datadir}/polkit-1/actions
%{_datadir}/polkit-1/actions/org.freedesktop.policykit.policy
-%attr(0750,root,polkitd) %dir %{_polkit_rulesdir}
-%attr(0640,root,polkitd) %{_polkit_rulesdir}/50-default.rules
+%attr(0555,root,root) %dir %{_polkit_rulesdir}
+ %{_polkit_rulesdir}/50-default.rules
%{_pam_vendordir}/polkit-1
%dir %{_sysconfdir}/polkit-1
%attr(0750,root,polkitd) %dir %{_sysconfdir}/polkit-1/rules.d
++++++ 50-default.rules ++++++
/* make sure that users that are in an admin group always authenticate with
* their own password and don't get a choice. Users not in an admin group get
* the full choice and may also authenticate as root */
polkit._suse_admin_groups = [];
polkit.addAdminRule(function(action, subject) {
var rules = ["unix-user:0"];
for (var i in polkit._suse_admin_groups) {
var g = polkit._suse_admin_groups[i];
if (subject.isInGroup(g))
return ["unix-user:"+subject.user];
rules.push("unix-group:"+g);
}
return rules;
});
++++++ polkit-121.tar.gz -> polkit-123.tar.bz2 ++++++
++++ 2465 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package NetworkManager-vpnc for openSUSE:Factory checked in at 2023-12-05 17:02:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-vpnc (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-vpnc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-vpnc"
Tue Dec 5 17:02:17 2023 rev:71 rq:1130779 version:1.2.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-vpnc/NetworkManager-vpnc.changes 2023-08-05 12:53:57.528215210 +0200
+++ /work/SRC/openSUSE:Factory/.NetworkManager-vpnc.new.25432/NetworkManager-vpnc.changes 2023-12-05 17:02:44.076082438 +0100
@@ -1,0 +2,9 @@
+Thu Nov 2 14:34:19 UTC 2023 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Rename gnome subpackage to NetworkManager-applet-vpnc
+ to more accurately reflect its usage
+- Add missing supplements:
+ - NM and vpnc
+ - NMA subpackage: main package and NMA
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-vpnc.spec ++++++
--- /var/tmp/diff_new_pack.EWbfvS/_old 2023-12-05 17:02:44.696105293 +0100
+++ /var/tmp/diff_new_pack.EWbfvS/_new 2023-12-05 17:02:44.696105293 +0100
@@ -37,22 +37,25 @@
BuildRequires: pkgconfig(libnma) >= 1.2.0
BuildRequires: pkgconfig(libnma-gtk4) >= 1.8.33
BuildRequires: pkgconfig(libsecret-1)
-Requires: %{name}-frontend
Requires: NetworkManager >= 1.2.0
Requires: vpnc
+Supplements: (NetworkManager and vpnc)
ExcludeArch: s390
%description
NetworkManager-vpnc provides VPN support to NetworkManager for vpnc.
-%package gnome
+%package -n NetworkManager-applet-vpnc
Summary: NetworkManager VPN Support for vpnc
Group: Productivity/Networking/System
Requires: %{name} = %{version}-%{release}
Requires: gnome-keyring
Provides: %{name}-frontend
+Provides: %{name}-gnome = %{version}
+Obsoletes: %{name}-gnome
+Supplements: (%{name} and NetworkManager-applet)
-%description gnome
+%description -n NetworkManager-applet-vpnc
NetworkManager-vpnc provides VPN support to NetworkManager for vpnc.
%lang_package
@@ -80,7 +83,7 @@
%{_vpnservicedir}/nm-vpnc-service.name
%{_datadir}/dbus-1/system.d/nm-vpnc-service.conf
-%files gnome
+%files -n NetworkManager-applet-vpnc
%{_datadir}/metainfo/network-manager-vpnc.metainfo.xml
%{_libexecdir}/nm-vpnc-auth-dialog
%{_libdir}/NetworkManager/libnm-vpn-plugin-vpnc-editor.so
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gdm for openSUSE:Factory checked in at 2023-12-05 17:02:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdm (Old)
and /work/SRC/openSUSE:Factory/.gdm.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdm"
Tue Dec 5 17:02:09 2023 rev:261 rq:1130902 version:45.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdm/gdm.changes 2023-11-29 21:19:07.477618841 +0100
+++ /work/SRC/openSUSE:Factory/.gdm.new.25432/gdm.changes 2023-12-05 17:02:33.299685216 +0100
@@ -43,0 +44,3 @@
+- Drop upstream patches:
+ + gdm-fix-btmp-record-with-seat.patch
+ + gdm-disable-wayland-on-aspeed-chipsets.patch
@@ -61,0 +65,7 @@
+Mon Jun 5 07:46:59 UTC 2023 - Alynx Zhou <alynx.zhou(a)suse.com>
+- Add gdm-fix-btmp-record-with-seat.patch: When writing btmp record
+ display name is needed, but user don't have a display before
+ logging in, this patch uses seat instead which is also better for
+ Wayland (bsc#1211825).
+
+-------------------------------------------------------------------
@@ -145,0 +156,7 @@
+
+-------------------------------------------------------------------
+Fri Jul 8 10:33:14 UTC 2022 - Alynx Zhou <alynx.zhou(a)suse.com>
+
+- Add gdm-disable-wayland-on-aspeed-chipsets.patch: Those chips do
+ not have fast blending and Wayland performance is bad on them, so
+ disable Wayland on aspeed chipsets (bsc#1200323).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package NetworkManager-openconnect for openSUSE:Factory checked in at 2023-12-05 17:02:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-openconnect (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-openconnect.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-openconnect"
Tue Dec 5 17:02:07 2023 rev:34 rq:1130775 version:1.2.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-openconnect/NetworkManager-openconnect.changes 2023-05-23 14:53:42.890188996 +0200
+++ /work/SRC/openSUSE:Factory/.NetworkManager-openconnect.new.25432/NetworkManager-openconnect.changes 2023-12-05 17:02:31.123605005 +0100
@@ -1,0 +2,9 @@
+Thu Nov 2 14:34:19 UTC 2023 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Rename gnome subpackage to NetworkManager-applet-openconnect
+ to more accurately reflect its usage
+- Add missing supplements:
+ - NM and openconnect
+ - NMA subpackage: Main package and NMA
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-openconnect.spec ++++++
--- /var/tmp/diff_new_pack.ndHWzV/_old 2023-12-05 17:02:31.923634494 +0100
+++ /var/tmp/diff_new_pack.ndHWzV/_new 2023-12-05 17:02:31.927634641 +0100
@@ -43,9 +43,9 @@
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(openconnect) >= 3.02
BuildRequires: pkgconfig(webkit2gtk-4.1)
-Requires: %{name}-frontend
Requires: NetworkManager >= 1.1.0
Requires: openconnect
+Supplements: (NetworkManager and openconnect)
%sysusers_requires
ExcludeArch: s390 s390x
@@ -53,13 +53,16 @@
NetworkManager-openconnect provides VPN support to NetworkManager for
OpenConnect, an implementation of the Cisco AnyConnect VPN system.
-%package gnome
+%package -n NetworkManager-applet-openconnect
Summary: NetworkManager VPN support for OpenConnect
Group: Productivity/Networking/System
Requires: %{name} = %{version}
Provides: %{name}-frontend
+Provides: %{name}-gnome = %{version}
+Obsoletes: %{name}-gnome
+Supplements: (%{name} and NetworkManager-applet)
-%description gnome
+%description -n NetworkManager-applet-openconnect
NetworkManager-openconnect provides VPN support to NetworkManager for
OpenConnect, an implementation of the Cisco AnyConnect VPN system.
@@ -96,7 +99,7 @@
%{_datadir}/dbus-1/system.d/nm-openconnect-service.conf
%{_sysusersdir}/system-user-nm-openconnect.conf
-%files gnome
+%files -n NetworkManager-applet-openconnect
%{_datadir}/metainfo/network-manager-openconnect.metainfo.xml
%{_libexecdir}/nm-openconnect-auth-dialog
%{_libdir}/NetworkManager/libnm-vpn-plugin-openconnect-editor.so
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package NetworkManager-libreswan for openSUSE:Factory checked in at 2023-12-05 17:02:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-libreswan (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-libreswan.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-libreswan"
Tue Dec 5 17:02:04 2023 rev:10 rq:1130774 version:1.2.16
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-libreswan/NetworkManager-libreswan.changes 2023-01-20 17:37:43.508204273 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager-libreswan.new.25432/NetworkManager-libreswan.changes 2023-12-05 17:02:29.103530544 +0100
@@ -1,0 +2,10 @@
+Thu Nov 2 14:34:19 UTC 2023 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Rename gnome subpackage to NetworkManager-applet-libreswan
+ to more accurately reflect its usage
+- Add missing requires: NetworkManager
+- Add missing supplements:
+ - NM and /usr/sbin/ipsec
+ - NMA subpackage: Main package and NMA
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-libreswan.spec ++++++
--- /var/tmp/diff_new_pack.jadA3z/_old 2023-12-05 17:02:30.019564309 +0100
+++ /var/tmp/diff_new_pack.jadA3z/_new 2023-12-05 17:02:30.019564309 +0100
@@ -37,7 +37,9 @@
BuildRequires: pkgconfig(libnma-gtk4) >= 1.8.33
BuildRequires: pkgconfig(libsecret-1) >= 0.18
+Requires: NetworkManager
Requires: /usr/sbin/ipsec
+Supplements: (NetworkManager and /usr/sbin/ipsec)
Provides: NetworkManager-openswan = %{version}
Obsoletes: NetworkManager-openswan < %{version}
@@ -45,16 +47,19 @@
This package contains software for integrating the libreswan VPN
software with NetworkManager and the GNOME desktop.
-%package -n NetworkManager-libreswan-gnome
-Summary: NetworkManager VPN plugin for libreswan - GNOME files
+%package -n NetworkManager-applet-libreswan
+Summary: NetworkManager VPN plugin for libreswan - NMA files
Group: Productivity/Networking/System
Requires: %{name} = %{version}
Provides: NetworkManager-openswan-gnome = %{version}
Obsoletes: NetworkManager-openswan-gnome < %{version}
+Provides: %{name}-gnome = %{version}
+Obsoletes: %{name}-gnome
+Supplements: (%{name} and NetworkManager-applet)
-%description -n NetworkManager-libreswan-gnome
+%description -n NetworkManager-applet-libreswan
This package contains software for integrating VPN capabilities
-with the libreswan server with NetworkManager (GNOME files).
+with the libreswan server with NetworkManager (NMA files).
%lang_package
@@ -84,7 +89,7 @@
%{_libexecdir}/nm-libreswan-service-helper
%{_mandir}/man5/nm-settings-libreswan.5%{ext_man}
-%files -n NetworkManager-libreswan-gnome
+%files -n NetworkManager-applet-libreswan
%{_libexecdir}/nm-libreswan-auth-dialog
%{_libdir}/NetworkManager/libnm-vpn-plugin-libreswan-editor.so
%{_libdir}/NetworkManager/libnm-gtk4-vpn-plugin-libreswan-editor.so
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package NetworkManager-l2tp for openSUSE:Factory checked in at 2023-12-05 17:02:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-l2tp (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-l2tp.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-l2tp"
Tue Dec 5 17:02:02 2023 rev:15 rq:1130773 version:1.20.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-l2tp/NetworkManager-l2tp.changes 2023-12-02 17:12:26.063723912 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager-l2tp.new.25432/NetworkManager-l2tp.changes 2023-12-05 17:02:26.887448858 +0100
@@ -1,0 +2,10 @@
+Thu Nov 2 14:34:19 UTC 2023 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Rename gnome subpackage to NetworkManager-applet-l2tp
+ to more accurately reflect its usage
+- Add missing supplements:
+ - NM and xl2tpd
+ - NMA subpackage: Main package and NMA
+- Configure runstatedir to %_rundir
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-l2tp.spec ++++++
--- /var/tmp/diff_new_pack.F4ywvm/_old 2023-12-05 17:02:27.731479970 +0100
+++ /var/tmp/diff_new_pack.F4ywvm/_new 2023-12-05 17:02:27.735480117 +0100
@@ -40,6 +40,7 @@
BuildRequires: pkgconfig(nss)
Requires: NetworkManager >= 1.20.0
Requires: xl2tpd
+Supplements: (NetworkManager and xl2tpd)
%requires_eq ppp
Recommends: (strongswan or libreswan)
@@ -47,12 +48,15 @@
This package contains software for integrating L2TP and L2TP/IPsec
(L2TP over IPsec) VPN support with NetworkManager.
-%package gnome
+%package -n NetworkManager-applet-l2tp
Summary: NetworkManager VPN support for L2TP and L2TP/IPsec
Group: Productivity/Networking/System
Requires: %{name} = %{version}-%{release}
+Provides: %{name}-gnome = %{version}
+Obsoletes: %{name}-gnome
+Supplements: (%{name} and NetworkManager-applet)
-%description gnome
+%description -n NetworkManager-applet-l2tp
This package contains software for integrating L2TP and L2TP/IPsec
(L2TP over IPsec) VPN support with NetworkManager.
@@ -69,6 +73,7 @@
--enable-libreswan-dh2 \
--with-pppd-plugin-dir=%{pppd_plugin_dir} \
--with-dist-version=%{version}-%{release} \
+ runstatedir=%{_rundir} \
%{nil}
%make_build
@@ -100,7 +105,7 @@
%{_datadir}/dbus-1/system.d/nm-l2tp-service.conf
%{pppd_plugin_dir}/nm-l2tp-pppd-plugin.so
-%files gnome
+%files -n NetworkManager-applet-l2tp
%{_datadir}/metainfo/network-manager-l2tp.metainfo.xml
%{_libdir}/NetworkManager/libnm-vpn-plugin-l2tp-editor.so
%{_libdir}/NetworkManager/libnm-gtk4-vpn-plugin-l2tp-editor.so
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package NetworkManager-iodine for openSUSE:Factory checked in at 2023-12-05 17:02:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-iodine (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-iodine.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-iodine"
Tue Dec 5 17:02:00 2023 rev:9 rq:1130772 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-iodine/NetworkManager-iodine.changes 2023-01-12 22:44:21.236885397 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager-iodine.new.25432/NetworkManager-iodine.changes 2023-12-05 17:02:23.035306866 +0100
@@ -1,0 +2,8 @@
+Fri Dec 1 13:45:15 UTC 2023 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Rename gnome subpackage to NetworkManager-applet-iodine
+ to more accurately reflect its usage
+- Change supplements:
+ - NMA subpackage: only supplement if main package is installed
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-iodine.spec ++++++
--- /var/tmp/diff_new_pack.cxewQ4/_old 2023-12-05 17:02:25.159385161 +0100
+++ /var/tmp/diff_new_pack.cxewQ4/_new 2023-12-05 17:02:25.159385161 +0100
@@ -42,13 +42,15 @@
through a DNS tunnel. This can be useful if internet access is
firewalled but DNS traffic is still allowed.
-%package gnome
+%package -n NetworkManager-applet-iodine
Summary: NetworkManager VPN support for iodine
Group: Productivity/Networking/System
Requires: %{name} = %{version}-%{release}
-Supplements: (NetworkManager-gnome and iodine)
+Provides: %{name}-gnome = %{version}
+Obsoletes: %{name}-gnome
+Supplements: (%{name} and NetworkManager-applet)
-%description gnome
+%description -n NetworkManager-applet-iodine
A network manager VPN plugin that allows you to tunnel your connection
through a DNS tunnel. This can be useful if internet access is
firewalled but DNS traffic is still allowed.
@@ -84,7 +86,7 @@
%{_libexecdir}/nm-iodine-service
%{_datadir}/dbus-1/system.d/nm-iodine-service.conf
-%files gnome
+%files -n NetworkManager-applet-iodine
%{_datadir}/appdata/network-manager-iodine.appdata.xml
%{_datadir}/gnome-vpn-properties/
%{_libexecdir}/nm-iodine-auth-dialog
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package NetworkManager for openSUSE:Factory checked in at 2023-12-05 17:01:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager"
Tue Dec 5 17:01:50 2023 rev:263 rq:1130749 version:1.44.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager/NetworkManager.changes 2023-11-29 21:19:02.661441484 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager.new.25432/NetworkManager.changes 2023-12-05 17:02:08.118757035 +0100
@@ -1,0 +2,6 @@
+Sun Dec 3 07:39:25 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Add python3.6-in-sle.patch: SLE still takes python 3.6 as primary
+ system, the patch allows meson to find python 3.6 in SLE.
+
+-------------------------------------------------------------------
New:
----
python3.6-in-sle.patch
BETA DEBUG BEGIN:
New:
- Add python3.6-in-sle.patch: SLE still takes python 3.6 as primary
system, the patch allows meson to find python 3.6 in SLE.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager.spec ++++++
--- /var/tmp/diff_new_pack.1pneV9/_old 2023-12-05 17:02:09.854821027 +0100
+++ /var/tmp/diff_new_pack.1pneV9/_new 2023-12-05 17:02:09.858821175 +0100
@@ -92,6 +92,8 @@
Patch7: nm-add-CAP_SYS_ADMIN-permission.patch
# PATCH-FIX-OPENSUSE fix runstatedir from /var/run to /run gmbr3(a)opensuse.org
Patch8: nm-runstatedir.patch
+# PATCH-FIX-SLE python3.6-in-sle.patch yfjiang(a)suse.com -- SLE still takes python 3.6 as primary runtime system, the patch makes meson find python 3.6
+Patch9: python3.6-in-sle.patch
BuildRequires: c++_compiler
BuildRequires: dnsmasq
@@ -301,6 +303,9 @@
%patch -P 6 -p1
%patch -P 7 -p1
%patch -P 8 -p1
+%if 0%{?sle_version} && 0%{?sle_version} < 160000
+%patch -P 9 -p1
+%endif
# Fix server.conf's location, to end up in %%{_defaultdocdir}/%%{name},
# rather then %%{_datadir}/doc/%%{name}/examples:
++++++ python3.6-in-sle.patch ++++++
Index: NetworkManager-1.44.2/meson.build
===================================================================
--- NetworkManager-1.44.2.orig/meson.build
+++ NetworkManager-1.44.2/meson.build
@@ -882,7 +882,7 @@ test_args = [
]
py3 = import('python3')
-python = py3.find_python()
+python = find_program('python3')
if python.found()
config_h.set_quoted('TEST_NM_PYTHON', python.path())
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-maps for openSUSE:Factory checked in at 2023-12-05 17:01:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-maps (Old)
and /work/SRC/openSUSE:Factory/.gnome-maps.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-maps"
Tue Dec 5 17:01:46 2023 rev:87 rq:1130747 version:45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-maps/gnome-maps.changes 2023-11-30 22:01:22.429175977 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-maps.new.25432/gnome-maps.changes 2023-12-05 17:02:03.130573168 +0100
@@ -1,0 +2,8 @@
+Mon Dec 4 09:13:03 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 45.2:
+ + Fixed triggering a extranous reload of the trip query in the
+ case the user has already filled in query points
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gnome-maps-45.1.tar.xz
New:
----
gnome-maps-45.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-maps.spec ++++++
--- /var/tmp/diff_new_pack.0nFjAE/_old 2023-12-05 17:02:03.954603542 +0100
+++ /var/tmp/diff_new_pack.0nFjAE/_new 2023-12-05 17:02:03.954603542 +0100
@@ -17,7 +17,7 @@
Name: gnome-maps
-Version: 45.1
+Version: 45.2
Release: 0
Summary: Maps Application for GNOME
License: GPL-2.0-or-later
++++++ gnome-maps-45.1.tar.xz -> gnome-maps-45.2.tar.xz ++++++
++++ 1794 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nautilus for openSUSE:Factory checked in at 2023-12-05 17:01:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nautilus (Old)
and /work/SRC/openSUSE:Factory/.nautilus.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nautilus"
Tue Dec 5 17:01:42 2023 rev:210 rq:1130746 version:45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/nautilus/nautilus.changes 2023-10-24 20:07:30.866686181 +0200
+++ /work/SRC/openSUSE:Factory/.nautilus.new.25432/nautilus.changes 2023-12-05 17:01:58.842415105 +0100
@@ -1,0 +2,11 @@
+Sun Dec 3 16:18:53 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 45.2:
+ + Don't crash when reconnecting to remove server.
+ + Actually detect unmount on some non-native mounts.
+ + Don't crash on image properties.
+ + Allow types and sizes in Properties to expand.
+ + Don't corrupt toast messages.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
nautilus-45.1.obscpio
New:
----
nautilus-45.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nautilus.spec ++++++
--- /var/tmp/diff_new_pack.oXItAI/_old 2023-12-05 17:02:01.438510798 +0100
+++ /var/tmp/diff_new_pack.oXItAI/_new 2023-12-05 17:02:01.438510798 +0100
@@ -17,7 +17,7 @@
Name: nautilus
-Version: 45.1
+Version: 45.2
Release: 0
Summary: File Manager for the GNOME Desktop
License: GPL-3.0-or-later AND LGPL-2.1-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.oXItAI/_old 2023-12-05 17:02:01.466511830 +0100
+++ /var/tmp/diff_new_pack.oXItAI/_new 2023-12-05 17:02:01.474512125 +0100
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/nautilus.git</param>
- <param name="revision">refs/tags/45.1</param>
+ <param name="revision">refs/tags/45.2</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
++++++ nautilus-45.1.obscpio -> nautilus-45.2.obscpio ++++++
/work/SRC/openSUSE:Factory/nautilus/nautilus-45.1.obscpio /work/SRC/openSUSE:Factory/.nautilus.new.25432/nautilus-45.2.obscpio differ: char 49, line 1
++++++ nautilus.obsinfo ++++++
--- /var/tmp/diff_new_pack.oXItAI/_old 2023-12-05 17:02:01.534514336 +0100
+++ /var/tmp/diff_new_pack.oXItAI/_new 2023-12-05 17:02:01.542514632 +0100
@@ -1,5 +1,5 @@
name: nautilus
-version: 45.1
-mtime: 1698014188
-commit: fe56e4d44dc57c13a885a2d02bd94770fc40ce4e
+version: 45.2
+mtime: 1701616134
+commit: 5e84f663e7e01314a8e364fba50451e011938b7a
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mutter for openSUSE:Factory checked in at 2023-12-05 17:01:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutter (Old)
and /work/SRC/openSUSE:Factory/.mutter.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mutter"
Tue Dec 5 17:01:38 2023 rev:216 rq:1130745 version:45.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/mutter/mutter.changes 2023-11-29 21:19:17.705995505 +0100
+++ /work/SRC/openSUSE:Factory/.mutter.new.25432/mutter.changes 2023-12-05 17:01:56.250319559 +0100
@@ -1,0 +2,5 @@
+Sun Dec 3 15:54:07 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Rebase mutter-SLE-bsc984738-grab-display.patch.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mutter-SLE-bsc984738-grab-display.patch ++++++
--- /var/tmp/diff_new_pack.NqEPrN/_old 2023-12-05 17:01:56.950345362 +0100
+++ /var/tmp/diff_new_pack.NqEPrN/_new 2023-12-05 17:01:56.954345509 +0100
@@ -1,17 +1,17 @@
-Index: mutter-44.3/src/core/display.c
+Index: mutter-45.1/src/core/display.c
===================================================================
---- mutter-44.3.orig/src/core/display.c
-+++ mutter-44.3/src/core/display.c
-@@ -880,6 +880,8 @@ meta_display_new (MetaContext *context,
+--- mutter-45.1.orig/src/core/display.c
++++ mutter-45.1/src/core/display.c
+@@ -956,6 +956,8 @@ meta_display_new (MetaContext *context,
display->check_fullscreen_later = 0;
display->work_area_later = 0;
+ display->server_grab_count = 0;
+
display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
- display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
- terminal has the focus */
-@@ -1208,6 +1210,50 @@ meta_grab_op_is_moving (MetaGrabOp op)
+
+ display->current_time = META_CURRENT_TIME;
+@@ -1308,6 +1310,50 @@ meta_grab_op_is_moving (MetaGrabOp op)
return !meta_grab_op_is_resizing (op);
}
@@ -62,11 +62,11 @@
/**
* meta_display_windows_are_interactable:
* @op: A #MetaGrabOp
-Index: mutter-44.3/src/core/display-private.h
+Index: mutter-45.1/src/core/display-private.h
===================================================================
---- mutter-44.3.orig/src/core/display-private.h
-+++ mutter-44.3/src/core/display-private.h
-@@ -105,6 +105,8 @@ struct _MetaDisplay
+--- mutter-45.1.orig/src/core/display-private.h
++++ mutter-45.1/src/core/display-private.h
+@@ -95,6 +95,8 @@ struct _MetaDisplay
GHashTable *stamps;
GHashTable *wayland_windows;
@@ -75,19 +75,19 @@
guint32 current_time;
/* We maintain a sequence counter, incremented for each #MetaWindow
-@@ -189,6 +191,8 @@ struct _MetaDisplayClass
-
+@@ -179,6 +181,8 @@ struct _MetaDisplayClass
MetaDisplay * meta_display_new (MetaContext *context,
GError **error);
+
+void meta_display_grab (MetaDisplay *display);
+void meta_display_ungrab (MetaDisplay *display);
-
+ #ifdef HAVE_X11_CLIENT
void meta_display_manage_all_xwindows (MetaDisplay *display);
- void meta_display_unmanage_windows (MetaDisplay *display,
-Index: mutter-44.3/src/core/keybindings.c
+ #endif
+Index: mutter-45.1/src/core/keybindings.c
===================================================================
---- mutter-44.3.orig/src/core/keybindings.c
-+++ mutter-44.3/src/core/keybindings.c
+--- mutter-45.1.orig/src/core/keybindings.c
++++ mutter-45.1/src/core/keybindings.c
@@ -1257,6 +1257,9 @@ meta_display_grab_window_buttons (MetaDi
{
MetaKeyBindingManager *keys = &display->key_binding_manager;
@@ -148,11 +148,11 @@
if (window->grab_on_frame &&
window->frame != NULL)
change_window_keygrabs (keys, window->frame->xwindow, FALSE);
-Index: mutter-44.3/src/x11/meta-x11-display.c
+Index: mutter-45.1/src/x11/meta-x11-display.c
===================================================================
---- mutter-44.3.orig/src/x11/meta-x11-display.c
-+++ mutter-44.3/src/x11/meta-x11-display.c
-@@ -2013,7 +2013,7 @@ meta_x11_display_set_input_focus_interna
+--- mutter-45.1.orig/src/x11/meta-x11-display.c
++++ mutter-45.1/src/x11/meta-x11-display.c
+@@ -1990,7 +1990,7 @@ meta_x11_display_set_input_focus_interna
* we know which is which by making two requests that the server will
* process at the same time.
*/
@@ -161,7 +161,7 @@
XSetInputFocus (x11_display->xdisplay,
xwindow,
-@@ -2025,8 +2025,7 @@ meta_x11_display_set_input_focus_interna
+@@ -2002,8 +2002,7 @@ meta_x11_display_set_input_focus_interna
x11_display->atom__MUTTER_FOCUS_SET,
XA_STRING, 8, PropModeAppend, NULL, 0);
@@ -171,10 +171,10 @@
meta_x11_error_trap_pop (x11_display);
}
-Index: mutter-44.3/src/x11/window-x11.c
+Index: mutter-45.1/src/x11/window-x11.c
===================================================================
---- mutter-44.3.orig/src/x11/window-x11.c
-+++ mutter-44.3/src/x11/window-x11.c
+--- mutter-45.1.orig/src/x11/window-x11.c
++++ mutter-45.1/src/x11/window-x11.c
@@ -548,6 +548,8 @@ meta_window_x11_manage (MetaWindow *wind
meta_sync_counter_init (&priv->sync_counter, window, window->xwindow);
meta_icon_cache_init (&priv->icon_cache);
@@ -184,6 +184,20 @@
meta_x11_display_register_x_window (display->x11_display,
&window->xwindow,
window);
+@@ -565,11 +567,11 @@ meta_window_x11_manage (MetaWindow *wind
+ if (window->decorated)
+ meta_window_ensure_frame (window);
+ else
+- meta_window_x11_initialize_state (window);
++ meta_window_x11_initialize_state (window, display);
+ }
+
+ void
+-meta_window_x11_initialize_state (MetaWindow *window)
++meta_window_x11_initialize_state (MetaWindow *window, MetaDisplay *display)
+ {
+ MetaWindowX11 *window_x11 = META_WINDOW_X11 (window);
+ MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11);
@@ -620,6 +622,13 @@ meta_window_x11_initialize_state (MetaWi
meta_window_x11_update_shape_region (window);
@@ -198,4 +212,29 @@
}
static void
+Index: mutter-45.1/src/x11/events.c
+===================================================================
+--- mutter-45.1.orig/src/x11/events.c
++++ mutter-45.1/src/x11/events.c
+@@ -1485,7 +1485,7 @@ handle_other_xevent (MetaX11Display *x11
+ {
+ meta_window_set_frame_xwindow (window,
+ event->xmaprequest.window);
+- meta_window_x11_initialize_state (window);
++ meta_window_x11_initialize_state (window, display);
+ meta_window_update_visibility (window);
+ }
+
+Index: mutter-45.1/src/x11/window-x11-private.h
+===================================================================
+--- mutter-45.1.orig/src/x11/window-x11-private.h
++++ mutter-45.1/src/x11/window-x11-private.h
+@@ -94,6 +94,6 @@ void meta_window_x11_set_bypass_composit
+
+ void meta_window_x11_queue_update_icon (MetaWindowX11 *window_x11);
+
+-void meta_window_x11_initialize_state (MetaWindow *window);
++void meta_window_x11_initialize_state (MetaWindow *window, MetaDisplay *display);
+
+ G_END_DECLS
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-shell-extensions for openSUSE:Factory checked in at 2023-12-05 17:01:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell-extensions (Old)
and /work/SRC/openSUSE:Factory/.gnome-shell-extensions.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell-extensions"
Tue Dec 5 17:01:31 2023 rev:133 rq:1130742 version:45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell-extensions/gnome-shell-extensions.changes 2023-11-02 20:20:31.201738573 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-shell-extensions.new.25432/gnome-shell-extensions.changes 2023-12-05 17:01:48.398030120 +0100
@@ -1,0 +2,10 @@
+Sat Dec 2 20:06:52 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 45.2:
+ + window-list:
+ - Fix buttons not being clickable at the screen edge
+ - Really fix initial preview visibility
+ + workspace-indicator: Really fix initial preview visibility
+ + Misc. bug fixes and cleanups
+
+-------------------------------------------------------------------
Old:
----
gnome-shell-extensions-45.1.tar.xz
New:
----
gnome-shell-extensions-45.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-shell-extensions.spec ++++++
--- /var/tmp/diff_new_pack.9n6Q4g/_old 2023-12-05 17:01:49.034053564 +0100
+++ /var/tmp/diff_new_pack.9n6Q4g/_new 2023-12-05 17:01:49.034053564 +0100
@@ -19,7 +19,7 @@
%global __requires_exclude typelib\\(Meta\\)
Name: gnome-shell-extensions
-Version: 45.1
+Version: 45.2
Release: 0
Summary: A collection of extensions for GNOME Shell
License: GPL-2.0-or-later
++++++ gnome-shell-extensions-45.1.tar.xz -> gnome-shell-extensions-45.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/NEWS new/gnome-shell-extensions-45.2/NEWS
--- old/gnome-shell-extensions-45.1/NEWS 2023-11-01 00:39:41.242782400 +0100
+++ new/gnome-shell-extensions-45.2/NEWS 2023-12-02 18:28:54.211650400 +0100
@@ -1,3 +1,14 @@
+45.2
+====
+* window-list: Fix buttons not being clickable at the screen edge
+ [Florian; !291]
+* window-list: Really fix initial preview visibility [Florian; !292]
+* workspace-indicator: Really fix initial preview visibility [Florian; !292]
+* Misc. bug fixes and cleanups [Florian; !290]
+
+Contributors:
+ Florian Müllner
+
45.1
====
* workspace-indicator: Fix initial preview visibility [Florian; !280]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/extensions/apps-menu/extension.js new/gnome-shell-extensions-45.2/extensions/apps-menu/extension.js
--- old/gnome-shell-extensions-45.1/extensions/apps-menu/extension.js 2023-11-01 00:39:41.242782400 +0100
+++ new/gnome-shell-extensions-45.2/extensions/apps-menu/extension.js 2023-12-02 18:28:54.213650500 +0100
@@ -214,9 +214,9 @@
this._grab?.dismiss();
delete this._grab;
- let source = event.get_source();
- if (source instanceof St.Widget)
- source.sync_hover();
+ const targetActor = global.stage.get_event_actor(event);
+ if (targetActor instanceof St.Widget)
+ targetActor.sync_hover();
return false;
}
@@ -363,6 +363,20 @@
}
}
+class MainLayout extends Clutter.BoxLayout {
+ static {
+ GObject.registerClass(this);
+ }
+
+ vfunc_get_preferred_height(container, forWidth) {
+ const [mainChild] = container;
+ const [minHeight, natHeight] =
+ mainChild.get_preferred_height(forWidth);
+
+ return [minHeight, natHeight + MENU_HEIGHT_OFFSET];
+ }
+}
+
class ApplicationsButton extends PanelMenu.Button {
static {
GObject.registerClass(this);
@@ -432,15 +446,6 @@
}
}
- _createVertSeparator() {
- let separator = new St.DrawingArea({
- style_class: 'calendar-vertical-separator',
- pseudo_class: 'highlighted',
- });
- separator.connect('repaint', this._onVertSepRepaint.bind(this));
- return separator;
- }
-
_onDestroy() {
super._onDestroy();
@@ -462,21 +467,6 @@
return super._onMenuKeyPress(actor, event);
}
- _onVertSepRepaint(area) {
- let cr = area.get_context();
- let themeNode = area.get_theme_node();
- let [width, height] = area.get_surface_size();
- let stippleColor = themeNode.get_color('-stipple-color');
- let stippleWidth = themeNode.get_length('-stipple-width');
- let x = Math.floor(width / 2) + 0.5;
- cr.moveTo(x, 0);
- cr.lineTo(x, height);
- Clutter.cairo_set_source_color(cr, stippleColor);
- cr.setDash([1, 3], 1); // Hard-code for now
- cr.setLineWidth(stippleWidth);
- cr.stroke();
- }
-
_onOpenStateChanged(menu, open) {
if (open) {
if (this.reloadFlag) {
@@ -554,7 +544,7 @@
_createLayout() {
let section = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(section);
- this.mainBox = new St.BoxLayout({vertical: false});
+ this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()});
this.leftBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox = new St.ScrollView({
style_class: 'apps-menu vfade',
@@ -583,14 +573,12 @@
this.categoriesScrollBox.add_actor(this.categoriesBox);
this.mainBox.add(this.leftBox);
- this.mainBox.add_child(this._createVertSeparator());
this.mainBox.add_child(this.applicationsScrollBox);
section.actor.add_actor(this.mainBox);
}
_display() {
this._applicationsButtons.clear();
- this.mainBox.style = 'width: 35em;';
this.mainBox.hide();
// Load categories
@@ -620,12 +608,6 @@
// Load applications
this._displayButtons(this._listApplications(null));
-
- let themeContext = St.ThemeContext.get_for_stage(global.stage);
- let scaleFactor = themeContext.scale_factor;
- let categoriesHeight = this.categoriesBox.height / scaleFactor;
- let height = Math.round(categoriesHeight) + MENU_HEIGHT_OFFSET;
- this.mainBox.style += `height: ${height}px`;
}
selectCategory(dir) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/extensions/apps-menu/stylesheet.css new/gnome-shell-extensions-45.2/extensions/apps-menu/stylesheet.css
--- old/gnome-shell-extensions-45.1/extensions/apps-menu/stylesheet.css 2023-11-01 00:39:41.242782400 +0100
+++ new/gnome-shell-extensions-45.2/extensions/apps-menu/stylesheet.css 2023-12-02 18:28:54.214650400 +0100
@@ -4,6 +4,8 @@
* SPDX-License-Identifier: GPL-2.0-or-later
*/
+.apps-menu {width: 26em;}
+
.apps-menu:ltr {
padding-right: 3px;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/extensions/window-list/stylesheet-dark.css new/gnome-shell-extensions-45.2/extensions/window-list/stylesheet-dark.css
--- old/gnome-shell-extensions-45.1/extensions/window-list/stylesheet-dark.css 2023-11-01 00:39:41.244782400 +0100
+++ new/gnome-shell-extensions-45.2/extensions/window-list/stylesheet-dark.css 2023-12-02 18:28:54.223650500 +0100
@@ -6,115 +6,115 @@
*/
.window-list {
- spacing: 2px;
- font-size: 10pt;
+ spacing: 2px;
+ font-size: 10pt;
}
.bottom-panel {
- background-color: #000000;
- border-top-width: 0px;
- padding: 2px;
+ background-color: #000000;
+ border-top-width: 0px;
+ height: 2.45em;
}
.window-button {
- padding: 2px, 1px;
+ padding: 4px, 3px;
}
.window-button:first-child:ltr {
- padding-left: 2px;
+ padding-left: 2px;
}
.window-button:last-child:rtl {
- padding-right: 2px;
+ padding-right: 2px;
}
.window-button-box {
- spacing: 4px;
+ spacing: 4px;
}
.window-button > StWidget,
.window-picker-toggle > StWidget {
- color: #bbb;
- background-color: #1d1d1d;
- border-radius: 4px;
- padding: 3px 6px 1px;
- transition: 100ms ease;
+ color: #bbb;
+ background-color: #1d1d1d;
+ border-radius: 4px;
+ padding: 3px 6px 1px;
+ transition: 100ms ease;
}
.window-button > StWidget {
- -st-natural-width: 18.75em;
- max-width: 18.75em;
+ -st-natural-width: 18.75em;
+ max-width: 18.75em;
}
.window-button:hover > StWidget,
.window-picker-toggle:hover > StWidget {
- color: #fff;
- background-color: #303030;
+ color: #fff;
+ background-color: #303030;
}
.window-button:active > StWidget,
.window-button:focus > StWidget {
- color: #fff;
- background-color: #3f3f3f;
+ color: #fff;
+ background-color: #3f3f3f;
}
.window-button.focused > StWidget,
.window-picker-toggle:checked > StWidget {
- color: #fff;
- background-color: #3f3f3f;
+ color: #fff;
+ background-color: #3f3f3f;
}
.window-button.focused:active > StWidget,
.window-picker-toggle:checked:active > StWidget {
- color: #fff;
- background-color: #3f3f3f;
+ color: #fff;
+ background-color: #3f3f3f;
}
.window-button.minimized > StWidget {
- color: #666;
- background-color: #161616;
+ color: #666;
+ background-color: #161616;
}
.window-button.minimized:active > StWidget {
- color: #666;
- background-color: #161616;
+ color: #666;
+ background-color: #161616;
}
.window-button-icon {
- width: 24px;
- height: 24px;
+ width: 24px;
+ height: 24px;
}
.window-list-workspace-indicator .status-label-bin {
- background-color: rgba(200, 200, 200, 0.3);
- padding: 0 3px;
- margin: 3px;
+ background-color: rgba(200, 200, 200, 0.3);
+ padding: 5px;
+ margin: 3px;
}
.window-list-workspace-indicator .workspaces-box {
- spacing: 3px;
- padding: 3px;
+ spacing: 3px;
+ padding: 5px;
}
.window-list-workspace-indicator .workspace {
- width: 52px;
- border-radius: 4px;
- background-color: #1e1e1e;
+ width: 52px;
+ border-radius: 4px;
+ background-color: #1e1e1e;
}
.window-list-workspace-indicator .workspace.active {
- background-color: #3f3f3f;
+ background-color: #3f3f3f;
}
.window-list-window-preview {
- background-color: #bebebe;
- border-radius: 1px;
+ background-color: #bebebe;
+ border-radius: 1px;
}
.window-list-window-preview.active {
- background-color: #d4d4d4;
+ background-color: #d4d4d4;
}
.notification {
- font-weight: normal;
+ font-weight: normal;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/extensions/window-list/stylesheet-light.css new/gnome-shell-extensions-45.2/extensions/window-list/stylesheet-light.css
--- old/gnome-shell-extensions-45.1/extensions/window-list/stylesheet-light.css 2023-11-01 00:39:41.244782400 +0100
+++ new/gnome-shell-extensions-45.2/extensions/window-list/stylesheet-light.css 2023-12-02 18:28:54.223650500 +0100
@@ -10,8 +10,7 @@
#panel.bottom-panel {
border-top-width: 1px;
border-bottom-width: 0px;
- height: 2.25em ;
- padding: 2px;
+ height: 2.5em;
}
.bottom-panel .window-button > StWidget,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/extensions/window-list/workspaceIndicator.js new/gnome-shell-extensions-45.2/extensions/window-list/workspaceIndicator.js
--- old/gnome-shell-extensions-45.1/extensions/window-list/workspaceIndicator.js 2023-11-01 00:39:41.244782400 +0100
+++ new/gnome-shell-extensions-45.2/extensions/window-list/workspaceIndicator.js 2023-12-02 18:28:54.223650500 +0100
@@ -36,12 +36,10 @@
this._window = window;
this._window.connectObject(
- 'size-changed', () => this.queue_relayout(),
- 'position-changed', () => {
- this._updateVisible();
- this.queue_relayout();
- },
+ 'size-changed', () => this._checkRelayout(),
+ 'position-changed', () => this._checkRelayout(),
'notify::minimized', this._updateVisible.bind(this),
+ 'notify::window-type', this._updateVisible.bind(this),
this);
this._updateVisible();
@@ -62,11 +60,15 @@
this.remove_style_class_name('active');
}
- _updateVisible() {
+ _checkRelayout() {
const monitor = Main.layoutManager.findIndexForActor(this);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
- this.visible = this._window.get_frame_rect().overlap(workArea) &&
- this._window.window_type !== Meta.WindowType.DESKTOP &&
+ if (this._window.get_frame_rect().overlap(workArea))
+ this.queue_relayout();
+ }
+
+ _updateVisible() {
+ this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/extensions/workspace-indicator/extension.js new/gnome-shell-extensions-45.2/extensions/workspace-indicator/extension.js
--- old/gnome-shell-extensions-45.1/extensions/workspace-indicator/extension.js 2023-11-01 00:39:41.244782400 +0100
+++ new/gnome-shell-extensions-45.2/extensions/workspace-indicator/extension.js 2023-12-02 18:28:54.224650400 +0100
@@ -42,12 +42,10 @@
this._window = window;
this._window.connectObject(
- 'size-changed', () => this.queue_relayout(),
- 'position-changed', () => {
- this._updateVisible();
- this.queue_relayout();
- },
+ 'size-changed', () => this._checkRelayout(),
+ 'position-changed', () => this._checkRelayout(),
'notify::minimized', this._updateVisible.bind(this),
+ 'notify::window-type', this._updateVisible.bind(this),
this);
this._updateVisible();
@@ -68,11 +66,15 @@
this.remove_style_class_name('active');
}
- _updateVisible() {
+ _checkRelayout() {
const monitor = Main.layoutManager.findIndexForActor(this);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
- this.visible = this._window.get_frame_rect().overlap(workArea) &&
- this._window.window_type !== Meta.WindowType.DESKTOP &&
+ if (this._window.get_frame_rect().overlap(workArea))
+ this.queue_relayout();
+ }
+
+ _updateVisible() {
+ this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-shell-extensions-45.1/meson.build new/gnome-shell-extensions-45.2/meson.build
--- old/gnome-shell-extensions-45.1/meson.build 2023-11-01 00:39:41.244782400 +0100
+++ new/gnome-shell-extensions-45.2/meson.build 2023-12-02 18:28:54.225650500 +0100
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
project('gnome-shell-extensions',
- version: '45.1',
+ version: '45.2',
meson_version: '>= 0.58.0',
license: 'GPL2+'
)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-shell for openSUSE:Factory checked in at 2023-12-05 17:01:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old)
and /work/SRC/openSUSE:Factory/.gnome-shell.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell"
Tue Dec 5 17:01:28 2023 rev:245 rq:1130741 version:45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes 2023-11-29 21:19:09.685700155 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-shell.new.25432/gnome-shell.changes 2023-12-05 17:01:45.901938112 +0100
@@ -1,0 +2,18 @@
+Sat Dec 2 20:02:57 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 45.2:
+ + Fix performance degradation due to repeated signal leak
+ + Optimize application search
+ + Fix on-screen keyboard backspace getting stuck
+ + Fix arrow navigation in search results
+ + Support async code in Eval() D-Bus method
+ + Fix sliders not requesting any size
+ + Only show prefs dialog after the extension has been loaded
+ + Improve high-contrast styling
+ + Fix mapping of tablet rings/strips
+ + Add support for "version-name" field in extension metainfo
+ + Fixed crashes
+ + Misc. bug fixes and cleanups
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gnome-shell-45.1.obscpio
New:
----
gnome-shell-45.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-shell.spec ++++++
--- /var/tmp/diff_new_pack.ntvFRE/_old 2023-12-05 17:01:47.273988687 +0100
+++ /var/tmp/diff_new_pack.ntvFRE/_new 2023-12-05 17:01:47.273988687 +0100
@@ -21,7 +21,7 @@
%define mutter_req 45.beta
Name: gnome-shell
-Version: 45.1
+Version: 45.2
Release: 0
Summary: GNOME Shell
# shew extension is LGPL 2.1; gnome-shell-extension-tool is GPL-3.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ntvFRE/_old 2023-12-05 17:01:47.305989866 +0100
+++ /var/tmp/diff_new_pack.ntvFRE/_new 2023-12-05 17:01:47.309990014 +0100
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/gnome-shell.git</param>
- <param name="revision">refs/tags/45.1</param>
+ <param name="revision">refs/tags/45.2</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
++++++ gnome-shell-45.1.obscpio -> gnome-shell-45.2.obscpio ++++++
/work/SRC/openSUSE:Factory/gnome-shell/gnome-shell-45.1.obscpio /work/SRC/openSUSE:Factory/.gnome-shell.new.25432/gnome-shell-45.2.obscpio differ: char 49, line 1
++++++ gnome-shell.obsinfo ++++++
--- /var/tmp/diff_new_pack.ntvFRE/_old 2023-12-05 17:01:47.381992668 +0100
+++ /var/tmp/diff_new_pack.ntvFRE/_new 2023-12-05 17:01:47.381992668 +0100
@@ -1,5 +1,5 @@
name: gnome-shell
-version: 45.1
-mtime: 1698794309
-commit: a7c169c6c29cf02a4c392fa0acbbc5f5072823e7
+version: 45.2
+mtime: 1701459831
+commit: 8bb752adf47efa1e225d1aa885ae71865cabce8a
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xmlsec1 for openSUSE:Factory checked in at 2023-12-05 17:01:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xmlsec1 (Old)
and /work/SRC/openSUSE:Factory/.xmlsec1.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xmlsec1"
Tue Dec 5 17:01:25 2023 rev:24 rq:1130810 version:1.2.37
Changes:
--------
--- /work/SRC/openSUSE:Factory/xmlsec1/xmlsec1.changes 2023-08-09 17:24:33.405120085 +0200
+++ /work/SRC/openSUSE:Factory/.xmlsec1.new.25432/xmlsec1.changes 2023-12-05 17:01:42.973830181 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 14:49:16 UTC 2023 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Make use of openSUSE build flags
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xmlsec1.spec ++++++
--- /var/tmp/diff_new_pack.hdPZHL/_old 2023-12-05 17:01:44.257877512 +0100
+++ /var/tmp/diff_new_pack.hdPZHL/_new 2023-12-05 17:01:44.257877512 +0100
@@ -148,8 +148,8 @@
%build
# Allow for deprecations
-export CFLAGS="-Wno-error=deprecated-declarations -std=c99"
-export CXXFLAGS="-Wno-error=deprecated-declarations"
+export CFLAGS="%{optflags} -Wno-error=deprecated-declarations -std=c99"
+export CXXFLAGS="%{optflags} -Wno-error=deprecated-declarations"
%configure \
--disable-static \
--disable-silent-rules \
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mariadb-connector-c for openSUSE:Factory checked in at 2023-12-05 17:01:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb-connector-c (Old)
and /work/SRC/openSUSE:Factory/.mariadb-connector-c.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb-connector-c"
Tue Dec 5 17:01:22 2023 rev:44 rq:1130804 version:3.3.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb-connector-c/mariadb-connector-c.changes 2023-11-22 18:54:18.642920150 +0100
+++ /work/SRC/openSUSE:Factory/.mariadb-connector-c.new.25432/mariadb-connector-c.changes 2023-12-05 17:01:39.805713402 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 10:18:59 UTC 2023 - Danilo Spinella <oss(a)danyspin97.org>
+
+- Update to 3.3.8:
+ * https://mariadb.com/kb/en/mariadb-connector-c-3-3-8-release-notes/
+
+-------------------------------------------------------------------
Old:
----
mariadb-connector-c-3.3.7-src.tar.gz
mariadb-connector-c-3.3.7-src.tar.gz.asc
New:
----
mariadb-connector-c-3.3.8-src.tar.gz
mariadb-connector-c-3.3.8-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb-connector-c.spec ++++++
--- /var/tmp/diff_new_pack.UspNsL/_old 2023-12-05 17:01:41.237766189 +0100
+++ /var/tmp/diff_new_pack.UspNsL/_new 2023-12-05 17:01:41.241766336 +0100
@@ -25,7 +25,7 @@
%endif
%bcond_with sqlite3
Name: mariadb-connector-c
-Version: 3.3.7
+Version: 3.3.8
Release: 0
Summary: MariaDB connector in C
License: LGPL-2.1-or-later
++++++ mariadb-connector-c-3.3.7-src.tar.gz -> mariadb-connector-c-3.3.8-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/.travis.yml new/mariadb-connector-c-3.3.8-src/.travis.yml
--- old/mariadb-connector-c-3.3.7-src/.travis.yml 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/.travis.yml 2023-11-01 11:28:04.000000000 +0100
@@ -55,6 +55,8 @@
- env: srv=mariadb-es
name: "ES latest"
if: type = push AND fork = false
+ - env: server_branch=10.11
+ name: "10.11 Server unit testing"
- stage: Enterprise
env: srv=mariadb-es v=10.4
@@ -69,10 +71,6 @@
name: "ES 23.08"
- env: srv=maxscale
name: "Maxscale"
- - env: srv=skysql
- name: "SkySQL"
- - env: srv=skysql-ha
- name: "SkySQL with replication"
- env: srv=xpand
name: "Xpand"
@@ -80,6 +78,11 @@
env: srv=mariadb v=10.11
os: windows
language: shell
+ name: "Windows"
+ - env: server_branch=10.6
+ name: "10.6 Server unit testing"
+ - env: server_branch=11.3 TEST_OPTION=--ps-protocol
+ name: "11.3 Server unit testing with ps-protocol"
- env: srv=mariadb v=10.4 local=1
dist: bionic
name: "CS 10.4"
@@ -92,7 +95,7 @@
name: "CS 10.10"
- env: srv=mariadb v=10.11 local=1
name: "CS 10.11"
- - env: srv=mariadb v=10.11 local=1 TEST_OPTION=--ps-protocol
+ - env: srv=mariadb v=10.11 local=1 TEST_OPTION=--ps-protocol
name: "CS 10.11 with ps-protocol"
- env: srv=mariadb v=11.0 local=1
name: "CS 11.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/CMakeLists.txt new/mariadb-connector-c-3.3.8-src/CMakeLists.txt
--- old/mariadb-connector-c-3.3.7-src/CMakeLists.txt 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/CMakeLists.txt 2023-11-01 11:28:04.000000000 +0100
@@ -36,7 +36,7 @@
SET(CPACK_PACKAGE_VERSION_MAJOR 3)
SET(CPACK_PACKAGE_VERSION_MINOR 3)
-SET(CPACK_PACKAGE_VERSION_PATCH 7)
+SET(CPACK_PACKAGE_VERSION_PATCH 8)
SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
MATH(EXPR MARIADB_PACKAGE_VERSION_ID "${CPACK_PACKAGE_VERSION_MAJOR} * 10000 +
${CPACK_PACKAGE_VERSION_MINOR} * 100 +
@@ -133,7 +133,7 @@
IF(CMAKE_COMPILER_IS_GNUCC)
INCLUDE(CheckCCompilerFlag)
- SET(GCC_FLAGS -Wunused -Wlogical-op -Wno-uninitialized -Wall -Wextra -Wformat-security -Wno-init-self -Wwrite-strings -Wshift-count-overflow -Wdeclaration-after-statement -Wno-undef -Wno-unknown-pragmas)
+ SET(GCC_FLAGS -Wunused -Wlogical-op -Wno-uninitialized -Wall -Wextra -Wformat-security -Wno-init-self -Wwrite-strings -Wshift-count-overflow -Wdeclaration-after-statement -Wno-undef -Wno-unknown-pragmas -Wno-stringop-truncation)
FOREACH(GCC_FLAG ${GCC_FLAGS})
CHECK_C_COMPILER_FLAG("${GCC_FLAG}" HAS_${GCC_FLAG}_FLAG)
IF(${HAS_${GCC_FLAG}_FLAG})
@@ -276,10 +276,7 @@
IF(WIN32)
SET(HAVE_THREADS 1)
ADD_DEFINITIONS(-DHAVE_DLOPEN)
- ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
- IF(MSVC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996" )
- ENDIF()
+ ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
ELSEIF()
SET(HAVE_THREADS ${CMAKE_USE_PTHREADS})
ENDIF()
@@ -398,12 +395,14 @@
MESSAGE1(SYSTEM_LIBS "SYSTEM_LIBS ${SYSTEM_LIBS}")
MARK_AS_ADVANCED(SYSTEM_LIBS)
-IF (CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "GNU")
- SET(WARNING_AS_ERROR "-Werror" CACHE INTERNAL "WARNING_AS_ERROR")
+IF(NOT IS_SUBPROJECT)
+IF ((NOT WIN32) AND (CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "GNU"))
+ SET(WARNING_AS_ERROR "-Werror")
ELSEIF(CMAKE_C_COMPILER_ID MATCHES "MSVC")
- SET(WARNING_AS_ERROR "/WX" CACHE INTERNAL "WARNING_AS_ERROR")
+ SET(WARNING_AS_ERROR "/WX")
ENDIF()
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_AS_ERROR}")
+ENDIF()
IF(NOT REMOTEIO_PLUGIN_TYPE MATCHES "OFF")
@@ -429,7 +428,7 @@
INCLUDE(${CC_SOURCE_DIR}/plugins/CMakeLists.txt)
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(libmariadb)
-IF(NOT MSVC)
+IF((NOT WIN32) OR CYGWIN)
ADD_SUBDIRECTORY(mariadb_config)
ENDIF()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/cmake/WindowsCache.cmake new/mariadb-connector-c-3.3.8-src/cmake/WindowsCache.cmake
--- old/mariadb-connector-c-3.3.7-src/cmake/WindowsCache.cmake 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/cmake/WindowsCache.cmake 2023-11-01 11:28:04.000000000 +0100
@@ -300,8 +300,7 @@
SET(HAVE_VSNPRINTF 1 CACHE INTERNAL "")
ENDIF()
SET(HAVE_WEAK_SYMBOL CACHE INTERNAL "")
-SET(HAVE_WORDS_BIGENDIAN TRUE CACHE INTERNAL "")
-SET(WORDS_BIGENDIAN CACHE INTERNAL "")
+SET(HAVE_BIGENDIAN CACHE INTERNAL "")
SET(HAVE__S_IFIFO 1 CACHE INTERNAL "")
SET(HAVE__S_IREAD 1 CACHE INTERNAL "")
SET(HAVE__finite 1 CACHE INTERNAL "")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/include/ma_crypt.h new/mariadb-connector-c-3.3.8-src/include/ma_crypt.h
--- old/mariadb-connector-c-3.3.7-src/include/ma_crypt.h 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/include/ma_crypt.h 2023-11-01 11:28:04.000000000 +0100
@@ -31,6 +31,7 @@
#define MA_HASH_SHA384 5
#define MA_HASH_SHA512 6
#define MA_HASH_RIPEMD160 7
+#define MA_HASH_MAX 8
/*! Hash digest sizes */
#define MA_MD5_HASH_SIZE 16
@@ -45,15 +46,7 @@
/** \typedef MRL hash context */
#if defined(HAVE_WINCRYPT)
-#include <windows.h>
-#include <bcrypt.h>
-typedef struct {
- char free_me;
- BCRYPT_ALG_HANDLE hAlg;
- BCRYPT_HASH_HANDLE hHash;
- PBYTE hashObject;
- DWORD digest_len;
-} MA_HASH_CTX;
+typedef void MA_HASH_CTX;
#elif defined(HAVE_OPENSSL)
#include <openssl/evp.h>
typedef EVP_MD_CTX MA_HASH_CTX;
@@ -68,11 +61,10 @@
@brief acquire and initialize new hash context
@param[in] algorithm hash algorithm
- @param[in] ctx pointer to a crypto context
@return hash context on success, NULL on error
*/
-MA_HASH_CTX *ma_hash_new(unsigned int algorithm, MA_HASH_CTX *ctx);
+MA_HASH_CTX *ma_hash_new(unsigned int algorithm);
/**
@brief release and deinitializes a hash context
@@ -154,11 +146,7 @@
unsigned char *digest)
{
MA_HASH_CTX *ctx= NULL;
-#ifdef HAVE_WINCRYPT
- MA_HASH_CTX dctx;
- ctx= &dctx;
-#endif
- ctx= ma_hash_new(algorithm, ctx);
+ ctx= ma_hash_new(algorithm);
ma_hash_input(ctx, buffer, buffer_length);
ma_hash_result(ctx, digest);
ma_hash_free(ctx);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/include/ma_global.h new/mariadb-connector-c-3.3.8-src/include/ma_global.h
--- old/mariadb-connector-c-3.3.7-src/include/ma_global.h 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/include/ma_global.h 2023-11-01 11:28:04.000000000 +0100
@@ -29,13 +29,7 @@
#define strtok_r strtok_s
#define strdup _strdup
#define sleep(x) Sleep(1000*(x))
-#ifdef _MSC_VER
-#define inline __inline
-#if _MSC_VER < 1900
-#define snprintf _snprintf
-#endif
#define strerror_r(errno,buf,len) strerror_s(buf,len,errno)
-#endif
#define STDCALL __stdcall
#endif
@@ -964,7 +958,7 @@
#define float8get(V,M) doubleget((V),(M))
#define float8store(V,M) doublestore((V),(M))
-#endif /* WORDS_BIGENDIAN */
+#endif /* HAVE_BIGENDIAN */
#endif /* __i386__ OR _WIN32 */
@@ -1034,7 +1028,7 @@
#define longlongget(V,M) memcpy(&V, (M), sizeof(ulonglong))
#define longlongstore(T,V) memcpy((T), &V, sizeof(ulonglong))
-#endif /* WORDS_BIGENDIAN */
+#endif /* HAVE_BIGENDIAN */
#ifndef THREAD
#define thread_safe_increment(V,L) ((V)++)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/ma_alloc.c new/mariadb-connector-c-3.3.8-src/libmariadb/ma_alloc.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/ma_alloc.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/ma_alloc.c 2023-11-01 11:28:04.000000000 +0100
@@ -21,13 +21,14 @@
#include <ma_sys.h>
#include <ma_string.h>
+#define INIT_BLOCK_NUM 4
void ma_init_alloc_root(MA_MEM_ROOT *mem_root, size_t block_size, size_t pre_alloc_size)
{
mem_root->free= mem_root->used= mem_root->pre_alloc= 0;
mem_root->min_malloc=32;
mem_root->block_size= (block_size-MALLOC_OVERHEAD-sizeof(MA_USED_MEM)+8);
mem_root->error_handler=0;
- mem_root->block_num= 4;
+ mem_root->block_num= INIT_BLOCK_NUM;
mem_root->first_block_usage= 0;
#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG))
if (pre_alloc_size)
@@ -141,6 +142,8 @@
root->free->left=root->pre_alloc->size-ALIGN_SIZE(sizeof(MA_USED_MEM));
root->free->next=0;
}
+ root->block_num= INIT_BLOCK_NUM;
+ root->first_block_usage= 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/ma_context.c new/mariadb-connector-c-3.3.8-src/libmariadb/ma_context.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/ma_context.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/ma_context.c 2023-11-01 11:28:04.000000000 +0100
@@ -30,6 +30,9 @@
#endif
#ifdef MY_CONTEXT_USE_UCONTEXT
+
+typedef void (*uc_func_t)(void);
+
/*
The makecontext() only allows to pass integers into the created context :-(
We want to pass pointers, so we do it this kinda hackish way.
@@ -47,8 +50,7 @@
the actual type (as the actual type can differ from call to call).
*/
static void
-my_context_spawn_internal(i0, i1)
-int i0, i1;
+my_context_spawn_internal(int i0, int i1)
{
int err;
struct my_context *c;
@@ -101,7 +103,7 @@
c->user_data= d;
c->active= 1;
u.p= c;
- makecontext(&c->spawned_context, my_context_spawn_internal, 2,
+ makecontext(&c->spawned_context, (uc_func_t)my_context_spawn_internal, 2,
u.a[0], u.a[1]);
return my_context_continue(c);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/ma_dtoa.c new/mariadb-connector-c-3.3.8-src/libmariadb/ma_dtoa.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/ma_dtoa.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/ma_dtoa.c 2023-11-01 11:28:04.000000000 +0100
@@ -512,7 +512,7 @@
typedef union { double d; ULong L[2]; } U;
-#if defined(HAVE_BIGENDIAN) || defined(WORDS_BIGENDIAN) || \
+#if defined(HAVE_BIGENDIAN) || \
(defined(__FLOAT_WORD_ORDER) && (__FLOAT_WORD_ORDER == __BIG_ENDIAN))
#define word0(x) ((x)->L[0])
#define word1(x) ((x)->L[1])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/ma_net.c new/mariadb-connector-c-3.3.8-src/libmariadb/ma_net.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/ma_net.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/ma_net.c 2023-11-01 11:28:04.000000000 +0100
@@ -292,7 +292,7 @@
return 0;
}
-unsigned char *mysql_net_store_length(unsigned char *packet, size_t length);
+unsigned char *mysql_net_store_length(unsigned char *packet, ulonglong length);
/* Read and write using timeouts */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/mariadb_lib.c new/mariadb-connector-c-3.3.8-src/libmariadb/mariadb_lib.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/mariadb_lib.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/mariadb_lib.c 2023-11-01 11:28:04.000000000 +0100
@@ -123,7 +123,7 @@
extern int mthd_stmt_read_all_rows(MYSQL_STMT *stmt);
extern void mthd_stmt_flush_unbuffered(MYSQL_STMT *stmt);
extern my_bool _mariadb_read_options(MYSQL *mysql, const char *dir, const char *config_file, const char *group, unsigned int recursion);
-extern unsigned char *mysql_net_store_length(unsigned char *packet, size_t length);
+extern unsigned char *mysql_net_store_length(unsigned char *packet, ulonglong length);
extern void
my_context_install_suspend_resume_hook(struct mysql_async_context *b,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/mariadb_stmt.c new/mariadb-connector-c-3.3.8-src/libmariadb/mariadb_stmt.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/mariadb_stmt.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/mariadb_stmt.c 2023-11-01 11:28:04.000000000 +0100
@@ -492,7 +492,7 @@
return(NULL);
}
-unsigned char *mysql_net_store_length(unsigned char *packet, size_t length)
+unsigned char *mysql_net_store_length(unsigned char *packet, ulonglong length)
{
if (length < (unsigned long long) L64(251)) {
*packet = (unsigned char) length;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/secure/gnutls_crypt.c new/mariadb-connector-c-3.3.8-src/libmariadb/secure/gnutls_crypt.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/secure/gnutls_crypt.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/secure/gnutls_crypt.c 2023-11-01 11:28:04.000000000 +0100
@@ -41,7 +41,7 @@
}
}
-MA_HASH_CTX *ma_hash_new(unsigned int algorithm, MA_HASH_CTX *unused_ctx __attribute__((unused)))
+MA_HASH_CTX *ma_hash_new(unsigned int algorithm)
{
gnutls_hash_hd_t ctx= NULL;
gnutls_digest_algorithm_t hash_alg= ma_hash_get_algorithm(algorithm);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/secure/openssl_crypt.c new/mariadb-connector-c-3.3.8-src/libmariadb/secure/openssl_crypt.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/secure/openssl_crypt.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/secure/openssl_crypt.c 2023-11-01 11:28:04.000000000 +0100
@@ -43,7 +43,7 @@
}
}
-MA_HASH_CTX *ma_hash_new(unsigned int algorithm, MA_HASH_CTX *unused __attribute__((unused)))
+MA_HASH_CTX *ma_hash_new(unsigned int algorithm)
{
EVP_MD_CTX *ctx= NULL;
const EVP_MD *evp_md= ma_hash_get_algorithm(algorithm);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/secure/schannel_certs.c new/mariadb-connector-c-3.3.8-src/libmariadb/secure/schannel_certs.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/secure/schannel_certs.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/secure/schannel_certs.c 2023-11-01 11:28:04.000000000 +0100
@@ -32,14 +32,12 @@
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0601
#endif
-
#include "schannel_certs.h"
#include <malloc.h>
#include <stdio.h>
#include <string.h>
-#include <winsock2.h>
-#include <ws2tcpip.h>
#include <winhttp.h>
+#include <limits.h>
#include <assert.h>
#include "win32_errmsg.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/libmariadb/secure/win_crypt.c new/mariadb-connector-c-3.3.8-src/libmariadb/secure/win_crypt.c
--- old/mariadb-connector-c-3.3.7-src/libmariadb/secure/win_crypt.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/libmariadb/secure/win_crypt.c 2023-11-01 11:28:04.000000000 +0100
@@ -20,84 +20,143 @@
#include <bcrypt.h>
#include <ma_crypt.h>
#include <malloc.h>
+#include <stdlib.h>
+#include <stdio.h>
-BCRYPT_ALG_HANDLE Sha256Prov= 0;
-BCRYPT_ALG_HANDLE Sha512Prov= 0;
-BCRYPT_ALG_HANDLE RsaProv= 0;
+/*
+ Error handling for bcrypt.
+ If we can't meaningfully return an error, dump error on stderr
+ and abort. Those errors are mostly likely programming errors
+ (invalid parameters and such)
+*/
+static inline void check_nt_status(int ret, const char *function,
+ const char *file, int line)
+{
+ if (ret)
+ {
+ fprintf(stderr,"invalid return %d from bcrypt, "
+ "function %s with file %s, line %d\n",
+ ret, function, file, line);
+ abort();
+ }
+}
+#define CHECK_NT_STATUS(ret) check_nt_status(ret, __func__, __FILE__, __LINE__)
-static LPCWSTR ma_hash_get_algorithm(unsigned int alg, BCRYPT_ALG_HANDLE *algHdl)
+/*
+ Return Bcrypt algorithm ID (wchar string) for MariaDB numeric ID
+*/
+static LPCWSTR ma_hash_get_algorithm(unsigned int alg)
{
- switch(alg)
+ switch (alg)
{
+ case MA_HASH_SHA1:
+ return BCRYPT_SHA1_ALGORITHM;
case MA_HASH_SHA256:
- *algHdl= Sha256Prov;
return BCRYPT_SHA256_ALGORITHM;
+ case MA_HASH_SHA384:
+ return BCRYPT_SHA384_ALGORITHM;
case MA_HASH_SHA512:
- *algHdl= Sha512Prov;
return BCRYPT_SHA512_ALGORITHM;
default:
- *algHdl= 0;
return NULL;
}
}
-MA_HASH_CTX *ma_hash_new(unsigned int algorithm, MA_HASH_CTX *ctx)
+/* Cached algorithm provides handles. */
+static BCRYPT_ALG_HANDLE cached_alg_handles[MA_HASH_MAX];
+
+/*
+ Cleanup cached algorithm handles. It runs either on process exit,
+ or when DLL is unloaded (see _onexit() documentation)
+*/
+static int win_crypt_onexit(void)
{
- MA_HASH_CTX *newctx= ctx;
- DWORD cbObjSize, cbData;
- LPCWSTR alg;
- BCRYPT_ALG_HANDLE algHdl= 0;
+ int i;
+ for (i= 0; i < MA_HASH_MAX; i++)
+ {
+ if (cached_alg_handles[i])
+ BCryptCloseAlgorithmProvider(cached_alg_handles[i], 0);
+ }
+ return 0;
+}
- alg= ma_hash_get_algorithm(algorithm, &algHdl);
+static void register_cleanup_onexit_once()
+{
+ static LONG onexit_called;
+ if (!InterlockedCompareExchange(&onexit_called, 1, 0))
+ _onexit(win_crypt_onexit);
+}
- if (!alg || !algHdl)
- return NULL;
+/*
+ Given algorithm ID, return BCRYPT provider handle.
+ Uses or populates algorithm provider handle cache.
+*/
+static BCRYPT_ALG_HANDLE ma_hash_get_algorithm_handle(unsigned int alg)
+{
+ static SRWLOCK lock= SRWLOCK_INIT;
+ BCRYPT_ALG_HANDLE handle= NULL;
+ const wchar_t *name;
- if (BCryptGetProperty(algHdl, BCRYPT_OBJECT_LENGTH,
- (PBYTE)&cbObjSize, sizeof(DWORD),
- &cbData, 0) < 0)
- goto error;
+ if ((handle= cached_alg_handles[alg]) != NULL)
+ return handle;
- if (!newctx)
+ name= ma_hash_get_algorithm(alg);
+ if (!name)
+ return NULL;
+
+ AcquireSRWLockExclusive(&lock);
+ if ((handle= cached_alg_handles[alg]) == NULL)
{
- newctx= (MA_HASH_CTX *)calloc(1, sizeof(MA_HASH_CTX));
- newctx->free_me= 1;
+ if (BCryptOpenAlgorithmProvider(&handle, name, NULL, 0) == 0)
+ cached_alg_handles[alg]= handle;
+ else
+ handle= NULL;
}
- else
- memset(newctx, 0, sizeof(MA_HASH_CTX));
+ ReleaseSRWLockExclusive(&lock);
+
+ if (handle)
+ register_cleanup_onexit_once();
+ return handle;
+}
+
+MA_HASH_CTX *ma_hash_new(unsigned int algorithm)
+{
+ BCRYPT_HASH_HANDLE hash_handle;
+ BCRYPT_ALG_HANDLE alg_handle= ma_hash_get_algorithm_handle(algorithm);
+
+ if (!alg_handle)
+ return NULL;
+
+ if (BCryptCreateHash(alg_handle, &hash_handle, NULL, 0, NULL, 0, 0))
+ return NULL;
- newctx->hashObject= (PBYTE)malloc(cbObjSize);
- newctx->digest_len= (DWORD)ma_hash_digest_size(algorithm);
- BCryptCreateHash(algHdl, &newctx->hHash, newctx->hashObject, cbObjSize, NULL, 0, 0);
-
- return newctx;
-error:
- if (newctx && !ctx)
- free(newctx);
- return NULL;
+ return hash_handle;
}
void ma_hash_free(MA_HASH_CTX *ctx)
{
- if (ctx)
- {
- if (ctx->hHash)
- BCryptDestroyHash(ctx->hHash);
- if (ctx->hashObject)
- free(ctx->hashObject);
- if (ctx->free_me)
- free(ctx);
- }
+ NTSTATUS status;
+ if (!ctx)
+ return;
+ status= BCryptDestroyHash(ctx);
+ CHECK_NT_STATUS(status);
}
-void ma_hash_input(MA_HASH_CTX *ctx,
- const unsigned char *buffer,
- size_t len)
+void ma_hash_input(MA_HASH_CTX *ctx, const unsigned char *buffer, size_t len)
{
- BCryptHashData(ctx->hHash, (PUCHAR)buffer, (LONG)len, 0);
+ NTSTATUS status= BCryptHashData(ctx, (PUCHAR) buffer, (ULONG) len, 0);
+ CHECK_NT_STATUS(status);
}
void ma_hash_result(MA_HASH_CTX *ctx, unsigned char *digest)
{
- BCryptFinishHash(ctx->hHash, digest, ctx->digest_len, 0);
+ DWORD hash_length;
+ DWORD data_length;
+ NTSTATUS status=
+ BCryptGetProperty(ctx, BCRYPT_HASH_LENGTH, (PBYTE) &hash_length,
+ sizeof(DWORD), &data_length, 0);
+ CHECK_NT_STATUS(status);
+
+ status= BCryptFinishHash(ctx, digest, (ULONG) hash_length, 0);
+ CHECK_NT_STATUS(status);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/plugins/auth/caching_sha2_pw.c new/mariadb-connector-c-3.3.8-src/plugins/auth/caching_sha2_pw.c
--- old/mariadb-connector-c-3.3.7-src/plugins/auth/caching_sha2_pw.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/plugins/auth/caching_sha2_pw.c 2023-11-01 11:28:04.000000000 +0100
@@ -52,8 +52,6 @@
#include <wincrypt.h>
#include <bcrypt.h>
-extern BCRYPT_ALG_HANDLE RsaProv;
-extern BCRYPT_ALG_HANDLE Sha256Prov;
#endif
#include <ma_crypt.h>
@@ -84,12 +82,8 @@
unsigned char digest1[MA_SHA256_HASH_SIZE],
digest2[MA_SHA256_HASH_SIZE],
new_scramble[MA_SHA256_HASH_SIZE];
-#ifdef HAVE_WINCRYPT
- MA_HASH_CTX myctx;
- MA_HASH_CTX *ctx= &myctx;
-#else
+
MA_HASH_CTX *ctx = NULL;
-#endif
size_t i;
/* check if all specified lengths are valid */
@@ -97,27 +91,22 @@
return 1;
/* Step1: create sha256 from source */
- if (!(ctx= ma_hash_new(MA_HASH_SHA256, ctx)))
+ if (!(ctx= ma_hash_new(MA_HASH_SHA256)))
return 1;
ma_hash_input(ctx, source, source_len);
ma_hash_result(ctx, digest1);
ma_hash_free(ctx);
-#ifndef HAVE_WINCRYPT
- ctx = NULL;
-#endif
+
/* Step2: create sha256 digest from digest1 */
- if (!(ctx= ma_hash_new(MA_HASH_SHA256, ctx)))
+ if (!(ctx= ma_hash_new(MA_HASH_SHA256)))
return 1;
ma_hash_input(ctx, digest1, MA_SHA256_HASH_SIZE);
ma_hash_result(ctx, digest2);
ma_hash_free(ctx);
-#ifndef HAVE_WINCRYPT
- ctx = NULL;
-#endif
/* Step3: create sha256 digest from digest2 + salt */
- if (!(ctx= ma_hash_new(MA_HASH_SHA256, ctx)))
+ if (!(ctx= ma_hash_new(MA_HASH_SHA256)))
return 1;
ma_hash_input(ctx, digest2, MA_SHA256_HASH_SIZE);
ma_hash_input(ctx, salt, salt_len);
@@ -460,10 +449,6 @@
int unused3 __attribute__((unused)),
va_list unused4 __attribute__((unused)))
{
-#if defined(HAVE_WINCRYPT)
- BCryptOpenAlgorithmProvider(&Sha256Prov, BCRYPT_SHA256_ALGORITHM, NULL, 0);
- BCryptOpenAlgorithmProvider(&RsaProv, BCRYPT_RSA_ALGORITHM, NULL, 0);
-#endif
return 0;
}
/* }}} */
@@ -471,10 +456,6 @@
/* {{{ auth_caching_sha2_deinit */
static int auth_caching_sha2_deinit(void)
{
-#if defined(HAVE_WINCRYPT)
- BCryptCloseAlgorithmProvider(Sha256Prov, 0);
- BCryptCloseAlgorithmProvider(RsaProv, 0);
-#endif
return 0;
}
/* }}} */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/plugins/auth/ed25519.c new/mariadb-connector-c-3.3.8-src/plugins/auth/ed25519.c
--- old/mariadb-connector-c-3.3.7-src/plugins/auth/ed25519.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/plugins/auth/ed25519.c 2023-11-01 11:28:04.000000000 +0100
@@ -45,7 +45,6 @@
#include <windows.h>
#include <wincrypt.h>
#include <bcrypt.h>
-extern BCRYPT_ALG_HANDLE Sha512Prov;
#elif defined(HAVE_OPENSSL)
#include <openssl/rsa.h>
#include <openssl/pem.h>
@@ -123,9 +122,6 @@
int unused3 __attribute__((unused)),
va_list unused4 __attribute__((unused)))
{
-#if defined(HAVE_WINCRYPT)
- BCryptOpenAlgorithmProvider(&Sha512Prov, BCRYPT_SHA512_ALGORITHM, NULL, 0);
-#endif
return 0;
}
/* }}} */
@@ -133,9 +129,6 @@
/* {{{ auth_ed25519_deinit */
static int auth_ed25519_deinit(void)
{
-#if defined(HAVE_WINCRYPT)
- BCryptCloseAlgorithmProvider(Sha512Prov, 0);
-#endif
return 0;
}
/* }}} */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/plugins/auth/my_auth.c new/mariadb-connector-c-3.3.8-src/plugins/auth/my_auth.c
--- old/mariadb-connector-c-3.3.7-src/plugins/auth/my_auth.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/plugins/auth/my_auth.c 2023-11-01 11:28:04.000000000 +0100
@@ -12,7 +12,7 @@
extern void read_user_name(char *name);
extern char *ma_send_connect_attr(MYSQL *mysql, unsigned char *buffer);
extern int ma_read_ok_packet(MYSQL *mysql, uchar *pos, ulong length);
-extern unsigned char *mysql_net_store_length(unsigned char *packet, size_t length);
+extern unsigned char *mysql_net_store_length(unsigned char *packet, ulonglong length);
typedef struct {
int (*read_packet)(struct st_plugin_vio *vio, uchar **buf);
@@ -120,7 +120,7 @@
unsigned int i, last_errno= ((MCPVIO_EXT *)vio)->mysql->net.last_errno;
if (last_errno)
{
- strncpy(last_error, ((MCPVIO_EXT *)vio)->mysql->net.last_error,
+ memcpy(last_error, ((MCPVIO_EXT *)vio)->mysql->net.last_error,
sizeof(last_error) - 1);
last_error[sizeof(last_error) - 1]= 0;
}
@@ -137,7 +137,7 @@
if (last_errno)
{
MYSQL *mysql= ((MCPVIO_EXT *)vio)->mysql;
- strncpy(mysql->net.last_error, last_error,
+ memcpy(mysql->net.last_error, last_error,
sizeof(mysql->net.last_error) - 1);
mysql->net.last_error[sizeof(mysql->net.last_error) - 1]= 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/plugins/pvio/pvio_socket.c new/mariadb-connector-c-3.3.8-src/plugins/pvio/pvio_socket.c
--- old/mariadb-connector-c-3.3.7-src/plugins/pvio/pvio_socket.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/plugins/pvio/pvio_socket.c 2023-11-01 11:28:04.000000000 +0100
@@ -183,7 +183,7 @@
my_bool pvio_socket_change_timeout(MARIADB_PVIO *pvio, enum enum_pvio_timeout type, int timeout)
{
- struct timeval tm;
+ struct timeval tm= {0};
int rc= 0;
struct st_pvio_socket *csock= NULL;
if (!pvio)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/unittest/libmariadb/ps_bugs.c new/mariadb-connector-c-3.3.8-src/unittest/libmariadb/ps_bugs.c
--- old/mariadb-connector-c-3.3.7-src/unittest/libmariadb/ps_bugs.c 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/unittest/libmariadb/ps_bugs.c 2023-11-01 11:28:04.000000000 +0100
@@ -3272,7 +3272,7 @@
strcpy(buffer, "create table t_mem_overun(");
for (i= 0; i < 1000; i++)
{
- sprintf(field, "c%d int, ", i);
+ snprintf(field, sizeof(field), "c%d int, ", i);
strcat(buffer, field);
}
length= (int)strlen(buffer);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/win/packaging/CMakeLists.txt new/mariadb-connector-c-3.3.8-src/win/packaging/CMakeLists.txt
--- old/mariadb-connector-c-3.3.7-src/win/packaging/CMakeLists.txt 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/win/packaging/CMakeLists.txt 2023-11-01 11:28:04.000000000 +0100
@@ -56,6 +56,8 @@
STRING(REPLACE "mariadb/" "" src_id ${src_id})
IF(${src} MATCHES "mysql/")
SET(MARIADB_INCLUDEMYSQL_FILES "${MARIADB_INCLUDEMYSQL_FILES} <File Id=\"${src_id}\" Name=\"${src_name}\" DiskId=\"1\" Source=\"${SRC_DIR}/include/${src}\"/>\n")
+ ELSEIF (${src} MATCHES "mariadb/")
+ SET(MARIADB_INCLUDEMARIADB_FILES "${MARIADB_INCLUDEMARIADB_FILES} <File Id=\"${src_id}\" Name=\"${src_name}\" DiskId=\"1\" Source=\"${SRC_DIR}/include/${src}\"/>\n")
ELSE()
SET(MARIADB_INCLUDE_FILES "${MARIADB_INCLUDE_FILES} <File Id=\"${src_id}\" Name=\"${src_name}\" DiskId=\"1\" Source=\"${SRC_DIR}/include/${src}\"/>\n")
ENDIF()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mariadb-connector-c-3.3.7-src/win/packaging/mariadb-connector-c.xml.in new/mariadb-connector-c-3.3.8-src/win/packaging/mariadb-connector-c.xml.in
--- old/mariadb-connector-c-3.3.7-src/win/packaging/mariadb-connector-c.xml.in 2023-09-07 09:36:18.000000000 +0200
+++ new/mariadb-connector-c-3.3.8-src/win/packaging/mariadb-connector-c.xml.in 2023-11-01 11:28:04.000000000 +0100
@@ -22,6 +22,7 @@
<Feature Id="IncludeFeature" Title="Include Files" Level="1">
<ComponentRef Id="Includes"/>
<ComponentRef Id="MysqlIncludes"/>
+ <ComponentRef Id="MariadbIncludes"/>
</Feature>
</Product>
@@ -37,6 +38,7 @@
</Directory>
<Directory Id="instinclude" Name="include" >
<Directory Id="instincludemysql" Name="mysql"/>
+ <Directory Id="instincludemariadb" Name="mariadb"/>
</Directory>
</Directory>
</Directory>
@@ -74,6 +76,10 @@
<CreateFolder/>
@MARIADB_INCLUDEMYSQL_FILES@
</Component>
+ <Component Id="MariadbIncludes" Guid="DEFD4D6B-0143-442A-BEB8-C041F7156BF1" Directory="instincludemariadb" DiskId="1" Win64="@IS_WIN64@">
+ <CreateFolder/>
+ @MARIADB_INCLUDEMARIADB_FILES@
+ </Component>
</Fragment>
</Wix>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cnf for openSUSE:Factory checked in at 2023-12-05 17:01:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cnf (Old)
and /work/SRC/openSUSE:Factory/.cnf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cnf"
Tue Dec 5 17:01:17 2023 rev:3 rq:1130801 version:0.6.0~0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cnf/cnf.changes 2023-11-26 19:36:39.572747163 +0100
+++ /work/SRC/openSUSE:Factory/.cnf.new.25432/cnf.changes 2023-12-05 17:01:33.473479994 +0100
@@ -1,0 +2,5 @@
+Mon Dec 4 10:00:59 UTC 2023 - Andreas Schwab <schwab(a)suse.de>
+
+- Enable build on riscv64
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cnf.spec ++++++
--- /var/tmp/diff_new_pack.iNLDVe/_old 2023-12-05 17:01:35.061538530 +0100
+++ /var/tmp/diff_new_pack.iNLDVe/_new 2023-12-05 17:01:35.061538530 +0100
@@ -45,7 +45,7 @@
# cnf-rs was not the best name
Provides: cnf-rs = %{version}-%{release}
Obsoletes: cnf-rs < %{version}-%{release}
-ExclusiveArch: %{rust_tier1_arches} %{arm}
+ExclusiveArch: %{rust_tier1_arches} %{arm} riscv64
%description
A libsolv based command-not-found handler for openSUSE.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mariadb for openSUSE:Factory checked in at 2023-12-05 17:01:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb (Old)
and /work/SRC/openSUSE:Factory/.mariadb.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb"
Tue Dec 5 17:01:12 2023 rev:135 rq:1130783 version:11.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb/mariadb.changes 2023-12-03 20:48:25.572923261 +0100
+++ /work/SRC/openSUSE:Factory/.mariadb.new.25432/mariadb.changes 2023-12-05 17:01:27.597263394 +0100
@@ -10,0 +11,18 @@
+Wed Nov 22 11:19:45 UTC 2023 - Danilo Spinella <oss(a)danyspin97.org>
+
+- Update to 11.2.2:
+ https://mariadb.com/kb/en/mariadb-11-2-2-release-notes/
+ https://mariadb.com/kb/en/mariadb-11-2-2-changelog/
+
+-------------------------------------------------------------------
+Mon Nov 20 12:16:52 UTC 2023 - Danilo Spinella <oss(a)danyspin97.org>
+
+- Update to 11.1.3:
+ https://mariadb.com/kb/en/mariadb-11-1-3-release-notes/
+ https://mariadb.com/kb/en/mariadb-11-1-3-changelog/
+ * fixes for the following security vulnerabilities:
+ 11.1.3: none
+- Refreshed patches:
+ * mariadb-10.4.12-fix-install-db.patch
+
+-------------------------------------------------------------------
Old:
----
mariadb-11.1.2.tar.gz
mariadb-11.1.2.tar.gz.asc
New:
----
mariadb-11.2.2.tar.gz
mariadb-11.2.2.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb.spec ++++++
--- /var/tmp/diff_new_pack.PMrni5/_old 2023-12-05 17:01:28.789307333 +0100
+++ /var/tmp/diff_new_pack.PMrni5/_new 2023-12-05 17:01:28.789307333 +0100
@@ -52,7 +52,7 @@
# Build with cracklib plugin when cracklib-dict-full >= 2.9.0 is available
%define with_cracklib_plugin 0
Name: mariadb
-Version: 11.1.2
+Version: 11.2.2
Release: 0
Summary: Server part of MariaDB
License: SUSE-GPL-2.0-with-FLOSS-exception
++++++ mariadb-10.4.12-fix-install-db.patch ++++++
--- /var/tmp/diff_new_pack.PMrni5/_old 2023-12-05 17:01:28.873310429 +0100
+++ /var/tmp/diff_new_pack.PMrni5/_new 2023-12-05 17:01:28.873310429 +0100
@@ -1,10 +1,10 @@
-Index: mariadb-10.4.12/scripts/mysql_install_db.sh
+Index: mariadb-10.4.32/scripts/mysql_install_db.sh
===================================================================
---- mariadb-10.4.12.orig/scripts/mysql_install_db.sh
-+++ mariadb-10.4.12/scripts/mysql_install_db.sh
-@@ -482,20 +482,22 @@ if test -n "$user"
+--- mariadb-10.4.32.orig/scripts/mysql_install_db.sh
++++ mariadb-10.4.32/scripts/mysql_install_db.sh
+@@ -494,20 +494,22 @@ if test -n "$user"
then
- if test -z "$srcdir" -a "$in_rpm" -eq 0
+ if test -z "$srcdir" -a "$in_rpm" -eq 0 -a -d "$pamtooldir/auth_pam_tool_dir"
then
- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++++++ mariadb-11.1.2.tar.gz -> mariadb-11.2.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/mariadb/mariadb-11.1.2.tar.gz /work/SRC/openSUSE:Factory/.mariadb.new.25432/mariadb-11.2.2.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 libnl3 for openSUSE:Factory checked in at 2023-12-05 17:01:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libnl3 (Old)
and /work/SRC/openSUSE:Factory/.libnl3.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnl3"
Tue Dec 5 17:01:10 2023 rev:40 rq:1130757 version:3.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libnl3/libnl3.changes 2023-08-30 10:20:25.356017886 +0200
+++ /work/SRC/openSUSE:Factory/.libnl3.new.25432/libnl3.changes 2023-12-05 17:01:22.801086605 +0100
@@ -1,0 +2,8 @@
+Mon Dec 4 12:40:08 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 3.9
+ * route/link: add bonding interface options set rtnl apis
+ * route: fix memleak in rtnl_act_parse()
+ * route/tc: avoid integer overflow in rtnl_tc_calc_cell_log()
+
+-------------------------------------------------------------------
Old:
----
libnl-3.8.0.tar.gz
libnl-3.8.0.tar.gz.sig
New:
----
libnl-3.9.0.tar.gz
libnl-3.9.0.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libnl3.spec ++++++
--- /var/tmp/diff_new_pack.fpKP48/_old 2023-12-05 17:01:23.885126563 +0100
+++ /var/tmp/diff_new_pack.fpKP48/_new 2023-12-05 17:01:23.885126563 +0100
@@ -19,8 +19,8 @@
Name: libnl3
%define lname libnl3-200
%define with_tools 1
-%define uver 3_8_0
-Version: 3.8.0
+%define uver 3_9_0
+Version: 3.9.0
Release: 0
Summary: Convenience library for working with Netlink sockets
License: GPL-2.0-only AND LGPL-2.1-only
++++++ libnl-3.8.0.tar.gz -> libnl-3.9.0.tar.gz ++++++
++++ 2266 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tcsh for openSUSE:Factory checked in at 2023-12-05 17:01:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tcsh (Old)
and /work/SRC/openSUSE:Factory/.tcsh.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tcsh"
Tue Dec 5 17:01:08 2023 rev:97 rq:1130750 version:6.24.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/tcsh/tcsh.changes 2023-10-20 23:17:13.607526315 +0200
+++ /work/SRC/openSUSE:Factory/.tcsh.new.25432/tcsh.changes 2023-12-05 17:01:19.860978231 +0100
@@ -1,0 +2,7 @@
+Mon Dec 4 12:19:00 UTC 2023 - Dr. Werner Fink <werner(a)suse.de>
+
+- Add patch tcsh-skip-utmp-service.dif
+ * There is currently no API avaible to replace the utmp/wtmp
+ based builtins watch and who of tcsh
+
+-------------------------------------------------------------------
New:
----
tcsh-skip-utmp-service.dif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tcsh.spec ++++++
--- /var/tmp/diff_new_pack.1SCcZX/_old 2023-12-05 17:01:20.657007573 +0100
+++ /var/tmp/diff_new_pack.1SCcZX/_new 2023-12-05 17:01:20.661007721 +0100
@@ -35,6 +35,7 @@
Patch4: tcsh-6.18.03-colorls.dif
Patch5: tcsh-6.17.06-dspmbyte.dif
Patch6: tcsh-6.18.03-catalogs.dif
+Patch7: tcsh-skip-utmp-service.dif
Patch8: tcsh-6.22.02-local-dotlock.dif
BuildRequires: autoconf
BuildRequires: fdupes
@@ -56,14 +57,17 @@
%prep
%setup -q
-%patch1 -b .pipe
-%patch2 -b .normcmd
-%patch3 -b .merge
-%patch4 -b .colorls
-%patch5 -b .dspmbyte
-%patch6 -b .catalogs
-%patch8 -p 0 -b .dotlock
-%patch0 -b .0
+%patch -P1 -b .pipe
+%patch -P2 -b .normcmd
+%patch -P3 -b .merge
+%patch -P4 -b .colorls
+%patch -P5 -b .dspmbyte
+%patch -P6 -b .catalogs
+%if 0%{?suse_version} >= 1699
+%patch -P7 -b .noutmp
+%endif
+%patch -P8 -p 0 -b .dotlock
+%patch -P0 -b .0
%build
@@ -95,10 +99,18 @@
}
CC=gcc
CFLAGS="%{optflags} -D_GNU_SOURCE -DBUFSIZE=8192 -pipe"
+%if 0%{?suse_version} >= 1699
+ #
+ # There is currently no API for using systemd logind
+ # for watch and who tcsh builtin.
+ #
+ CFLAGS="${CFLAGS} -DHAVENOUTMP"
+%endif
cflags -ftree-loop-linear CFLAGS
cflags -Wl,-O2 LDFLAGS
cflags -Wl,--as-needed LDFLAGS
export CC CFLAGS LDFLAGS
+
%ifarch %ix86
CPU=i586
%else
++++++ tcsh-skip-utmp-service.dif ++++++
---
tests/commands.at | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
--- tests/commands.at
+++ tests/commands.at 2023-12-04 12:21:56.688878232 +0000
@@ -980,16 +980,16 @@ dnl
dnl log
dnl
-AT_SETUP([log])
-AT_KEYWORDS([commands])
-
-AT_DATA([log.csh],
-[[set watch=(this_user_does_not_exist)
-log
-]])
-AT_CHECK([tcsh -f log.csh])
-
-AT_CLEANUP()
+dnl AT_SETUP([log])
+dnl AT_KEYWORDS([commands])
+dnl
+dnl AT_DATA([log.csh],
+dnl [[set watch=(this_user_does_not_exist)
+dnl log
+dnl ]])
+dnl AT_CHECK([tcsh -f log.csh])
+dnl
+dnl AT_CLEANUP()
dnl
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-regex for openSUSE:Factory checked in at 2023-12-05 17:01:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-regex (Old)
and /work/SRC/openSUSE:Factory/.python-regex.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-regex"
Tue Dec 5 17:01:06 2023 rev:24 rq:1130727 version:2023.10.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-regex/python-regex.changes 2023-09-07 21:12:40.565166048 +0200
+++ /work/SRC/openSUSE:Factory/.python-regex.new.25432/python-regex.changes 2023-12-05 17:01:17.084875903 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 11:37:39 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2023.10.10:
+ * Updated to Unicode 15.1.0.
+
+-------------------------------------------------------------------
Old:
----
regex-2023.8.8.tar.gz
New:
----
regex-2023.10.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-regex.spec ++++++
--- /var/tmp/diff_new_pack.O8VVNp/_old 2023-12-05 17:01:18.000909668 +0100
+++ /var/tmp/diff_new_pack.O8VVNp/_new 2023-12-05 17:01:18.004909816 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-regex
-Version: 2023.8.8
+Version: 2023.10.3
Release: 0
Summary: Alternative regular expression module for Python
License: Apache-2.0
++++++ regex-2023.8.8.tar.gz -> regex-2023.10.3.tar.gz ++++++
++++ 9438 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-typeguard for openSUSE:Factory checked in at 2023-12-05 17:01:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typeguard (Old)
and /work/SRC/openSUSE:Factory/.python-typeguard.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-typeguard"
Tue Dec 5 17:01:04 2023 rev:5 rq:1130725 version:4.1.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typeguard/python-typeguard.changes 2023-05-19 11:55:46.607350871 +0200
+++ /work/SRC/openSUSE:Factory/.python-typeguard.new.25432/python-typeguard.changes 2023-12-05 17:01:15.328811173 +0100
@@ -1,0 +2,43 @@
+Mon Dec 4 11:32:09 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 4.1.5:
+ * Fixed ``Callable`` erroneously rejecting a callable that has
+ the requested amount of positional arguments but they have
+ defaults
+ * Fixed a regression introduced in v4.1.4 where the elements of
+ ``Literal`` got quotes removed from them by the AST transformer
+ * Fixed ``AttributeError`` where the transformer removed
+ elements from a PEP 604 union
+ * Fixed ``AttributeError: 'Subscript' object has no attribute
+ 'slice'`` when encountering an annotation with a subscript
+ containing an ignored type
+ * Fixed type checking not being skipped when the target is a
+ union (PEP 604 or ``typing.Union``) where one of the elements
+ is an ignored type (shadowed by an argument, variable
+ assignment or an ``if TYPE_CHECKING`` import)
+ * Dropped Python 3.7 support
+ * Fixed ``@typechecked`` optimization causing compilation of
+ instrumented code to fail when any block was left empty by the
+ AST transformer (eg ``if`` or ``try`` / ``except`` blocks)
+ * Fixed placement of injected typeguard imports with respect to
+ ``__future__`` imports and module docstrings
+ * Fixed ``Any`` being removed from a subscript that still
+ contains other elements
+ * Fixed ``suppress_type_checks()`` causing annotated variable
+ assignments to always assign ``None``
+ * Added support for passing a tuple as ``expected_type`` to
+ ``check_type()``, making it more of a drop-in replacement for
+ ``isinstance()``
+ * Fixed regression where ``Literal`` inside a ``Union`` had
+ quotes stripped from its contents, thus typically causing
+ ``NameError`` to be raised when run
+ * Fixed handling of ``typing_extensions.Literal`` on Python 3.8
+ and 3.9 when ``typing_extensions>=4.6.0`` is installed
+ * Fixed ``NameError`` when generated type checking code
+ references an imported name from a method
+ * Fixed docstrings disappearing from instrumented functions
+ * Fixed ``@typechecked`` failing to instrument functions when
+ there are more than one function within the same scope
+ * Fixed ``frozenset`` not being checked
+
+-------------------------------------------------------------------
Old:
----
typeguard-4.0.0.tar.gz
New:
----
typeguard-4.1.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-typeguard.spec ++++++
--- /var/tmp/diff_new_pack.p4F1zy/_old 2023-12-05 17:01:16.236844644 +0100
+++ /var/tmp/diff_new_pack.p4F1zy/_new 2023-12-05 17:01:16.236844644 +0100
@@ -16,11 +16,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
%{?sle15_python_module_pythons}
Name: python-typeguard
-Version: 4.0.0
+Version: 4.1.5
Release: 0
Summary: Library for runtime checking of Python types
License: MIT
++++++ typeguard-4.0.0.tar.gz -> typeguard-4.1.5.tar.gz ++++++
++++ 1931 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Django for openSUSE:Factory checked in at 2023-12-05 17:00:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Django (Old)
and /work/SRC/openSUSE:Factory/.python-Django.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Django"
Tue Dec 5 17:00:57 2023 rev:111 rq:1130705 version:4.2.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Django/python-Django.changes 2023-11-27 22:42:22.839635014 +0100
+++ /work/SRC/openSUSE:Factory/.python-Django.new.25432/python-Django.changes 2023-12-05 17:01:05.980466589 +0100
@@ -1,0 +2,26 @@
+Mon Dec 4 10:21:00 UTC 2023 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Update to 4.2.8
+ * Fixed a regression in Django 4.2 that caused makemigrations
+ --check to stop displaying pending migrations
+ * Fixed a regression in Django 4.2 that caused a crash of
+ QuerySet.aggregate() with aggregates referencing other aggregates
+ or window functions through conditional expressions
+ * Fixed a regression in Django 4.2 that caused a crash when
+ annotating a QuerySet with a Window expressions composed of a
+ partition_by clause mixing field types and aggregation expressions
+ * Fixed a regression in Django 4.2 where the admin’s change list
+ page had misaligned pagination links and inputs when using
+ list_editable
+ * Fixed a regression in Django 4.2 where checkboxes in the admin
+ would be centered on narrower screen widths
+ * Fixed a regression in Django 4.2 that caused a crash of querysets
+ with aggregations on MariaDB when the ONLY_FULL_GROUP_BY SQL mode
+ was enabled
+ * Fixed a regression in Django 4.2 where the admin’s read-only
+ password widget and some help texts were incorrectly aligned at
+ tablet widths
+ * Fixed a regression in Django 4.2 that caused a migration crash on
+ SQLite when altering unsupported Meta.db_table_comment
+
+-------------------------------------------------------------------
Old:
----
Django-4.2.7.checksum.txt
Django-4.2.7.tar.gz
New:
----
Django-4.2.8.checksum.txt
Django-4.2.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Django.spec ++++++
--- /var/tmp/diff_new_pack.sKOuNK/_old 2023-12-05 17:01:07.928538395 +0100
+++ /var/tmp/diff_new_pack.sKOuNK/_new 2023-12-05 17:01:07.932538543 +0100
@@ -24,7 +24,7 @@
%{?sle15_python_module_pythons}
Name: python-Django
# We want support LTS versions of Django - numbered 2.2 -> 3.2 -> 4.2 etc
-Version: 4.2.7
+Version: 4.2.8
Release: 0
Summary: A high-level Python Web framework
License: BSD-3-Clause
++++++ Django-4.2.7.checksum.txt -> Django-4.2.8.checksum.txt ++++++
--- /work/SRC/openSUSE:Factory/python-Django/Django-4.2.7.checksum.txt 2023-11-02 20:20:52.126508519 +0100
+++ /work/SRC/openSUSE:Factory/.python-Django.new.25432/Django-4.2.8.checksum.txt 2023-12-05 17:01:05.480448158 +0100
@@ -2,7 +2,7 @@
Hash: SHA256
This file contains MD5, SHA1, and SHA256 checksums for the source-code
-tarball and wheel files of Django 4.2.7, released November 1, 2023.
+tarball and wheel files of Django 4.2.8, released December 4, 2023.
To use this file, you will need a working install of PGP or other
compatible public-key encryption software. You will also need to have
@@ -19,7 +19,7 @@
Once the key is imported, verify this file:
- gpg --verify Django-4.2.7.checksum.txt
+ gpg --verify Django-4.2.8.checksum.txt
Once you have verified this file, you can use normal MD5, SHA1, or SHA256
checksumming applications to generate the checksums of the Django
@@ -28,40 +28,40 @@
Release packages
================
-https://www.djangoproject.com/m/releases/4.2/Django-4.2.7-py3-none-any.whl
-https://www.djangoproject.com/m/releases/4.2/Django-4.2.7.tar.gz
+https://www.djangoproject.com/m/releases/4.2/Django-4.2.8.tar.gz
+https://www.djangoproject.com/m/releases/4.2/Django-4.2.8-py3-none-any.whl
MD5 checksums
=============
-3d2bb75adc0c3c3497328175b301e244 Django-4.2.7-py3-none-any.whl
-d7afe6a68b631725a1dac116a7832b10 Django-4.2.7.tar.gz
+0ed422916f3766e82382d07235ff2ea8 Django-4.2.8.tar.gz
+6fd694f0d0519e13138f78caaf1a1c22 Django-4.2.8-py3-none-any.whl
SHA1 checksums
==============
-22475d9310c1347aea02922b9d24ad6954b64db6 Django-4.2.7-py3-none-any.whl
-cbcd523fda130adc1f53e69c0796f697a1deb03e Django-4.2.7.tar.gz
+4d9242b7d638d6970629befd5383cd059c778bfa Django-4.2.8.tar.gz
+657878b8fac72b91505c61c642f5923be67c2b57 Django-4.2.8-py3-none-any.whl
SHA256 checksums
================
-e1d37c51ad26186de355cbcec16613ebdabfa9689bbade9c538835205a8abbe9 Django-4.2.7-py3-none-any.whl
-8e0f1c2c2786b5c0e39fe1afce24c926040fad47c8ea8ad30aaf1188df29fc41 Django-4.2.7.tar.gz
+d69d5e36cc5d9f4eb4872be36c622878afcdce94062716cf3e25bcedcb168b62 Django-4.2.8.tar.gz
+6cb5dcea9e3d12c47834d32156b8841f533a4493c688e2718cafd51aa430ba6d Django-4.2.8-py3-none-any.whl
-----BEGIN PGP SIGNATURE-----
-iQJPBAEBCAA5FiEEq7LCqM0B8WE2GLcNLvVjcrpIzRsFAmVB4LEbHGZlbGlzaWFr
-Lm1hcml1c3pAZ21haWwuY29tAAoJEC71Y3K6SM0bmnMQAJ71Ceq+KeNYJJSlPuT+
-dzfE0uzQdbNZzwctspqOZxvbpuTMCheO7Zs+PoqRL/gVI2DDOtvzf078R36UjzZ5
-orkH2728vFssXe6dtmTrHURQ/DpN7ZZbNNbXRGpaFbZpT1lt3skb3mjw5idh44zN
-e3W3IifE4ivlkHEIk1AncQdobow23FclWRFoGz8qd4XLqSteR2DmyjDahw/d+668
-Lk1Ef04xofJMF63IfkF7i98V6xrqF0Fn5+0X3wloTEUEbxnMyV0nZqM0EkOP0tYv
-77RGAFopypeAl4F/zBCVvCurA+NoPobuPJwPbmyHOog7L05g9J1V09JI/ATOUIxJ
-QogC0M0leOEM4vc/yBi2xk2qwvVoLW2zJSIdWctz+2jrcEWmFsIMTp5lInbe3RSd
-gsD4w8cfAujoWfBbGrnlNjfeafTYKi4SNbDo6AwduZyea/YKX3H89xk/41mazvod
-1SQvSbPp2FsCGDUcG89P9oCh4d9wUDrBkWCU/RymsVdG4zWI8eJkbdqGVwPweDgn
-09rVH0GmHEQec0VX3AWqg+yj6pROG1zdi+hp+s8neiWKdGFC72ag7Q3idnGcUvCD
-d3qIrHIWJ6SpQiVLIxaXhp50pcR7mw06wy4RFqExeQ/59m5PUz0BbX+KgGEAxZkx
-vUDPrMbeuUJkpNdYnEt8KYRI
-=6d/3
+iQJPBAEBCAA5FiEEq7LCqM0B8WE2GLcNLvVjcrpIzRsFAmVtjZ0bHGZlbGlzaWFr
+Lm1hcml1c3pAZ21haWwuY29tAAoJEC71Y3K6SM0b2SIP/iUuk7me2p7aFLqjHpm+
+FqyrT3rSWpOBAyBW4FW/wMmR0AArKW1er5YMr/jqM/w+JKbG0u0pcvs2i6Ns2o0y
+DLPq0Kx0+EzfmcCf72qTGX2/bsJZPwplZFFg3ROs7h3pkcbcUBNA+2xpi07rOZgf
++cWxakPAmtc+jgc2WtmcmCE3N2jVKg9+obwjQtOmj6P9Z1H+KSWBY/4okHHRefHf
+mu6Sd35qPyOlwVylfXNzwWcPJjVF2mdnkn9FKmFGwo+9G5ZH+at6CSNcMqUQmp5b
+Txo9JneUmJJslkEZ/ratC+eHkHsQZSv/jsU0Pf1pZLn2aLs5RMiL4BH8kiiwzx+O
+Hy/FeTpWD35M6j66TvegWbIdwwyHeRNq+UPbc6a4F2Mqsf9PmLM3vAMOzvNWo3Q+
+5z229huPH+kO/WN5ehEJ/2xxGnms7EJEQ5LsPkaxry4vX9Aky6+h5I6Fy/aEWvDQ
+tIbIasrjAVBqE+Gqr9imOteyomDPBFIcz9ZztIzdnO+QPe6vHnzp7Ue8nE+dRaPh
+vmJQ+mJJKspg/t39+EijTpDyYv/0Swyol+elrczduSZWzHj5Kxn/6xAslAlo5jGh
+YOv6FcWX/HXm5tHSYTna+EY2JQHwWMCqFnyU2gGcIT/Rxj13yytCj7FmSqEWhiMk
+wvqOzggmPX+OzNWBQLFxv3am
+=YGg7
-----END PGP SIGNATURE-----
++++++ Django-4.2.7.tar.gz -> Django-4.2.8.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-Django/Django-4.2.7.tar.gz /work/SRC/openSUSE:Factory/.python-Django.new.25432/Django-4.2.8.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package crun for openSUSE:Factory checked in at 2023-12-05 17:00:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crun (Old)
and /work/SRC/openSUSE:Factory/.crun.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crun"
Tue Dec 5 17:00:54 2023 rev:19 rq:1130688 version:1.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/crun/crun.changes 2023-11-16 20:27:12.437373331 +0100
+++ /work/SRC/openSUSE:Factory/.crun.new.25432/crun.changes 2023-12-05 17:01:01.560303659 +0100
@@ -1,0 +2,22 @@
+Fri Dec 1 13:41:35 UTC 2023 - Dan Čermák <dcermak(a)suse.com>
+
+- New upstream release 1.12:
+
+ * add new WebAssembly handler: spin.
+ * systemd: fallback to system bus if session bus is not available.
+ * configure the cpu rt and cpuset controllers before joining them to
+ avoid running temporarily the workload on the wrong cpus.
+ * preconfigure the cpuset with required resources instead of using the
+ parent's set. This prevents needless churn in the kernel as it
+ tracks which CPUs have load balancing disabled.
+ * try attr/<lsm>/* before the attr/* files. Writes to the attr/*
+ files may fail if apparmor is not the first "major" LSM in the list
+ of loaded LSMs (e.g. lsm=apparmor,bpf vs lsm=bpf,apparmor).
+
+- New upstream release 1.11.2:
+
+ * fix a regression caused by 1.11.1 where the process crashes if there
+ are no CPU limits configured on cgroup v1. (bsc#1217590)
+ * fix error code check for the ptsname_r function.
+
+-------------------------------------------------------------------
Old:
----
crun-1.11.1.tar.xz
crun-1.11.1.tar.xz.asc
New:
----
crun-1.12.tar.xz
crun-1.12.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crun.spec ++++++
--- /var/tmp/diff_new_pack.fAR1ZF/_old 2023-12-05 17:01:02.324331822 +0100
+++ /var/tmp/diff_new_pack.fAR1ZF/_new 2023-12-05 17:01:02.324331822 +0100
@@ -23,7 +23,7 @@
%endif
Name: crun
-Version: 1.11.1
+Version: 1.12
Release: 0
Summary: OCI runtime written in C
License: GPL-2.0-or-later
++++++ crun-1.11.1.tar.xz -> crun-1.12.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/.tarball-git-version.h new/crun-1.12/.tarball-git-version.h
--- old/crun-1.11.1/.tarball-git-version.h 2023-10-30 21:07:55.000000000 +0100
+++ new/crun-1.12/.tarball-git-version.h 2023-11-23 17:38:27.000000000 +0100
@@ -1,4 +1,4 @@
/* autogenerated. */
#ifndef GIT_VERSION
-# define GIT_VERSION "1084f9527c143699b593b44c23555fb3cc4ff2f3"
+# define GIT_VERSION "ce429cb2e277d001c2179df1ac66a470f00802ae"
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/.tarball-version new/crun-1.12/.tarball-version
--- old/crun-1.11.1/.tarball-version 2023-10-30 21:07:55.000000000 +0100
+++ new/crun-1.12/.tarball-version 2023-11-23 17:38:27.000000000 +0100
@@ -1 +1 @@
-1.11.1
+1.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/Makefile.am new/crun-1.12/Makefile.am
--- old/crun-1.11.1/Makefile.am 2023-10-19 11:15:59.000000000 +0200
+++ new/crun-1.12/Makefile.am 2023-11-23 17:37:16.000000000 +0100
@@ -51,6 +51,7 @@
src/libcrun/handlers/handler-utils.c \
src/libcrun/handlers/krun.c \
src/libcrun/handlers/mono.c \
+ src/libcrun/handlers/spin.c \
src/libcrun/handlers/wasmedge.c \
src/libcrun/handlers/wasmer.c \
src/libcrun/handlers/wasmtime.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/Makefile.in new/crun-1.12/Makefile.in
--- old/crun-1.11.1/Makefile.in 2023-10-30 21:07:26.000000000 +0100
+++ new/crun-1.12/Makefile.in 2023-11-23 17:37:51.000000000 +0100
@@ -179,6 +179,7 @@
src/libcrun/handlers/libcrun_testing_a-handler-utils.$(OBJEXT) \
src/libcrun/handlers/libcrun_testing_a-krun.$(OBJEXT) \
src/libcrun/handlers/libcrun_testing_a-mono.$(OBJEXT) \
+ src/libcrun/handlers/libcrun_testing_a-spin.$(OBJEXT) \
src/libcrun/handlers/libcrun_testing_a-wasmedge.$(OBJEXT) \
src/libcrun/handlers/libcrun_testing_a-wasmer.$(OBJEXT) \
src/libcrun/handlers/libcrun_testing_a-wasmtime.$(OBJEXT) \
@@ -213,6 +214,7 @@
src/libcrun/handlers/libcrun_la-handler-utils.lo \
src/libcrun/handlers/libcrun_la-krun.lo \
src/libcrun/handlers/libcrun_la-mono.lo \
+ src/libcrun/handlers/libcrun_la-spin.lo \
src/libcrun/handlers/libcrun_la-wasmedge.lo \
src/libcrun/handlers/libcrun_la-wasmer.lo \
src/libcrun/handlers/libcrun_la-wasmtime.lo \
@@ -399,12 +401,14 @@
src/libcrun/handlers/$(DEPDIR)/libcrun_la-handler-utils.Plo \
src/libcrun/handlers/$(DEPDIR)/libcrun_la-krun.Plo \
src/libcrun/handlers/$(DEPDIR)/libcrun_la-mono.Plo \
+ src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Plo \
src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Plo \
src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmer.Plo \
src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmtime.Plo \
src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-handler-utils.Po \
src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-krun.Po \
src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-mono.Po \
+ src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Po \
src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Po \
src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmer.Po \
src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmtime.Po \
@@ -905,6 +909,7 @@
src/libcrun/handlers/handler-utils.c \
src/libcrun/handlers/krun.c \
src/libcrun/handlers/mono.c \
+ src/libcrun/handlers/spin.c \
src/libcrun/handlers/wasmedge.c \
src/libcrun/handlers/wasmer.c \
src/libcrun/handlers/wasmtime.c \
@@ -1319,6 +1324,9 @@
src/libcrun/handlers/libcrun_testing_a-mono.$(OBJEXT): \
src/libcrun/handlers/$(am__dirstamp) \
src/libcrun/handlers/$(DEPDIR)/$(am__dirstamp)
+src/libcrun/handlers/libcrun_testing_a-spin.$(OBJEXT): \
+ src/libcrun/handlers/$(am__dirstamp) \
+ src/libcrun/handlers/$(DEPDIR)/$(am__dirstamp)
src/libcrun/handlers/libcrun_testing_a-wasmedge.$(OBJEXT): \
src/libcrun/handlers/$(am__dirstamp) \
src/libcrun/handlers/$(DEPDIR)/$(am__dirstamp)
@@ -1403,6 +1411,9 @@
src/libcrun/handlers/libcrun_la-mono.lo: \
src/libcrun/handlers/$(am__dirstamp) \
src/libcrun/handlers/$(DEPDIR)/$(am__dirstamp)
+src/libcrun/handlers/libcrun_la-spin.lo: \
+ src/libcrun/handlers/$(am__dirstamp) \
+ src/libcrun/handlers/$(DEPDIR)/$(am__dirstamp)
src/libcrun/handlers/libcrun_la-wasmedge.lo: \
src/libcrun/handlers/$(am__dirstamp) \
src/libcrun/handlers/$(DEPDIR)/$(am__dirstamp)
@@ -1627,12 +1638,14 @@
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-handler-utils.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-krun.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-mono.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmer.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmtime.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-handler-utils.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-krun.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-mono.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmer.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmtime.Po@am__quote@ # am--include-marker
@@ -1910,6 +1923,20 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_testing_a_CFLAGS) $(CFLAGS) -c -o src/libcrun/handlers/libcrun_testing_a-mono.obj `if test -f 'src/libcrun/handlers/mono.c'; then $(CYGPATH_W) 'src/libcrun/handlers/mono.c'; else $(CYGPATH_W) '$(srcdir)/src/libcrun/handlers/mono.c'; fi`
+src/libcrun/handlers/libcrun_testing_a-spin.o: src/libcrun/handlers/spin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_testing_a_CFLAGS) $(CFLAGS) -MT src/libcrun/handlers/libcrun_testing_a-spin.o -MD -MP -MF src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Tpo -c -o src/libcrun/handlers/libcrun_testing_a-spin.o `test -f 'src/libcrun/handlers/spin.c' || echo '$(srcdir)/'`src/libcrun/handlers/spin.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Tpo src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libcrun/handlers/spin.c' object='src/libcrun/handlers/libcrun_testing_a-spin.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_testing_a_CFLAGS) $(CFLAGS) -c -o src/libcrun/handlers/libcrun_testing_a-spin.o `test -f 'src/libcrun/handlers/spin.c' || echo '$(srcdir)/'`src/libcrun/handlers/spin.c
+
+src/libcrun/handlers/libcrun_testing_a-spin.obj: src/libcrun/handlers/spin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_testing_a_CFLAGS) $(CFLAGS) -MT src/libcrun/handlers/libcrun_testing_a-spin.obj -MD -MP -MF src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Tpo -c -o src/libcrun/handlers/libcrun_testing_a-spin.obj `if test -f 'src/libcrun/handlers/spin.c'; then $(CYGPATH_W) 'src/libcrun/handlers/spin.c'; else $(CYGPATH_W) '$(srcdir)/src/libcrun/handlers/spin.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Tpo src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libcrun/handlers/spin.c' object='src/libcrun/handlers/libcrun_testing_a-spin.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_testing_a_CFLAGS) $(CFLAGS) -c -o src/libcrun/handlers/libcrun_testing_a-spin.obj `if test -f 'src/libcrun/handlers/spin.c'; then $(CYGPATH_W) 'src/libcrun/handlers/spin.c'; else $(CYGPATH_W) '$(srcdir)/src/libcrun/handlers/spin.c'; fi`
+
src/libcrun/handlers/libcrun_testing_a-wasmedge.o: src/libcrun/handlers/wasmedge.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_testing_a_CFLAGS) $(CFLAGS) -MT src/libcrun/handlers/libcrun_testing_a-wasmedge.o -MD -MP -MF src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Tpo -c -o src/libcrun/handlers/libcrun_testing_a-wasmedge.o `test -f 'src/libcrun/handlers/wasmedge.c' || echo '$(srcdir)/'`src/libcrun/handlers/wasmedge.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Tpo src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Po
@@ -2211,6 +2238,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_la_CFLAGS) $(CFLAGS) -c -o src/libcrun/handlers/libcrun_la-mono.lo `test -f 'src/libcrun/handlers/mono.c' || echo '$(srcdir)/'`src/libcrun/handlers/mono.c
+src/libcrun/handlers/libcrun_la-spin.lo: src/libcrun/handlers/spin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_la_CFLAGS) $(CFLAGS) -MT src/libcrun/handlers/libcrun_la-spin.lo -MD -MP -MF src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Tpo -c -o src/libcrun/handlers/libcrun_la-spin.lo `test -f 'src/libcrun/handlers/spin.c' || echo '$(srcdir)/'`src/libcrun/handlers/spin.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Tpo src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libcrun/handlers/spin.c' object='src/libcrun/handlers/libcrun_la-spin.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_la_CFLAGS) $(CFLAGS) -c -o src/libcrun/handlers/libcrun_la-spin.lo `test -f 'src/libcrun/handlers/spin.c' || echo '$(srcdir)/'`src/libcrun/handlers/spin.c
+
src/libcrun/handlers/libcrun_la-wasmedge.lo: src/libcrun/handlers/wasmedge.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcrun_la_CFLAGS) $(CFLAGS) -MT src/libcrun/handlers/libcrun_la-wasmedge.lo -MD -MP -MF src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Tpo -c -o src/libcrun/handlers/libcrun_la-wasmedge.lo `test -f 'src/libcrun/handlers/wasmedge.c' || echo '$(srcdir)/'`src/libcrun/handlers/wasmedge.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Tpo src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Plo
@@ -3302,12 +3336,14 @@
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-handler-utils.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-krun.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-mono.Plo
+ -rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmer.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmtime.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-handler-utils.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-krun.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-mono.Po
+ -rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmer.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmtime.Po
@@ -3435,12 +3471,14 @@
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-handler-utils.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-krun.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-mono.Plo
+ -rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-spin.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmedge.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmer.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_la-wasmtime.Plo
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-handler-utils.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-krun.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-mono.Po
+ -rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-spin.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmedge.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmer.Po
-rm -f src/libcrun/handlers/$(DEPDIR)/libcrun_testing_a-wasmtime.Po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/NEWS new/crun-1.12/NEWS
--- old/crun-1.11.1/NEWS 2023-10-30 21:06:54.000000000 +0100
+++ new/crun-1.12/NEWS 2023-11-23 17:37:16.000000000 +0100
@@ -1,3 +1,22 @@
+* crun-1.12
+
+- add new WebAssembly handler: spin.
+- systemd: fallback to system bus if session bus is not available.
+- configure the cpu rt and cpuset controllers before joining them to
+ avoid running temporarily the workload on the wrong cpus.
+- preconfigure the cpuset with required resources instead of using the
+ parent's set. This prevents needless churn in the kernel as it
+ tracks which CPUs have load balancing disabled.
+- try attr/<lsm>/* before the attr/* files. Writes to the attr/*
+ files may fail if apparmor is not the first "major" LSM in the list
+ of loaded LSMs (e.g. lsm=apparmor,bpf vs lsm=bpf,apparmor).
+
+* crun-1.11.2
+
+- fix a regression caused by 1.11.1 where the process crashes if there
+ are no CPU limits configured on cgroup v1.
+- fix error code check for the ptsname_r function.
+
* crun-1.11.1
- force a remount operation with bind mounts from the host to correctly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/README.md new/crun-1.12/README.md
--- old/crun-1.11.1/README.md 2023-03-21 15:02:56.000000000 +0100
+++ new/crun-1.12/README.md 2023-11-23 17:37:16.000000000 +0100
@@ -144,7 +144,7 @@
It is possible to build a statically linked binary of crun by using the
officially provided
-[nix](https://nixos.org/nixos/packages.html?attr=crun&channel=nixpkgs-unstable&query=crun)
+[nix](https://nixos.org/nixos/packages.html?attr=crun&channel=unstable&query=crun)
package and the derivation of it [within this repository](nix/). The
builds are completely reproducible and will create a x86\_64/amd64
stripped ELF binary for [glibc](https://www.gnu.org/software/libc).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/config.h.in new/crun-1.12/config.h.in
--- old/crun-1.11.1/config.h.in 2023-10-30 21:07:25.000000000 +0100
+++ new/crun-1.12/config.h.in 2023-11-23 17:37:49.000000000 +0100
@@ -108,6 +108,9 @@
/* Define to 1 if you have the <seccomp.h> header file. */
#undef HAVE_SECCOMP_H
+/* Define if spin is available */
+#undef HAVE_SPIN
+
/* Define to 1 if you have the `statx' function. */
#undef HAVE_STATX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/configure new/crun-1.12/configure
--- old/crun-1.11.1/configure 2023-10-30 21:07:24.000000000 +0100
+++ new/crun-1.12/configure 2023-11-23 17:37:49.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for crun 1.11.1.
+# Generated by GNU Autoconf 2.69 for crun 1.12.
#
# Report bugs to <giuseppe(a)scrivano.org>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='crun'
PACKAGE_TARNAME='crun'
-PACKAGE_VERSION='1.11.1'
-PACKAGE_STRING='crun 1.11.1'
+PACKAGE_VERSION='1.12'
+PACKAGE_STRING='crun 1.12'
PACKAGE_BUGREPORT='giuseppe(a)scrivano.org'
PACKAGE_URL=''
@@ -845,6 +845,7 @@
with_wasmtime
with_wasmedge
with_libkrun
+with_spin
enable_seccomp
enable_systemd
enable_bpf
@@ -1430,7 +1431,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures crun 1.11.1 to adapt to many kinds of systems.
+\`configure' configures crun 1.12 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1501,7 +1502,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of crun 1.11.1:";;
+ short | recursive ) echo "Configuration of crun 1.12:";;
esac
cat <<\_ACEOF
@@ -1555,6 +1556,7 @@
--with-wasmtime build with wasmtime support
--with-wasmedge build with WasmEdge support
--with-libkrun build with libkrun support
+ --with-spin build with spin support
--with-python-bindings build the Python bindings
--with-lua-bindings build the Lua bindings
@@ -1660,7 +1662,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-crun configure 1.11.1
+crun configure 1.12
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2266,7 +2268,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by crun $as_me 1.11.1, which was
+It was created by crun $as_me 1.12, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -12118,7 +12120,7 @@
# Define the identity of the package.
PACKAGE='crun'
- VERSION='1.11.1'
+ VERSION='1.12'
cat >>confdefs.h <<_ACEOF
@@ -14372,6 +14374,18 @@
+# Check whether --with-spin was given.
+if test "${with_spin+set}" = set; then :
+ withval=$with_spin;
+fi
+
+if test "x$with_spin" = "xyes"; then :
+
+$as_echo "#define HAVE_SPIN 1" >>confdefs.h
+
+fi
+
+
# Check whether --enable-seccomp was given.
if test "${enable_seccomp+set}" = set; then :
enableval=$enable_seccomp;
@@ -16705,7 +16719,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by crun $as_me 1.11.1, which was
+This file was extended by crun $as_me 1.12, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16771,7 +16785,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-crun config.status 1.11.1
+crun config.status 1.12
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/configure.ac new/crun-1.12/configure.ac
--- old/crun-1.11.1/configure.ac 2023-09-27 22:33:35.000000000 +0200
+++ new/crun-1.12/configure.ac 2023-11-23 17:37:16.000000000 +0100
@@ -132,6 +132,10 @@
AM_CONDITIONAL([ENABLE_KRUN], [test "x$with_libkrun" = xyes])
+dnl include support for spin (EXPERIMENTAL)
+AC_ARG_WITH([spin], AS_HELP_STRING([--with-spin], [build with spin support]))
+AS_IF([test "x$with_spin" = "xyes"], AC_DEFINE([HAVE_SPIN], 1, [Define if spin is available]))
+
dnl libseccomp
AC_ARG_ENABLE([seccomp],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/cgroup-internal.h new/crun-1.12/src/libcrun/cgroup-internal.h
--- old/crun-1.11.1/src/libcrun/cgroup-internal.h 2023-10-26 16:46:50.000000000 +0200
+++ new/crun-1.12/src/libcrun/cgroup-internal.h 2023-11-23 17:37:16.000000000 +0100
@@ -81,6 +81,7 @@
}
int initialize_cpuset_subsystem (const char *path, libcrun_error_t *err);
+int initialize_cpuset_subsystem_resources (const char *path, runtime_spec_schema_config_linux_resources *resources, libcrun_error_t *err);
int write_cpuset_resources (int dirfd_cpuset, int cgroup2, runtime_spec_schema_config_linux_resources_cpu *cpu, libcrun_error_t *err);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/cgroup-resources.c new/crun-1.12/src/libcrun/cgroup-resources.c
--- old/crun-1.11.1/src/libcrun/cgroup-resources.c 2023-10-26 16:46:50.000000000 +0200
+++ new/crun-1.12/src/libcrun/cgroup-resources.c 2023-11-07 13:17:29.000000000 +0100
@@ -1037,6 +1037,9 @@
{
int ret;
+ if (cpu == NULL)
+ return 0;
+
if (cpu->cpus)
{
ret = write_file_and_check_controllers_at (cgroup2, dirfd_cpuset, "cpuset.cpus", "cpus",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/cgroup-setup.c new/crun-1.12/src/libcrun/cgroup-setup.c
--- old/crun-1.11.1/src/libcrun/cgroup-setup.c 2023-10-26 16:46:50.000000000 +0200
+++ new/crun-1.12/src/libcrun/cgroup-setup.c 2023-11-23 17:37:16.000000000 +0100
@@ -40,7 +40,7 @@
#include <libgen.h>
static int
-initialize_cpuset_subsystem_rec (char *path, size_t path_len, char *cpus, char *mems, libcrun_error_t *err)
+initialize_cpuset_subsystem_rec (char *path, size_t path_len, char *cpus, char *mems, runtime_spec_schema_config_linux_resources *resources, libcrun_error_t *err)
{
cleanup_close int dirfd = -1;
cleanup_close int mems_fd = -1;
@@ -95,7 +95,7 @@
return 0;
path[parent_path_len] = '\0';
- ret = initialize_cpuset_subsystem_rec (path, parent_path_len, cpus, mems, err);
+ ret = initialize_cpuset_subsystem_rec (path, parent_path_len, cpus, mems, resources, err);
path[parent_path_len] = '/';
if (UNLIKELY (ret < 0))
{
@@ -104,6 +104,15 @@
}
}
+ /* If we know the resources, use them, instead of initializing with the full set, only to revert it later. */
+ if (resources && resources->cpu)
+ {
+ if (resources->cpu->cpus)
+ cpus = xstrdup (resources->cpu->cpus);
+ if (resources->cpu->mems)
+ mems = xstrdup (resources->cpu->mems);
+ }
+
if (cpus_fd >= 0)
{
b_len = TEMP_FAILURE_RETRY (write (cpus_fd, cpus, strlen (cpus)));
@@ -129,7 +138,18 @@
char mems_buf[257];
cpus_buf[0] = mems_buf[0] = '\0';
- return initialize_cpuset_subsystem_rec (tmp_path, strlen (tmp_path), cpus_buf, mems_buf, err);
+ return initialize_cpuset_subsystem_rec (tmp_path, strlen (tmp_path), cpus_buf, mems_buf, NULL, err);
+}
+
+int
+initialize_cpuset_subsystem_resources (const char *path, runtime_spec_schema_config_linux_resources *resources, libcrun_error_t *err)
+{
+ cleanup_free char *tmp_path = xstrdup (path);
+ char cpus_buf[257];
+ char mems_buf[257];
+
+ cpus_buf[0] = mems_buf[0] = '\0';
+ return initialize_cpuset_subsystem_rec (tmp_path, strlen (tmp_path), cpus_buf, mems_buf, resources, err);
}
static int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/cgroup-systemd.c new/crun-1.12/src/libcrun/cgroup-systemd.c
--- old/crun-1.11.1/src/libcrun/cgroup-systemd.c 2023-10-26 16:46:50.000000000 +0200
+++ new/crun-1.12/src/libcrun/cgroup-systemd.c 2023-11-23 17:37:16.000000000 +0100
@@ -160,6 +160,10 @@
if (UNLIKELY (ret < 0))
return ret;
+ ret = crun_ensure_directory (cgroup_path, 0755, true, err);
+ if (UNLIKELY (ret < 0))
+ return ret;
+
dirfd = open (cgroup_path, O_DIRECTORY | O_CLOEXEC);
if (UNLIKELY (dirfd < 0))
return crun_make_error (err, errno, "open `%s`", cgroup_path);
@@ -244,7 +248,11 @@
if (UNLIKELY (ret < 0))
return ret;
- ret = initialize_cpuset_subsystem (cgroup_path, err);
+ ret = crun_ensure_directory (cgroup_path, 0755, true, err);
+ if (UNLIKELY (ret < 0))
+ return ret;
+
+ ret = initialize_cpuset_subsystem_resources (cgroup_path, resources, err);
if (UNLIKELY (ret < 0))
return ret;
@@ -320,6 +328,14 @@
if (geteuid ())
return 0;
+ ret = setup_rt_runtime (resources, path, err);
+ if (UNLIKELY (ret < 0))
+ return ret;
+
+ ret = setup_cpuset_for_systemd_v1 (resources, path, err);
+ if (UNLIKELY (ret < 0))
+ return ret;
+
for (from = strtok_r (content, "\n", &saveptr); from; from = strtok_r (NULL, "\n", &saveptr))
{
char *subpath, *subsystem;
@@ -351,14 +367,6 @@
}
}
- ret = setup_rt_runtime (resources, path, err);
- if (UNLIKELY (ret < 0))
- return ret;
-
- ret = setup_cpuset_for_systemd_v1 (resources, path, err);
- if (UNLIKELY (ret < 0))
- return ret;
-
break;
case CGROUP_MODE_UNIFIED:
@@ -746,7 +754,7 @@
open_sd_bus_connection (sd_bus **bus, libcrun_error_t *err)
{
int rootless;
- int sd_err;
+ int sd_err = 0;
rootless = is_rootless (err);
if (UNLIKELY (rootless < 0))
@@ -754,7 +762,7 @@
if (rootless)
sd_err = sd_bus_default_user (bus);
- else
+ if (! rootless || sd_err < 0)
sd_err = sd_bus_default_system (bus);
if (sd_err < 0)
return crun_make_error (err, -sd_err, "cannot open sd-bus");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/cloned_binary.c new/crun-1.12/src/libcrun/cloned_binary.c
--- old/crun-1.11.1/src/libcrun/cloned_binary.c 2023-03-21 15:02:56.000000000 +0100
+++ new/crun-1.12/src/libcrun/cloned_binary.c 2023-11-07 13:17:29.000000000 +0100
@@ -119,7 +119,7 @@
* Is the binary a fully-sealed memfd? We don't need CLONED_BINARY_ENV for
* this, because you cannot write to a sealed memfd no matter what (so
* sharing it isn't a bad thing -- and an admin could bind-mount a sealed
- * memfd to /usr/bin/crun to allow re-use).
+ * memfd to /usr/bin/crun to allow reuse).
*/
ret = fcntl(fd, F_GET_SEALS);
if (ret >= 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/container.c new/crun-1.12/src/libcrun/container.c
--- old/crun-1.11.1/src/libcrun/container.c 2023-10-19 11:15:59.000000000 +0200
+++ new/crun-1.12/src/libcrun/container.c 2023-11-23 17:37:16.000000000 +0100
@@ -3925,8 +3925,10 @@
// Populate namespaces
populate_array_field (&((*info)->linux.namespaces), namespaces, num_namspaces);
+#ifdef HAVE_CAP
// Populate capabilities
populate_capabilities (*info, &capabilities, &num_capabilities);
+#endif
// Hardcode the values for cgroup
(*info)->linux.cgroup.v1 = true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/container.h new/crun-1.12/src/libcrun/container.h
--- old/crun-1.11.1/src/libcrun/container.h 2023-10-19 11:15:59.000000000 +0200
+++ new/crun-1.12/src/libcrun/container.h 2023-11-23 17:37:16.000000000 +0100
@@ -300,10 +300,12 @@
cleanup_struct_features_free (struct features_info_s **info)
{
size_t i;
- struct features_info_s *ptr = *info;
+ struct features_info_s *ptr;
if (info == NULL || *info == NULL)
return;
+ ptr = *info;
+
// Free oci_version_min if it is not NULL
if (ptr->oci_version_min != NULL)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/custom-handler.c new/crun-1.12/src/libcrun/custom-handler.c
--- old/crun-1.11.1/src/libcrun/custom-handler.c 2023-09-26 16:45:32.000000000 +0200
+++ new/crun-1.12/src/libcrun/custom-handler.c 2023-11-23 17:37:16.000000000 +0100
@@ -48,6 +48,9 @@
#if HAVE_DLOPEN && HAVE_MONO
extern struct custom_handler_s handler_mono;
#endif
+#if HAVE_DLOPEN && HAVE_SPIN
+extern struct custom_handler_s handler_spin;
+#endif
static struct custom_handler_s *static_handlers[] = {
#if HAVE_DLOPEN && HAVE_LIBKRUN
@@ -65,6 +68,9 @@
#if HAVE_DLOPEN && HAVE_MONO
&handler_mono,
#endif
+#if HAVE_DLOPEN && HAVE_SPIN
+ &handler_spin,
+#endif
NULL,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/handlers/spin.c new/crun-1.12/src/libcrun/handlers/spin.c
--- old/crun-1.11.1/src/libcrun/handlers/spin.c 1970-01-01 01:00:00.000000000 +0100
+++ new/crun-1.12/src/libcrun/handlers/spin.c 2023-11-23 17:37:16.000000000 +0100
@@ -0,0 +1,121 @@
+/*
+ * crun - OCI runtime written in C
+ *
+ * Copyright (C) 2023 Sven Pfennig <s.pfennig(a)reply.de>
+ * crun is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * crun is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with crun. If not, see <http://www.gnu.org/licenses/>.
+ */
+#define _GNU_SOURCE
+
+#include <config.h>
+#include "../custom-handler.h"
+#include "../linux.h"
+#include <sys/stat.h>
+
+#ifdef HAVE_DLOPEN
+# include <dlfcn.h>
+#endif
+
+#ifdef HAVE_SPIN
+
+#endif
+
+#if HAVE_DLOPEN && HAVE_SPIN
+static int
+spin_exec (void *cookie arg_unused, libcrun_container_t *container arg_unused,
+ const char *pathname arg_unused, char *const argv[] arg_unused)
+{
+ // wasmtime fails to determine default config path if $HOME is not set
+ char *newenviron[] = { "HOME=/root", NULL };
+ char *newargv[] = { "/bin/spin", "up", "--listen", "0.0.0.0:80", NULL };
+
+ // spin up needs a /tmp folder
+ int dir_result = mkdir ("/tmp", 0777);
+ if (dir_result != 0 && errno != EEXIST)
+ {
+ error (EXIT_FAILURE, errno, "failed to execute mkdir `/tmp`");
+ }
+
+ execve (newargv[0], newargv, newenviron);
+ perror ("execve");
+ exit (EXIT_FAILURE);
+}
+
+static int
+spin_load (void **cookie, libcrun_error_t *err)
+{
+ struct stat st = { 0 };
+ if (stat ("/usr/local/bin/spin", &st) == -1)
+ {
+ return crun_make_error (err, 0, "Could not find statically linked spin cli at `/usr/local/bin/spin` on host file system");
+ }
+ return 0;
+}
+
+static int
+spin_configure_container (void *cookie arg_unused, enum handler_configure_phase phase,
+ libcrun_context_t *context arg_unused, libcrun_container_t *container,
+ const char *rootfs arg_unused, libcrun_error_t *err)
+{
+ int ret;
+ if (phase != HANDLER_CONFIGURE_MOUNTS)
+ return 0;
+
+ char *options[] = {
+ "ro",
+ "rprivate",
+ "nosuid",
+ "nodev",
+ "rbind"
+ };
+
+ ret = libcrun_container_do_bind_mount (container, "/usr/local/bin/spin", "/bin/spin", options, 5, err);
+ if (ret != 0)
+ return ret;
+
+ /* release any error if set since we are going to be returning from here */
+ crun_error_release (err);
+
+ return 0;
+}
+
+static int
+spin_unload (void *cookie, libcrun_error_t *err)
+{
+ return 0;
+}
+
+static int
+spin_can_handle_container (libcrun_container_t *container, libcrun_error_t *err arg_unused)
+{
+ const char *entrypoint_executable;
+
+ if (container->container_def->process == NULL || container->container_def->process->args == NULL)
+ return 0;
+
+ entrypoint_executable = container->container_def->process->args[0];
+ return strcmp (entrypoint_executable, "/") ? 0 : 1;
+}
+
+struct custom_handler_s handler_spin = {
+ .name = "spin",
+ .alias = NULL,
+ .feature_string = "WASM:spin",
+ .load = spin_load,
+ .unload = spin_unload,
+ .run_func = spin_exec,
+ .can_handle_container = spin_can_handle_container,
+ .configure_container = spin_configure_container,
+};
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/linux.c new/crun-1.12/src/libcrun/linux.c
--- old/crun-1.11.1/src/libcrun/linux.c 2023-10-30 21:06:54.000000000 +0100
+++ new/crun-1.12/src/libcrun/linux.c 2023-11-07 13:17:29.000000000 +0100
@@ -3086,7 +3086,7 @@
return 0;
}
-#define CAP_TO_MASK_0(x) (1L << ((x) &31))
+#define CAP_TO_MASK_0(x) (1L << ((x) & 31))
#define CAP_TO_MASK_1(x) CAP_TO_MASK_0 (x - 32)
struct all_caps_s
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/terminal.c new/crun-1.12/src/libcrun/terminal.c
--- old/crun-1.11.1/src/libcrun/terminal.c 2023-09-26 16:45:32.000000000 +0200
+++ new/crun-1.12/src/libcrun/terminal.c 2023-11-07 13:17:29.000000000 +0100
@@ -46,7 +46,7 @@
return crun_make_error (err, errno, "open `/dev/ptmx`");
ret = ptsname_r (fd, buf, sizeof (buf));
- if (UNLIKELY (ret < 0))
+ if (UNLIKELY (ret != 0))
return crun_make_error (err, errno, "ptsname");
ret = unlockpt (fd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crun-1.11.1/src/libcrun/utils.c new/crun-1.12/src/libcrun/utils.c
--- old/crun-1.11.1/src/libcrun/utils.c 2023-10-19 11:15:59.000000000 +0200
+++ new/crun-1.12/src/libcrun/utils.c 2023-11-23 17:37:16.000000000 +0100
@@ -40,7 +40,6 @@
#include <sys/vfs.h>
#include <linux/magic.h>
#include <limits.h>
-#include <stdarg.h>
#include <sys/mman.h>
#ifdef HAVE_LINUX_OPENAT2_H
# include <linux/openat2.h>
@@ -821,27 +820,53 @@
}
static int
-write_file_and_check_fs_type (const char *file, const char *data, size_t len, unsigned int type, const char *type_name,
- libcrun_error_t *err)
+set_security_attr (const char *lsm, const char *fname, const char *data, libcrun_error_t *err)
{
int ret;
struct statfs sfs;
+
+ cleanup_close int attr_dirfd = -1;
+ cleanup_close int lsm_dirfd = -1;
cleanup_close int fd = -1;
- fd = open (file, O_WRONLY | O_CLOEXEC);
+ attr_dirfd = open ("/proc/thread-self/attr", O_DIRECTORY | O_RDONLY | O_CLOEXEC);
+ if (UNLIKELY (attr_dirfd < 0))
+ return crun_make_error (err, errno, "open `/proc/thread-self/attr`");
+
+ // Check for newer scoped interface in /proc/thread-self/attr/<lsm>
+ if (lsm != NULL)
+ {
+ lsm_dirfd = openat (attr_dirfd, lsm, O_DIRECTORY | O_RDONLY | O_CLOEXEC);
+
+ if (UNLIKELY (lsm_dirfd < 0 && errno != ENOENT))
+ return crun_make_error (err, errno, "open `/proc/thread-self/attr/%s`", lsm);
+ }
+
+ // Use scoped interface if available, fall back to unscoped
+ if (lsm_dirfd >= 0)
+ fd = openat (lsm_dirfd, fname, O_WRONLY | O_CLOEXEC);
+ else
+ fd = openat (attr_dirfd, fname, O_WRONLY | O_CLOEXEC);
+
if (UNLIKELY (fd < 0))
- return crun_make_error (err, errno, "open file `%s`", file);
+ return crun_make_error (err, errno, "open `/proc/thread-self/attr/%s%s%s`",
+ lsm_dirfd >= 0 ? lsm : "", lsm_dirfd >= 0 ? "/" : "", fname);
+ // Check that the file system type is indeed procfs
ret = fstatfs (fd, &sfs);
if (UNLIKELY (ret < 0))
- return crun_make_error (err, errno, "statfs `%s`", file);
+ return crun_make_error (err, errno, "statfs `/proc/thread-self/attr/%s%s%s`",
+ lsm_dirfd >= 0 ? lsm : "", lsm_dirfd >= 0 ? "/" : "", fname);
- if (sfs.f_type != type)
- return crun_make_error (err, 0, "the file `%s` is not on file system type `%s`", file, type_name);
+ if (sfs.f_type != PROC_SUPER_MAGIC)
+ return crun_make_error (err, 0, "the file `/proc/thread-self/attr/%s%s%s` is not on a `procfs` file system",
+ lsm_dirfd >= 0 ? lsm : "", lsm_dirfd >= 0 ? "/" : "", fname);
- ret = TEMP_FAILURE_RETRY (write (fd, data, len));
+ // Write out data
+ ret = TEMP_FAILURE_RETRY (write (fd, data, strlen (data)));
if (UNLIKELY (ret < 0))
- return crun_make_error (err, errno, "write file `%s`", file);
+ return crun_make_error (err, errno, "write file `/proc/thread-self/attr/%s%s%s`",
+ lsm_dirfd >= 0 ? lsm : "", lsm_dirfd >= 0 ? "/" : "", fname);
return 0;
}
@@ -856,14 +881,7 @@
return ret;
if (ret)
- {
- const char *fname = now ? "/proc/thread-self/attr/current" : "/proc/thread-self/attr/exec";
- ret = write_file_and_check_fs_type (fname, label,
- strlen (label), PROC_SUPER_MAGIC,
- "procfs", err);
- if (UNLIKELY (ret < 0))
- return ret;
- }
+ return set_security_attr (NULL, now ? "current" : "exec", label, err);
return 0;
}
@@ -883,17 +901,14 @@
ret = libcrun_is_apparmor_enabled (err);
if (UNLIKELY (ret < 0))
return ret;
+
if (ret)
{
- const char *fname = now ? "/proc/thread-self/attr/current" : "/proc/thread-self/attr/exec";
cleanup_free char *buf = NULL;
xasprintf (&buf, "%s %s", now ? "changeprofile" : "exec", profile);
- ret = write_file_and_check_fs_type (fname, buf, strlen (buf), PROC_SUPER_MAGIC, "procfs",
- err);
- if (UNLIKELY (ret < 0))
- return ret;
+ return set_security_attr ("apparmor", now ? "current" : "exec", buf, err);
}
return 0;
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libcontainers-common for openSUSE:Factory checked in at 2023-12-05 17:00:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcontainers-common (Old)
and /work/SRC/openSUSE:Factory/.libcontainers-common.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcontainers-common"
Tue Dec 5 17:00:53 2023 rev:67 rq:1130686 version:20231204
Changes:
--------
--- /work/SRC/openSUSE:Factory/libcontainers-common/libcontainers-common.changes 2023-09-22 21:47:11.112361747 +0200
+++ /work/SRC/openSUSE:Factory/.libcontainers-common.new.25432/libcontainers-common.changes 2023-12-05 17:00:56.888131441 +0100
@@ -1,0 +2,40 @@
+Mon Dec 4 07:12:17 UTC 2023 - Danish Prakash <danish.prakash(a)suse.com>
+
+- New release 20231204
+- bump c/common to 0.57.0
+ * Bump to v0.56.0 by
+ * Fix typo in comment
+ * fix(deps): update module github.com/opencontainers/image-spec to v1.1.0-rc5
+ * Fix specification of unix:///run
+ * libimage/layer_tree: if parent is empty and a manifest list then ignore check.
+ * fix(deps): update module github.com/onsi/ginkgo/v2 to v2.12.1
+ * Split up util package into pkg/password, pkg/copy, pkg/version
+ * Remove ActiveDestination method to move into podman
+ * Default machine CPUs to Cores/2
+ * pkg/config: do NOT set StaticDir and VolumeDir
+ * Implement negated label match function
+ * chore: import packages only once
+ * CoC: fix email link
+- bump c/storage to 1.51.0
+ * Bump to v1.50.2
+ * overlay, composefs: mount loop device RO
+ * Run codespell on code
+ * fix(deps): update module github.com/klauspost/compress to v1.17.0
+ * store: serialize container deletion
+ * pkg/system: reduce retry timeout for EnsureRemoveAll
+ * overlay, composefs: use data-only lower layers
+ * store: call RecordWrite() before graphDriver Cleanup()
+ * fix(deps): update module golang.org/x/sys to v0.13.0
+- bump c/image to 5.29.0
+ * Bump to v5.28.0
+ * fix(deps): update module github.com/containers/storage to v1.50.2
+ * Run codespell on code
+ * fix(deps): update module github.com/opencontainers/image-spec to v1.1.0-rc5
+ * Use constants and types from opencontainers/image-spec/specs-go/v1
+ * progress: set Current before Refill
+ * copy: fix nil pointer dereference when checking compression algorithm
+ * fix(deps): update module github.com/klauspost/compress to v1.17.0
+ * fix(deps): update module github.com/sylabs/sif/v2 to v2.14.0
+ * ociarchive: Add new ArchiveFileNotFoundError
+
+-------------------------------------------------------------------
Old:
----
common-0.55.4.tar.xz
image-5.28.0.tar.xz
storage-1.50.2.tar.xz
New:
----
common-0.57.0.tar.xz
image-5.29.0.tar.xz
storage-1.51.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcontainers-common.spec ++++++
--- /var/tmp/diff_new_pack.u7qfDX/_old 2023-12-05 17:00:58.012172873 +0100
+++ /var/tmp/diff_new_pack.u7qfDX/_new 2023-12-05 17:00:58.012172873 +0100
@@ -17,17 +17,17 @@
# commonver - version from containers/common
-%define commonver 0.55.4
+%define commonver 0.57.0
# storagever - version from containers/storage
-%define storagever 1.50.2
+%define storagever 1.51.0
# imagever - version from containers/image
-%define imagever 5.28.0
+%define imagever 5.29.0
# skopeover - version from containers/skopeo
-%define skopeover 1.13.3
+%define skopeover 1.14.0
# https://github.com/containers/shortnames
%define shortnamesver 2023.02.20
Name: libcontainers-common
-Version: 20230913
+Version: 20231204
Release: 0
Summary: Configuration files common to github.com/containers
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.u7qfDX/_old 2023-12-05 17:00:58.068174938 +0100
+++ /var/tmp/diff_new_pack.u7qfDX/_new 2023-12-05 17:00:58.068174938 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/containers/storage.git</param>
<param name="scm">git</param>
<param name="filename">storage</param>
- <param name="revision">v1.50.2</param>
+ <param name="revision">v1.51.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
@@ -11,7 +11,7 @@
<param name="url">https://github.com/containers/image.git</param>
<param name="scm">git</param>
<param name="filename">image</param>
- <param name="revision">v5.28.0</param>
+ <param name="revision">v5.29.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
@@ -19,7 +19,7 @@
<param name="url">https://github.com/containers/common.git</param>
<param name="scm">git</param>
<param name="filename">common</param>
- <param name="revision">v0.55.4</param>
+ <param name="revision">v0.57.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
++++++ common-0.55.4.tar.xz -> common-0.57.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/libcontainers-common/common-0.55.4.tar.xz /work/SRC/openSUSE:Factory/.libcontainers-common.new.25432/common-0.57.0.tar.xz differ: char 15, line 1
++++++ image-5.28.0.tar.xz -> image-5.29.0.tar.xz ++++++
++++ 6365 lines of diff (skipped)
++++++ storage-1.50.2.tar.xz -> storage-1.51.0.tar.xz ++++++
++++ 14515 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package skopeo for openSUSE:Factory checked in at 2023-12-05 17:00:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skopeo (Old)
and /work/SRC/openSUSE:Factory/.skopeo.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skopeo"
Tue Dec 5 17:00:52 2023 rev:26 rq:1130675 version:1.14.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/skopeo/skopeo.changes 2023-08-23 14:56:41.301890837 +0200
+++ /work/SRC/openSUSE:Factory/.skopeo.new.25432/skopeo.changes 2023-12-05 17:00:54.720051524 +0100
@@ -1,0 +2,79 @@
+Thu Nov 23 11:10:07 UTC 2023 - danish.prakash(a)suse.com
+
+- Update to version 1.14.0:
+ * Bump to v1.14.0
+ * fix(deps): update module github.com/containers/common to v0.57.0
+ * chore(deps): update dependency containers/automation_images to v20231116
+ * fix(deps): update module github.com/containers/image/v5 to v5.29.0
+ * Add documentation and smoke tests for the new --compat-auth-file options
+ * Update c/image and c/common to latest
+ * fix(deps): update module github.com/containers/storage to v1.51.0
+ * fix(deps): update module golang.org/x/term to v0.14.0
+ * fix(deps): update module github.com/spf13/cobra to v1.8.0
+ * [CI:DOCS] Update dependency golangci/golangci-lint to v1.55.2
+ * [CI:DOCS] Update dependency golangci/golangci-lint to v1.55.1
+ * fix(deps): update github.com/containers/common digest to 3e5caa0
+ * chore(deps): update module google.golang.org/grpc to v1.57.1 [security]
+ * fix(deps): update module github.com/containers/ocicrypt to v1.1.9
+ * Update github.com/klauspost/compress to v1.17.2
+ * chore(deps): update module github.com/docker/docker to v24.0.7+incompatible [security]
+ * Fix ENTRYPOINT documentation, drop others.
+ * Remove unused environment variables in Cirrus
+ * [CI:DOCS] Update dependency golangci/golangci-lint to v1.55.0
+ * chore(deps): update dependency containers/automation_images to v20231004
+ * chore(deps): update module golang.org/x/net to v0.17.0 [security]
+ * copy: Note support for `zstd:chunked`
+ * fix(deps): update module golang.org/x/term to v0.13.0
+ * fix(deps): update module github.com/docker/distribution to v2.8.3+incompatible
+ * fix(deps): update github.com/containers/common digest to 745eaa4
+ * Packit: switch to @containers/packit-build team for copr failure notification comments
+ * Packit: tag @lsm5 on copr build failures
+ * vendor of containers/common
+ * fix(deps): update module github.com/opencontainers/image-spec to v1.1.0-rc5
+ * fix(deps): update module github.com/containers/common to v0.56.0
+ * Cirrus: Remove multi-arch skopeo image builds
+ * fix(deps): update module github.com/containers/image/v5 to v5.28.0
+ * Increase the golangci-lint timeout
+ * fix(deps): update module github.com/containers/storage to v1.50.2
+ * fix(deps): update module github.com/containers/storage to v1.50.1
+ * fix(deps): update golang.org/x/exp digest to 9212866
+ * Fix a man page link
+ * fix(deps): update github.com/containers/image/v5 digest to 58d5eb6
+ * GHA: Closed issue/PR comment-lock test
+ * fix(deps): update module github.com/containers/common to v0.55.4
+ * fix(deps): update module github.com/containers/storage to v1.49.0
+ * rpm: spdx compatible license field
+ * chore(deps): update dependency golangci/golangci-lint to v1.54.2
+ * chore(deps): update dependency containers/automation_images to v20230816
+ * Packit: set eln target correctly
+ * packit: Build PRs into default packit COPRs
+ * DOCS: Update Go version requirement info
+ * DOCS: Add information about the cross-build
+ * fix(deps): update module github.com/containers/ocicrypt to v1.1.8
+ * fix(deps): update module github.com/containers/common to v0.55.3
+ * Update c/image after https://github.com/containers/image/pull/2070
+ * chore(deps): update dependency golangci/golangci-lint to v1.54.1
+ * chore(deps): update dependency containers/automation_images to v20230809
+ * fix(deps): update golang.org/x/exp digest to 352e893
+ * chore(deps): update dependency containers/automation_images to v20230807
+ * Update to Go 1.19
+ * fix(deps): update module golang.org/x/term to v0.11.0
+ * Update c/image for golang.org/x/exp
+ * RPM: define gobuild macro for rhel/centos stream
+ * Fix handling the unexpected return value combination from IsRunningImageAllowed
+ * Close the PolicyContext, as required by the API
+ * Use globalOptions.getPolicyContext instead of an image-targeted SystemContext
+ * Packit: remove pre-sync action
+ * fix(deps): update module github.com/containers/common to v0.55.2
+ * proxy: Change the imgid to uint64
+ * [CI:BUILD] Packit: install golist before updating downstream spec
+ * Update module golang.org/x/term to v0.10.0
+ * Bump to v1.14.0-dev
+ * Bump to v1.13.0
+
+-------------------------------------------------------------------
+Tue Oct 10 06:16:47 UTC 2023 - Danish Prakash <danish.prakash(a)suse.com>
+
+- Bump go version to 1.21 (bsc#1215611)
+
+-------------------------------------------------------------------
Old:
----
skopeo-1.13.2.tar.xz
New:
----
skopeo-1.14.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skopeo.spec ++++++
--- /var/tmp/diff_new_pack.kMStnB/_old 2023-12-05 17:00:55.836092662 +0100
+++ /var/tmp/diff_new_pack.kMStnB/_new 2023-12-05 17:00:55.836092662 +0100
@@ -20,7 +20,7 @@
%define project github.com/containers/skopeo
Name: skopeo
-Version: 1.13.2
+Version: 1.14.0
Release: 0
Summary: Container image repository tool
License: Apache-2.0
@@ -36,7 +36,7 @@
BuildRequires: libbtrfs-devel >= 3.8
BuildRequires: libcontainers-common
BuildRequires: libgpgme-devel
-BuildRequires: golang(API) >= 1.17
+BuildRequires: golang(API) >= 1.21
ExcludeArch: s390
%description
++++++ _service ++++++
--- /var/tmp/diff_new_pack.kMStnB/_old 2023-12-05 17:00:55.872093989 +0100
+++ /var/tmp/diff_new_pack.kMStnB/_new 2023-12-05 17:00:55.876094137 +0100
@@ -5,7 +5,7 @@
<param name="filename">skopeo</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
- <param name="revision">v1.13.2</param>
+ <param name="revision">v1.14.0</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kMStnB/_old 2023-12-05 17:00:55.900095022 +0100
+++ /var/tmp/diff_new_pack.kMStnB/_new 2023-12-05 17:00:55.904095169 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/containers/skopeo</param>
- <param name="changesrevision">24c0c3369d8e6c3d4dd60de8c747b89b270d7f12</param></service></servicedata>
+ <param name="changesrevision">6abf96bb82666fbb3d4ad9faf1812e5ae2d31a74</param></service></servicedata>
(No newline at EOF)
++++++ skopeo-1.13.2.tar.xz -> skopeo-1.14.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/skopeo/skopeo-1.13.2.tar.xz /work/SRC/openSUSE:Factory/.skopeo.new.25432/skopeo-1.14.0.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package containerd for openSUSE:Factory checked in at 2023-12-05 17:00:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/containerd (Old)
and /work/SRC/openSUSE:Factory/.containerd.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "containerd"
Tue Dec 5 17:00:50 2023 rev:62 rq:1130673 version:1.7.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/containerd/containerd.changes 2023-11-28 22:18:04.222841547 +0100
+++ /work/SRC/openSUSE:Factory/.containerd.new.25432/containerd.changes 2023-12-05 17:00:51.795943740 +0100
@@ -1,0 +2,8 @@
+Mon Dec 4 08:44:40 UTC 2023 - Aleksa Sarai <asarai(a)suse.com>
+
+- Update to containerd v1.7.10. Upstream release notes:
+ <https://github.com/containerd/containerd/releases/tag/v1.7.10>
+- Rebase patches:
+ * 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch
+
+-------------------------------------------------------------------
Old:
----
containerd-1.7.8_8e4b0bde8667.tar.xz
New:
----
containerd-1.7.10_4e1fe7492b9d.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ containerd.spec ++++++
--- /var/tmp/diff_new_pack.fVI6XI/_old 2023-12-05 17:00:52.331963498 +0100
+++ /var/tmp/diff_new_pack.fVI6XI/_new 2023-12-05 17:00:52.335963646 +0100
@@ -23,14 +23,14 @@
%endif
# MANUAL: Update the git_version.
-%define git_version 8e4b0bde866788eec76735cc77c4720144248fb7
-%define git_short 8e4b0bde8667
+%define git_version 4e1fe7492b9df85914c389d1f15a3ceedbb280ac
+%define git_short 4e1fe7492b9d
%global provider_prefix github.com/containerd/containerd
%global import_path %{provider_prefix}
Name: containerd
-Version: 1.7.8
+Version: 1.7.10
Release: 0
Summary: Standalone OCI Container Daemon
License: Apache-2.0
++++++ 0001-BUILD-SLE12-revert-btrfs-depend-on-kernel-UAPI-inste.patch ++++++
--- /var/tmp/diff_new_pack.fVI6XI/_old 2023-12-05 17:00:52.351964236 +0100
+++ /var/tmp/diff_new_pack.fVI6XI/_new 2023-12-05 17:00:52.355964383 +0100
@@ -1,4 +1,4 @@
-From c6a136e30370e2b94e6373b9c22f6ec3d0d9a738 Mon Sep 17 00:00:00 2001
+From 4c4982da6ba4822ce8ea33a8054fac51465b0c7c Mon Sep 17 00:00:00 2001
From: Aleksa Sarai <cyphar(a)cyphar.com>
Date: Tue, 28 Nov 2023 22:54:03 +1100
Subject: [PATCH] BUILD: SLE12: revert "btrfs: depend on kernel UAPI instead of
@@ -143,11 +143,11 @@
delete mode 100644 vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
diff --git a/go.mod b/go.mod
-index 9bafb7ba5944..532d2d63f104 100644
+index 8fa8e5afc0d5..a0c927917263 100644
--- a/go.mod
+++ b/go.mod
@@ -9,7 +9,7 @@ require (
- github.com/Microsoft/hcsshim v0.11.1
+ github.com/Microsoft/hcsshim v0.11.4
github.com/container-orchestrated-devices/container-device-interface v0.5.4
github.com/containerd/aufs v1.0.0
- github.com/containerd/btrfs/v2 v2.0.0
@@ -156,7 +156,7 @@
github.com/containerd/console v1.0.3
github.com/containerd/continuity v0.4.2
diff --git a/go.sum b/go.sum
-index 00dae8b4104a..0e90a8e8855c 100644
+index cd0adb193879..21693007e7bc 100644
--- a/go.sum
+++ b/go.sum
@@ -187,9 +187,8 @@ github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY
@@ -3129,10 +3129,10 @@
- return
-}
diff --git a/vendor/modules.txt b/vendor/modules.txt
-index d38e3a52bf83..3a9043e2b3fd 100644
+index fd5a3491d305..764f922ba25c 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
-@@ -88,9 +88,9 @@ github.com/container-orchestrated-devices/container-device-interface/specs-…
+@@ -87,9 +87,9 @@ github.com/container-orchestrated-devices/container-device-interface/specs-…
## explicit; go 1.13
github.com/containerd/aufs
github.com/containerd/aufs/plugin
@@ -3145,7 +3145,7 @@
# github.com/containerd/cgroups v1.1.0
## explicit; go 1.17
github.com/containerd/cgroups/stats/v1
-@@ -529,7 +529,6 @@ golang.org/x/sync/errgroup
+@@ -530,7 +530,6 @@ golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
# golang.org/x/sys v0.13.0
## explicit; go 1.17
++++++ _service ++++++
--- /var/tmp/diff_new_pack.fVI6XI/_old 2023-12-05 17:00:52.379965267 +0100
+++ /var/tmp/diff_new_pack.fVI6XI/_new 2023-12-05 17:00:52.379965267 +0100
@@ -3,8 +3,8 @@
<param name="url">https://github.com/containerd/containerd.git</param>
<param name="scm">git</param>
<param name="filename">containerd</param>
- <param name="versionformat">1.7.8_%h</param>
- <param name="revision">v1.7.8</param>
+ <param name="versionformat">1.7.10_%h</param>
+ <param name="revision">v1.7.10</param>
<param name="exclude">.git</param>
</service>
<service name="recompress" mode="manual">
++++++ containerd-1.7.8_8e4b0bde8667.tar.xz -> containerd-1.7.10_4e1fe7492b9d.tar.xz ++++++
++++ 26399 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package patchelf for openSUSE:Factory checked in at 2023-12-05 17:00:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patchelf (Old)
and /work/SRC/openSUSE:Factory/.patchelf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patchelf"
Tue Dec 5 17:00:49 2023 rev:22 rq:1130666 version:0.18.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/patchelf/patchelf.changes 2023-05-10 16:16:34.566283177 +0200
+++ /work/SRC/openSUSE:Factory/.patchelf.new.25432/patchelf.changes 2023-12-05 17:00:50.515896557 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 07:29:40 UTC 2023 - Duraisankar P <Duraisankar.pitchumani(a)suse.com>
+
+- [bsc#1211860] - build failure for patchelf on s390x
+ - skip unstable check build for arch s390x
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patchelf.spec ++++++
--- /var/tmp/diff_new_pack.TQ8aF3/_old 2023-12-05 17:00:51.027915430 +0100
+++ /var/tmp/diff_new_pack.TQ8aF3/_new 2023-12-05 17:00:51.031915578 +0100
@@ -39,7 +39,10 @@
%make_build
%check
+%ifnarch s390x
+#Bug bsc#1211860, builds are unstable for s390x
%make_build check
+%endif
%install
%make_install
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2023-12-05 08:06:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Tue Dec 5 08:06:15 2023 rev:3827 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.386281561 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.390281708 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20231203" schemaversion="4.1">
+<image name="OBS__MicroOS___20231204" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231203</productvar>
+ <productvar name="VERSION">20231204</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231203,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231204,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231203/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231204/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
@@ -991,6 +991,8 @@
<repopackage name="libdb-4_8"/>
<repopackage name="libdbus-1-3"/>
<repopackage name="libdbus-glib-1-2"/>
+ <repopackage name="libdbusmenu-glib4"/>
+ <repopackage name="libdbusmenu-gtk3-4"/>
<repopackage name="libdbusmenu-qt5-2"/>
<repopackage name="libdc1394-26"/>
<repopackage name="libdca0"/>
++++++ openSUSE-Addon-NonOss-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.418282737 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.422282884 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20231203" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20231204" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231203</productvar>
+ <productvar name="VERSION">20231204</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231203,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231204,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2023…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2023…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.442283619 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.446283767 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231203" schemaversion="4.1">
+<image name="OBS__openSUSE___20231204" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231203</productvar>
+ <productvar name="VERSION">20231204</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231203,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231204,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231203/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231204/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
openSUSE-dvd5-dvd-x86_64.kiwi: same change
++++++ openSUSE-ftp-ftp-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.490285384 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.494285531 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231203" schemaversion="4.1">
+<image name="OBS__openSUSE___20231204" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -20,7 +20,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20231203-i586</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231204-i586</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231203</productvar>
+ <productvar name="VERSION">20231204</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231203,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231204,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231203/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231204/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.514286267 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.518286413 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231203" schemaversion="4.1">
+<image name="OBS__openSUSE___20231204" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -23,7 +23,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20231203-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231204-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231203</productvar>
+ <productvar name="VERSION">20231204</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231203,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231204,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231203/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231204/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ Aeon.product ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.558287885 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.558287885 +0100
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20231203</version>
+ <version>20231204</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.578288620 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.582288767 +0100
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20231203</version>
+ <version>20231204</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.662291708 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.670292002 +0100
@@ -1730,8 +1730,8 @@
<package name="libdbus-1-3" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="libdbus-1-3-32bit" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_dvd -->
<package name="libdbus-glib-1-2" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="libdbusmenu-glib4" supportstatus="unsupported"/> <!-- reason: dvd:patterns-xfce-xfce -->
- <package name="libdbusmenu-gtk3-4" supportstatus="unsupported"/> <!-- reason: dvd:patterns-xfce-xfce -->
+ <package name="libdbusmenu-glib4" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
+ <package name="libdbusmenu-gtk3-4" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="libdbusmenu-qt5-2" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
<package name="libdc1394-26" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libdca0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.686292591 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.690292737 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231203</version>
+ <version>20231204</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.710293472 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.714293620 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231203</version>
+ <version>20231204</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ opensuse_aeon.group ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.738294502 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.746294796 +0100
@@ -763,6 +763,8 @@
<package name="libdb-4_8" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
<package name="libdbus-1-3" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
<package name="libdbus-glib-1-2" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:patterns-aeon-base -->
+ <package name="libdbusmenu-glib4" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
+ <package name="libdbusmenu-gtk3-4" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
<package name="libdc1394-26" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:patterns-aeon-base -->
<package name="libdca0" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:patterns-aeon-base -->
<package name="libdconf1" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
++++++ opensuse_microos.group ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.774295826 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.782296120 +0100
@@ -1213,6 +1213,8 @@
<package name="libdb-4_8" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="libdbus-1-3" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="libdbus-glib-1-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
+ <package name="libdbusmenu-glib4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
+ <package name="libdbusmenu-gtk3-4" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="libdbusmenu-qt5-2" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
<package name="libdc1394-26" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="libdca0" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.P7HQ6s/_old 2023-12-05 08:06:19.830297885 +0100
+++ /var/tmp/diff_new_pack.P7HQ6s/_new 2023-12-05 08:06:19.838298179 +0100
@@ -150,12 +150,12 @@
- MyGUI-devel
- MyGUI-devel-doc
- MyGUI-tools
+ - NetworkManager-applet-fortisslvpn
- NetworkManager-branding-upstream
- NetworkManager-cloud-setup
- NetworkManager-devel
- NetworkManager-devel-32bit
- NetworkManager-fortisslvpn
- - NetworkManager-fortisslvpn-gnome
- NetworkManager-fortisslvpn-lang
- NetworkManager-iodine
- NetworkManager-iodine-gnome
@@ -11430,7 +11430,7 @@
- libdate-tz3
- libdatovka
- libdatovka-devel
- - libdatovka5
+ - libdatovka6
- libdatrie-devel
- libdatrie1-32bit
- libdav1d7-32bit
@@ -15797,6 +15797,7 @@
- libxtrxdsp0
- libxtrxll-devel
- libxtrxll0
+ - libxvidcore4
- libxy3
- libyajl-devel
- libyajl-devel-static
@@ -19220,6 +19221,7 @@
- oqs-provider
- orage
- orage-lang
+ - oras
- orc
- orc-doc
- orcania-devel
@@ -21855,6 +21857,7 @@
- procs
- product-builder
- product-builder-plugin-Tumbleweed
+ - product-composer
- profanity
- profanity-mini
- profanity-standard
@@ -45960,6 +45963,7 @@
- xtrxdsp-tests
- xtrxll-tools
- xvfb-run
+ - xvidcore-devel
- xvidtune
- xviewer
- xviewer-devel
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gromox for openSUSE:Factory checked in at 2023-12-04 23:02:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gromox (Old)
and /work/SRC/openSUSE:Factory/.gromox.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gromox"
Mon Dec 4 23:02:54 2023 rev:23 rq:1130831 version:2.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/gromox/gromox.changes 2023-11-13 22:24:53.144372092 +0100
+++ /work/SRC/openSUSE:Factory/.gromox.new.25432/gromox.changes 2023-12-04 23:03:10.295273793 +0100
@@ -1,0 +2,41 @@
+Mon Dec 4 14:12:37 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 2.19
+ * `gromox-mbop emptyfld` now recognizes a `-t` option to limit
+ deletion to messages of certain age.
+ * `gromox-mbop emptyfld` now recognizes a `--nuke-folders` option
+ * gromox-eml2mt now recognizes a `--mbox` option to support
+ RFC4155 Unix mboxes
+ * exmdb: search pacing is now time-based, which should give more
+ predictable interactivity during background searches
+ * emsmdb: do not treat the absence of the
+ PR_LAST_MODIFICATION_TIME message property during ICS downloads
+ as an error any longer
+ * exmdb: send "object created" notifications as search folders
+ re-populate
+ * oxcmail: ignore zero-length From fields, which should help
+ sending from Windows Mail
+ * Thunderbird/IMAP now picks up deletion events done by other
+ clients
+
+-------------------------------------------------------------------
+Mon Nov 27 13:36:14 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 2.18
+ * exmdb: synthesized PR_RTF_COMPRESSED properties (in relation to
+ the "dbg_synthesize_content" config directive) had an
+ incomplete header
+ * oxcmail: repair inadvertent propid/proptag swap causing TNEF
+ export to fail
+ * mbop/purge-softdelete: make pathspec `SENT/2022` actually work
+ * imap: messages delete events from OL/g-web now make it to IMAP
+ clients
+ * midb: propagate folder change events; IMAP clients now
+ recognize when a message was deleted in g-web/Outlook
+ * http: RFC 7617 support for the Basic authentication header line
+ * nsp: allow connections from Windows with UTF-8 locale
+ * midb: removal of seqid renumbering, which speeds up
+ IMAP SELECT/LIST/FETCH commands.
+ * authmgr: PAM is now offered as an authentication backend
+
+-------------------------------------------------------------------
Old:
----
gromox-2.17.tar.asc
gromox-2.17.tar.zst
New:
----
gromox-2.19.tar.asc
gromox-2.19.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gromox.spec ++++++
--- /var/tmp/diff_new_pack.HoL9qR/_old 2023-12-04 23:03:10.855294138 +0100
+++ /var/tmp/diff_new_pack.HoL9qR/_new 2023-12-04 23:03:10.855294138 +0100
@@ -19,7 +19,7 @@
%define _libexecdir %_prefix/libexec
Name: gromox
-Version: 2.17
+Version: 2.19
Release: 0
Summary: Groupware server backend with RPC, IMAP,POP3, PHP-MAPI support
License: AGPL-3.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later
++++++ gromox.dsc ++++++
--- /var/tmp/diff_new_pack.HoL9qR/_old 2023-12-04 23:03:10.923296608 +0100
+++ /var/tmp/diff_new_pack.HoL9qR/_new 2023-12-04 23:03:10.927296754 +0100
@@ -1,7 +1,7 @@
Format: 1.0
Source: gromox
Architecture: any
-Version: 2.17
+Version: 2.19
DEBTRANSFORM-RELEASE: 1
Maintainer: Gromox <null(a)gromox.com>
Homepage: https://gromox.com
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gmmlib for openSUSE:Factory checked in at 2023-12-04 23:02:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gmmlib (Old)
and /work/SRC/openSUSE:Factory/.gmmlib.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gmmlib"
Mon Dec 4 23:02:36 2023 rev:30 rq:1130826 version:22.3.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/gmmlib/gmmlib.changes 2023-11-17 20:51:41.261861897 +0100
+++ /work/SRC/openSUSE:Factory/.gmmlib.new.25432/gmmlib.changes 2023-12-04 23:02:57.918824167 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 12:05:41 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- This includes latest version of one of the components needed for
+ Video (processing) hardware support on Intel GPUs (bsc#1217770)
+
+-------------------------------------------------------------------
@@ -13 +19 @@
-
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
04 Dec '23
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-mgmt-hybridcontainerservice for openSUSE:Factory checked in at 2023-12-04 23:02:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-mgmt-hybridcontainerservice (Old)
and /work/SRC/openSUSE:Factory/.python-azure-mgmt-hybridcontainerservice.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-mgmt-hybridcontainerservice"
Mon Dec 4 23:02:34 2023 rev:2 rq:1130821 version:1.0.0~b2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-mgmt-hybridcontainerservice/python-azure-mgmt-hybridcontainerservice.changes 2023-12-01 21:27:32.130655430 +0100
+++ /work/SRC/openSUSE:Factory/.python-azure-mgmt-hybridcontainerservice.new.25432/python-azure-mgmt-hybridcontainerservice.changes 2023-12-04 23:02:56.266764149 +0100
@@ -1,0 +2,11 @@
+Mon Dec 4 08:18:58 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 1.0.0b2
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+- Remove unzip package from BuildRequires
+- Switch source archive format to TAR.GZ
+- Update Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
azure-mgmt-hybridcontainerservice-1.0.0b1.zip
New:
----
azure-mgmt-hybridcontainerservice-1.0.0b2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-mgmt-hybridcontainerservice.spec ++++++
--- /var/tmp/diff_new_pack.qTVpVW/_old 2023-12-04 23:02:57.106794667 +0100
+++ /var/tmp/diff_new_pack.qTVpVW/_new 2023-12-04 23:02:57.114794957 +0100
@@ -15,34 +15,35 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%define realversion 1.0.0b1
+
+%define realversion 1.0.0b2
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%if 0%{?suse_version} >= 1500
%define skip_python2 1
%endif
Name: python-azure-mgmt-hybridcontainerservice
-Version: 1.0.0~b1
+Version: 1.0.0~b2
Release: 0
Summary: Microsoft Azure Hybridcontainerservice Management Client Library for Python
License: MIT
Group: Development/Languages/Python
URL: https://github.com/Azure/azure-sdk-for-python
-Source: https://files.pythonhosted.org/packages/source/a/azure-mgmt-hybridcontainer…
+Source: https://files.pythonhosted.org/packages/source/a/azure-mgmt-hybridcontainer…
Source1: LICENSE.txt
BuildRequires: %{python_module azure-mgmt-nspkg >= 3.0.0}
BuildRequires: %{python_module azure-nspkg >= 3.0.0}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-BuildRequires: unzip
Requires: python-azure-common < 2.0.0
Requires: python-azure-common >= 1.1
Requires: python-azure-mgmt-core < 2.0.0
Requires: python-azure-mgmt-core >= 1.3.2
Requires: python-azure-mgmt-nspkg >= 3.0.0
Requires: python-azure-nspkg >= 3.0.0
-Requires: python-msrest >= 0.7.1
+Requires: python-isodate < 1.0.0
+Requires: python-isodate >= 0.6.1
Requires: (python-typing_extensions >= 4.3.0 if python-base < 3.8)
Conflicts: python-azure-sdk <= 2.0.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package okteto for openSUSE:Factory checked in at 2023-12-04 23:02:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/okteto (Old)
and /work/SRC/openSUSE:Factory/.okteto.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "okteto"
Mon Dec 4 23:02:23 2023 rev:65 rq:1130792 version:2.23.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/okteto/okteto.changes 2023-11-17 20:50:56.916237682 +0100
+++ /work/SRC/openSUSE:Factory/.okteto.new.25432/okteto.changes 2023-12-04 23:02:46.886423369 +0100
@@ -1,0 +2,40 @@
+Mon Dec 04 14:17:20 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 2.23.0:
+ * Fix connection issues to dev containers using vscode remote ssh
+ (#4074) (#4075)
+ * Fix panic on okteto up with plain output (#4069) (#4072)
+ * Fix builds for ARM (#4065) (#4067)
+ * CLI Quality - Lint- exhaustive (#4063)
+ * fix linters (#4066)
+ * fix: use okteto api to retrieve dev env endpoints (#4052)
+ * Refactor: create `env` and `dependencies` pkg to reduce `model`
+ pkg and make testing easier (#4047)
+ * fix: linter (#4060)
+ * Refactor: remove `CheckIfRegularFile` in favour of
+ `filesystem.FileExistsAndNotDir` (#4049)
+ * fix: linter (#4059)
+ * chore: add and fix lint gci (#4053)
+ * CLI Quality - Lint - goheader (#4054)
+ * chore: implement and fix lint unconvert (#4055)
+ * chore: added additional lints (#4056)
+ * show hint to deploy using remote feature (#4048)
+ * Update Dockerfile to use kubectl 1.15.11 (#4050)
+ * add quotes for variables added in remote (#4045)
+ * Extract dev `secrets` and `envFiles` validation from
+ serializer (#4043)
+ * Enable field alingment (#4031)
+ * fix:downgrade spinner module (#4041)
+ * Added OKTETO_GIT_BRANCH environment variable to remote
+ Dockerfile as argument to have it available in the commands
+ executed there (#4039)
+ * Adds add/delete to docker credentials helper (#4028)
+ * add feature flag to enable disable pull first approach (#4036)
+ * RAIN-51 and RAIN-52: Set right certificate in kubernetes client
+ and kubeconfig generated when working with
+ `--insecure-skip-tls-verify` (#4037)
+ * RAIN-31: Add extra hosts for internal communication to API and
+ BUildkit when executing deploy and destroy remotely (#4033)
+ * fix: panic on interrupt of deploy --remote (#4030)
+
+-------------------------------------------------------------------
Old:
----
okteto-2.22.3.obscpio
New:
----
okteto-2.23.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ okteto.spec ++++++
--- /var/tmp/diff_new_pack.oqjRfZ/_old 2023-12-04 23:02:48.078466676 +0100
+++ /var/tmp/diff_new_pack.oqjRfZ/_new 2023-12-04 23:02:48.082466820 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: okteto
-Version: 2.22.3
+Version: 2.23.0
Release: 0
Summary: Develop your applications directly in your Kubernetes Cluster
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.oqjRfZ/_old 2023-12-04 23:02:48.110467838 +0100
+++ /var/tmp/diff_new_pack.oqjRfZ/_new 2023-12-04 23:02:48.114467983 +0100
@@ -3,10 +3,10 @@
<param name="url">https://github.com/okteto/okteto</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">2.22.3</param>
+ <param name="revision">2.23.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
- <param name="match-tag">2.22.3</param>
+ <param name="match-tag">2.23.0</param>
</service>
<service name="set_version" mode="manual">
<param name="basename">okteto</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.oqjRfZ/_old 2023-12-04 23:02:48.130468564 +0100
+++ /var/tmp/diff_new_pack.oqjRfZ/_new 2023-12-04 23:02:48.142469000 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/okteto/okteto</param>
- <param name="changesrevision">5bb321955baf0d7c2bc996617ae5512a90c23c4b</param></service></servicedata>
+ <param name="changesrevision">ad86ac980f653794f5b77e7938e5fbdd14e14cd1</param></service></servicedata>
(No newline at EOF)
++++++ okteto-2.22.3.obscpio -> okteto-2.23.0.obscpio ++++++
++++ 16693 lines of diff (skipped)
++++++ okteto.obsinfo ++++++
--- /var/tmp/diff_new_pack.oqjRfZ/_old 2023-12-04 23:02:48.622486439 +0100
+++ /var/tmp/diff_new_pack.oqjRfZ/_new 2023-12-04 23:02:48.630486730 +0100
@@ -1,5 +1,5 @@
name: okteto
-version: 2.22.3
-mtime: 1700144866
-commit: 5bb321955baf0d7c2bc996617ae5512a90c23c4b
+version: 2.23.0
+mtime: 1701340931
+commit: ad86ac980f653794f5b77e7938e5fbdd14e14cd1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/okteto/vendor.tar.gz /work/SRC/openSUSE:Factory/.okteto.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-sphinxcontrib-youtube for openSUSE:Factory checked in at 2023-12-04 23:02:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinxcontrib-youtube (Old)
and /work/SRC/openSUSE:Factory/.python-sphinxcontrib-youtube.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinxcontrib-youtube"
Mon Dec 4 23:02:22 2023 rev:2 rq:1130786 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sphinxcontrib-youtube/python-sphinxcontrib-youtube.changes 2023-08-08 15:54:45.848929356 +0200
+++ /work/SRC/openSUSE:Factory/.python-sphinxcontrib-youtube.new.25432/python-sphinxcontrib-youtube.changes 2023-12-04 23:02:45.770382824 +0100
@@ -1,0 +2,16 @@
+Mon Dec 4 13:44:37 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.4.1:
+ * Correct the Sphinx version dependency.
+- update to 1.4.0:
+ * Add support for PeerTube
+ * Various minor big fixes
+- update to 1.3.0:
+ * Code and documentation refactor
+ * Contributing instructions
+ * Installation and configuration instructions
+ * Only download thumbnails for LaTeX targets.
+ * Fix to thumnail folder name.
+ * parallel build safety.
+
+-------------------------------------------------------------------
Old:
----
sphinxcontrib-youtube-1.2.0.tar.gz
New:
----
sphinxcontrib_youtube-1.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinxcontrib-youtube.spec ++++++
--- /var/tmp/diff_new_pack.VuYpwI/_old 2023-12-04 23:02:46.242399972 +0100
+++ /var/tmp/diff_new_pack.VuYpwI/_new 2023-12-04 23:02:46.242399972 +0100
@@ -18,24 +18,22 @@
%{?sle15_python_module_pythons}
Name: python-sphinxcontrib-youtube
-Version: 1.2.0
+Version: 1.4.1
Release: 0
Summary: Sphinx "youtube" extension
License: BSD-3-Clause
URL: https://github.com/sphinx-contrib/youtube
-Source: https://files.pythonhosted.org/packages/source/s/sphinxcontrib-youtube/sphi…
+Source: https://files.pythonhosted.org/packages/source/s/sphinxcontrib-youtube/sphi…
+BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-Sphinx >= 0.6
+Requires: python-Sphinx >= 6.1
Requires: python-requests
-Suggests: python-furo
-Suggests: python-sphinx-copybutton
BuildArch: noarch
# SECTION test requirements
-BuildRequires: %{python_module Sphinx >= 0.6}
+BuildRequires: %{python_module Sphinx >= 6.1}
BuildRequires: %{python_module requests}
# /SECTION
%python_subpackages
@@ -44,7 +42,7 @@
Sphinx "youtube" extension
%prep
-%autosetup -p1 -n sphinxcontrib-youtube-%{version}
+%autosetup -p1 -n sphinxcontrib_youtube-%{version}
%build
%pyproject_wheel
@@ -54,8 +52,7 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%files %{python_files}
-%doc README.rst
+%license LICENCE
%{python_sitelib}/sphinxcontrib/youtube
-%{python_sitelib}/sphinxcontrib_youtube-%{version}*-nspkg.pth
%{python_sitelib}/sphinxcontrib_youtube-%{version}*-info
1
0
04 Dec '23
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rhythmbox-plugin-alternative-toolbar for openSUSE:Factory checked in at 2023-12-04 23:02:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rhythmbox-plugin-alternative-toolbar (Old)
and /work/SRC/openSUSE:Factory/.rhythmbox-plugin-alternative-toolbar.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rhythmbox-plugin-alternative-toolbar"
Mon Dec 4 23:02:17 2023 rev:2 rq:1130788 version:0.20.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/rhythmbox-plugin-alternative-toolbar/rhythmbox-plugin-alternative-toolbar.changes 2023-08-01 15:38:01.669633775 +0200
+++ /work/SRC/openSUSE:Factory/.rhythmbox-plugin-alternative-toolbar.new.25432/rhythmbox-plugin-alternative-toolbar.changes 2023-12-04 23:02:43.978317720 +0100
@@ -1,0 +2,6 @@
+Sun Dec 3 05:12:14 UTC 2023 - Richard Rahl <rrahl0(a)proton.me>
+
+- Update to version 0.20.4:
+ * Updated translations.
+
+-------------------------------------------------------------------
Old:
----
alternative-toolbar-0.20.3.obscpio
New:
----
alternative-toolbar-0.20.4.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rhythmbox-plugin-alternative-toolbar.spec ++++++
--- /var/tmp/diff_new_pack.wI53lN/_old 2023-12-04 23:02:44.502336757 +0100
+++ /var/tmp/diff_new_pack.wI53lN/_new 2023-12-04 23:02:44.502336757 +0100
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
# Exclude auto generated unversioned Requires symbols in order to manually
# require the right version.
%define __requires_exclude typelib\\((GLib|GObject|G[dt]k|Gio|Gtk|Pango)\\)
@@ -23,7 +24,7 @@
%define peas_version 1.0
Name: rhythmbox-plugin-alternative-toolbar
-Version: 0.20.3
+Version: 0.20.4
Release: 0
Summary: Modern, minimal and music-focused interface for Rhythmbox
License: GPL-3.0-only
@@ -32,9 +33,9 @@
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: intltool
BuildRequires: gcc
BuildRequires: gobject-introspection-devel
+BuildRequires: intltool
BuildRequires: python3-gobject
BuildRequires: typelib(GLib) = %{glib_version}
BuildRequires: typelib(GObject) = %{glib_version}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.wI53lN/_old 2023-12-04 23:02:44.526337629 +0100
+++ /var/tmp/diff_new_pack.wI53lN/_new 2023-12-04 23:02:44.526337629 +0100
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/fossfreedom/alternative-toolbar.git</param>
- <param name="revision">refs/tags/v0.20.3</param>
+ <param name="revision">refs/tags/v0.20.4</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
++++++ alternative-toolbar-0.20.3.obscpio -> alternative-toolbar-0.20.4.obscpio ++++++
++++ 8583 lines of diff (skipped)
++++++ alternative-toolbar.obsinfo ++++++
--- /var/tmp/diff_new_pack.wI53lN/_old 2023-12-04 23:02:44.694343733 +0100
+++ /var/tmp/diff_new_pack.wI53lN/_new 2023-12-04 23:02:44.698343879 +0100
@@ -1,5 +1,5 @@
name: alternative-toolbar
-version: 0.20.3
-mtime: 1671134024
-commit: 2e77d9e30f3af192130d3509b4a479179992882e
+version: 0.20.4
+mtime: 1700598607
+commit: 269ae059f729afaa495c80fa2e352db76da5002e
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package debhelper for openSUSE:Factory checked in at 2023-12-04 23:02:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/debhelper (Old)
and /work/SRC/openSUSE:Factory/.debhelper.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "debhelper"
Mon Dec 4 23:02:14 2023 rev:17 rq:1130758 version:13.11.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/debhelper/debhelper.changes 2023-09-15 22:10:55.552828522 +0200
+++ /work/SRC/openSUSE:Factory/.debhelper.new.25432/debhelper.changes 2023-12-04 23:02:41.818239246 +0100
@@ -1,0 +2,10 @@
+Mon Dec 4 12:37:48 UTC 2023 - Jan Baier <jbaier(a)suse.com>
+
+- update to 13.11.8:
+ * systemd helpers: install units to /usr.
+ * Trim NEWS when trimming changelog (Closes: #1021607)
+ * dh_makeshlibs: add compatibility Provides: for 64-bit time_t transition.
+ * add new helper and addon: movetousr
+ * systemd helpers: Support units below /usr (Closes: #1041159)
+
+-------------------------------------------------------------------
Old:
----
debhelper-debian-13.11.5.tar.gz
New:
----
debhelper-debian-13.11.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ debhelper.spec ++++++
--- /var/tmp/diff_new_pack.qniw34/_old 2023-12-04 23:02:42.350258574 +0100
+++ /var/tmp/diff_new_pack.qniw34/_new 2023-12-04 23:02:42.354258719 +0100
@@ -17,7 +17,7 @@
Name: debhelper
-Version: 13.11.5
+Version: 13.11.8
Release: 0
Summary: Helper programs for debian/rules
License: GPL-2.0-or-later
++++++ debhelper-debian-13.11.5.tar.gz -> debhelper-debian-13.11.8.tar.gz ++++++
++++ 8868 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libbde for openSUSE:Factory checked in at 2023-12-04 23:02:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libbde (Old)
and /work/SRC/openSUSE:Factory/.libbde.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libbde"
Mon Dec 4 23:02:12 2023 rev:23 rq:1130756 version:20231204
Changes:
--------
--- /work/SRC/openSUSE:Factory/libbde/libbde.changes 2023-11-20 21:20:21.256586072 +0100
+++ /work/SRC/openSUSE:Factory/.libbde.new.25432/libbde.changes 2023-12-04 23:02:40.334185332 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 12:43:01 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231204
+ * No user-relevant changes
+
+-------------------------------------------------------------------
Old:
----
libbde-alpha-20231120.tar.gz
libbde-alpha-20231120.tar.gz.asc
New:
----
libbde-alpha-20231204.tar.gz
libbde-alpha-20231204.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libbde.spec ++++++
--- /var/tmp/diff_new_pack.Raa7sL/_old 2023-12-04 23:02:40.942207421 +0100
+++ /var/tmp/diff_new_pack.Raa7sL/_new 2023-12-04 23:02:40.942207421 +0100
@@ -20,7 +20,7 @@
%define lname libbde1
Name: libbde
-Version: 20231120
+Version: 20231204
Release: 0
Summary: Library and tools to access Microsoft Bitlocker Disk Encrypted partitions
License: GFDL-1.1-or-later AND LGPL-3.0-or-later AND GFDL-1.3-or-later
++++++ libbde-alpha-20231120.tar.gz -> libbde-alpha-20231204.tar.gz ++++++
++++ 1903 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/common/config.h new/libbde-20231204/common/config.h
--- old/libbde-20231120/common/config.h 2023-11-20 06:39:44.000000000 +0100
+++ new/libbde-20231204/common/config.h 2023-12-04 06:41:48.000000000 +0100
@@ -644,7 +644,7 @@
#define PACKAGE_NAME "libbde"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libbde 20231120"
+#define PACKAGE_STRING "libbde 20231204"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libbde"
@@ -653,7 +653,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "20231120"
+#define PACKAGE_VERSION "20231204"
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
@@ -682,7 +682,7 @@
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
-#define VERSION "20231120"
+#define VERSION "20231204"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/configure.ac new/libbde-20231204/configure.ac
--- old/libbde-20231120/configure.ac 2023-11-20 06:03:33.000000000 +0100
+++ new/libbde-20231204/configure.ac 2023-12-04 06:24:34.000000000 +0100
@@ -2,7 +2,7 @@
AC_INIT(
[libbde],
- [20231120],
+ [20231204],
[joachim.metz(a)gmail.com])
AC_CONFIG_SRCDIR(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/dpkg/changelog new/libbde-20231204/dpkg/changelog
--- old/libbde-20231120/dpkg/changelog 2023-11-20 06:39:44.000000000 +0100
+++ new/libbde-20231204/dpkg/changelog 2023-12-04 06:41:48.000000000 +0100
@@ -1,5 +1,5 @@
-libbde (20231120-1) unstable; urgency=low
+libbde (20231204-1) unstable; urgency=low
* Auto-generated
- -- Joachim Metz <joachim.metz(a)gmail.com> Mon, 20 Nov 2023 06:39:42 +0100
+ -- Joachim Metz <joachim.metz(a)gmail.com> Mon, 04 Dec 2023 06:41:47 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/include/libbde/definitions.h new/libbde-20231204/include/libbde/definitions.h
--- old/libbde-20231120/include/libbde/definitions.h 2023-11-20 06:39:44.000000000 +0100
+++ new/libbde-20231204/include/libbde/definitions.h 2023-12-04 06:41:48.000000000 +0100
@@ -24,11 +24,11 @@
#include <libbde/types.h>
-#define LIBBDE_VERSION 20231120
+#define LIBBDE_VERSION 20231204
/* The version string
*/
-#define LIBBDE_VERSION_STRING "20231120"
+#define LIBBDE_VERSION_STRING "20231204"
/* The file access
* bit 1 set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libbde/libbde.rc new/libbde-20231204/libbde/libbde.rc
--- old/libbde-20231120/libbde/libbde.rc 2023-11-20 06:39:44.000000000 +0100
+++ new/libbde-20231204/libbde/libbde.rc 2023-12-04 06:41:48.000000000 +0100
@@ -22,12 +22,12 @@
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "Library to access the BitLocker Drive Encryption (BDE) format\0"
- VALUE "FileVersion", "20231120" "\0"
+ VALUE "FileVersion", "20231204" "\0"
VALUE "InternalName", "libbde.dll\0"
VALUE "LegalCopyright", "(C) 2011-2023, Joachim Metz <joachim.metz(a)gmail.com>\0"
VALUE "OriginalFilename", "libbde.dll\0"
VALUE "ProductName", "libbde\0"
- VALUE "ProductVersion", "20231120" "\0"
+ VALUE "ProductVersion", "20231204" "\0"
VALUE "Comments", "For more information visit https://github.com/libyal/libbde/\0"
END
END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libbde/libbde_definitions.h new/libbde-20231204/libbde/libbde_definitions.h
--- old/libbde-20231120/libbde/libbde_definitions.h 2023-11-20 06:39:44.000000000 +0100
+++ new/libbde-20231204/libbde/libbde_definitions.h 2023-12-04 06:41:48.000000000 +0100
@@ -34,11 +34,11 @@
* for local use of libbde
*/
#else
-#define LIBBDE_VERSION 20231120
+#define LIBBDE_VERSION 20231204
/* The version string
*/
-#define LIBBDE_VERSION_STRING "20231120"
+#define LIBBDE_VERSION_STRING "20231204"
/* The file access
* bit 1 set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libbde.spec new/libbde-20231204/libbde.spec
--- old/libbde-20231120/libbde.spec 2023-11-20 06:39:44.000000000 +0100
+++ new/libbde-20231204/libbde.spec 2023-12-04 06:41:48.000000000 +0100
@@ -1,5 +1,5 @@
Name: libbde
-Version: 20231120
+Version: 20231204
Release: 1
Summary: Library to access the BitLocker Drive Encryption (BDE) format
Group: System Environment/Libraries
@@ -95,6 +95,6 @@
%{_mandir}/man1/*
%changelog
-* Mon Nov 20 2023 Joachim Metz <joachim.metz(a)gmail.com> 20231120-1
+* Mon Dec 4 2023 Joachim Metz <joachim.metz(a)gmail.com> 20231204-1
- Auto-generated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libcaes/Makefile.am new/libbde-20231204/libcaes/Makefile.am
--- old/libbde-20231120/libcaes/Makefile.am 2023-11-20 06:38:50.000000000 +0100
+++ new/libbde-20231204/libcaes/Makefile.am 2023-12-04 06:41:10.000000000 +0100
@@ -22,9 +22,11 @@
Makefile.in
distclean: clean
- /bin/rm -f Makefile
+ -rm -f Makefile
-splint:
+sources-local: $(BUILT_SOURCES)
+
+splint-local:
@echo "Running splint on libcaes ..."
-splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(libcaes_la_SOURCES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libcaes/libcaes_definitions.h new/libbde-20231204/libcaes/libcaes_definitions.h
--- old/libbde-20231120/libcaes/libcaes_definitions.h 2023-11-20 06:38:50.000000000 +0100
+++ new/libbde-20231204/libcaes/libcaes_definitions.h 2023-12-04 06:41:10.000000000 +0100
@@ -34,11 +34,11 @@
* for local use of libcaes
*/
#else
-#define LIBCAES_VERSION 20230406
+#define LIBCAES_VERSION 20231120
/* The libcaes version string
*/
-#define LIBCAES_VERSION_STRING "20230406"
+#define LIBCAES_VERSION_STRING "20231120"
/* The crypt modes
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/Makefile.am new/libbde-20231204/libhmac/Makefile.am
--- old/libbde-20231120/libhmac/Makefile.am 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/Makefile.am 2023-12-04 06:41:26.000000000 +0100
@@ -33,9 +33,11 @@
Makefile.in
distclean: clean
- /bin/rm -f Makefile
+ -rm -f Makefile
-splint:
+sources-local: $(BUILT_SOURCES)
+
+splint-local:
@echo "Running splint on libhmac ..."
-splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(libhmac_la_SOURCES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/libhmac_definitions.h new/libbde-20231204/libhmac/libhmac_definitions.h
--- old/libbde-20231120/libhmac/libhmac_definitions.h 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/libhmac_definitions.h 2023-12-04 06:41:26.000000000 +0100
@@ -34,11 +34,11 @@
* for local use of libhmac
*/
#else
-#define LIBHMAC_VERSION 20230407
+#define LIBHMAC_VERSION 20231127
/* The libhmac version string
*/
-#define LIBHMAC_VERSION_STRING "20230407"
+#define LIBHMAC_VERSION_STRING "20231127"
/* The digest hash sizes
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/libhmac_md5_context.c new/libbde-20231204/libhmac/libhmac_md5_context.c
--- old/libbde-20231120/libhmac/libhmac_md5_context.c 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/libhmac_md5_context.c 2023-12-04 06:41:26.000000000 +0100
@@ -1088,24 +1088,14 @@
return( -1 );
}
- if( hash_size > (size_t) UINT_MAX )
+ if( ( hash_size < (size_t) LIBHMAC_MD5_HASH_SIZE )
+ || ( hash_size > (size_t) UINT_MAX ) )
{
libcerror_error_set(
error,
LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
- "%s: invalid hash size value exceeds maximum.",
- function );
-
- return( -1 );
- }
- if( hash_size < (size_t) LIBHMAC_MD5_HASH_SIZE )
- {
- libcerror_error_set(
- error,
- LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
- "%s: invalid hash size value too small.",
+ LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+ "%s: invalid hash size value out of bounds.",
function );
return( -1 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/libhmac_sha1_context.c new/libbde-20231204/libhmac/libhmac_sha1_context.c
--- old/libbde-20231120/libhmac/libhmac_sha1_context.c 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/libhmac_sha1_context.c 2023-12-04 06:41:26.000000000 +0100
@@ -1161,24 +1161,14 @@
return( -1 );
}
- if( hash_size > (size_t) UINT_MAX )
+ if( ( hash_size < (size_t) LIBHMAC_SHA1_HASH_SIZE )
+ || ( hash_size > (size_t) UINT_MAX ) )
{
libcerror_error_set(
error,
LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
- "%s: invalid hash size value exceeds maximum.",
- function );
-
- return( -1 );
- }
- if( hash_size < (size_t) LIBHMAC_SHA1_HASH_SIZE )
- {
- libcerror_error_set(
- error,
- LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
- "%s: invalid hash size value too small.",
+ LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+ "%s: invalid hash size value out of bounds.",
function );
return( -1 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/libhmac_sha224_context.c new/libbde-20231204/libhmac/libhmac_sha224_context.c
--- old/libbde-20231120/libhmac/libhmac_sha224_context.c 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/libhmac_sha224_context.c 2023-12-04 06:41:26.000000000 +0100
@@ -1120,24 +1120,14 @@
return( -1 );
}
- if( hash_size > (size_t) UINT_MAX )
+ if( ( hash_size < (size_t) LIBHMAC_SHA224_HASH_SIZE )
+ || ( hash_size > (size_t) UINT_MAX ) )
{
libcerror_error_set(
error,
LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
- "%s: invalid hash size value exceeds maximum.",
- function );
-
- return( -1 );
- }
- if( hash_size < (size_t) LIBHMAC_SHA224_HASH_SIZE )
- {
- libcerror_error_set(
- error,
- LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
- "%s: invalid hash size value too small.",
+ LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+ "%s: invalid hash size value out of bounds.",
function );
return( -1 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/libhmac_sha256_context.c new/libbde-20231204/libhmac/libhmac_sha256_context.c
--- old/libbde-20231120/libhmac/libhmac_sha256_context.c 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/libhmac_sha256_context.c 2023-12-04 06:41:26.000000000 +0100
@@ -1120,24 +1120,14 @@
return( -1 );
}
- if( hash_size > (size_t) UINT_MAX )
+ if( ( hash_size < (size_t) LIBHMAC_SHA256_HASH_SIZE )
+ || ( hash_size > (size_t) UINT_MAX ) )
{
libcerror_error_set(
error,
LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
- "%s: invalid hash size value exceeds maximum.",
- function );
-
- return( -1 );
- }
- if( hash_size < (size_t) LIBHMAC_SHA256_HASH_SIZE )
- {
- libcerror_error_set(
- error,
- LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
- "%s: invalid hash size value too small.",
+ LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+ "%s: invalid hash size value out of bounds.",
function );
return( -1 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libbde-20231120/libhmac/libhmac_sha512_context.c new/libbde-20231204/libhmac/libhmac_sha512_context.c
--- old/libbde-20231120/libhmac/libhmac_sha512_context.c 2023-11-20 06:39:11.000000000 +0100
+++ new/libbde-20231204/libhmac/libhmac_sha512_context.c 2023-12-04 06:41:26.000000000 +0100
@@ -1156,24 +1156,14 @@
return( -1 );
}
- if( hash_size > (size_t) UINT_MAX )
+ if( ( hash_size < (size_t) LIBHMAC_SHA512_HASH_SIZE )
+ || ( hash_size > (size_t) UINT_MAX ) )
{
libcerror_error_set(
error,
LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
- "%s: invalid hash size value exceeds maximum.",
- function );
-
- return( -1 );
- }
- if( hash_size < (size_t) LIBHMAC_SHA512_HASH_SIZE )
- {
- libcerror_error_set(
- error,
- LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
- LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
- "%s: invalid hash size value too small.",
+ LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+ "%s: invalid hash size value out of bounds.",
function );
return( -1 );
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openCryptoki for openSUSE:Factory checked in at 2023-12-04 23:02:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openCryptoki (Old)
and /work/SRC/openSUSE:Factory/.openCryptoki.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openCryptoki"
Mon Dec 4 23:02:10 2023 rev:70 rq:1130787 version:3.22.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openCryptoki/openCryptoki.changes 2023-09-21 22:24:18.283600753 +0200
+++ /work/SRC/openSUSE:Factory/.openCryptoki.new.25432/openCryptoki.changes 2023-12-04 23:02:38.818130255 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 13:40:57 UTC 2023 - Nikolay Gueorguiev <nikolay.gueorguiev(a)suse.com>
+
+- Amended the .spec file for pkcsslotd (jsc#1217703)
+ * Renamed the patch ocki-3.21-remove-make-install-chgrp.patch to
+ ocki-3.22-remove-make-install-chgrp.patch
+-------------------------------------------------------------------
Old:
----
ocki-3.21-remove-make-install-chgrp.patch
New:
----
ocki-3.22-remove-make-install-chgrp.patch
BETA DEBUG BEGIN:
Old:- Amended the .spec file for pkcsslotd (jsc#1217703)
* Renamed the patch ocki-3.21-remove-make-install-chgrp.patch to
ocki-3.22-remove-make-install-chgrp.patch
BETA DEBUG END:
BETA DEBUG BEGIN:
New: * Renamed the patch ocki-3.21-remove-make-install-chgrp.patch to
ocki-3.22-remove-make-install-chgrp.patch
-------------------------------------------------------------------
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openCryptoki.spec ++++++
--- /var/tmp/diff_new_pack.me2jWz/_old 2023-12-04 23:02:39.430152489 +0100
+++ /var/tmp/diff_new_pack.me2jWz/_new 2023-12-04 23:02:39.434152635 +0100
@@ -23,6 +23,7 @@
# autobuild:/work/cd/lib/misc/group
# openCryptoki pkcs11:x:64:
%define pkcs11_group_id 64
+%define pkcs_group pkcs11
%define oc_cvs_tag opencryptoki
Name: openCryptoki
@@ -38,13 +39,14 @@
Source3: openCryptoki-rpmlintrc
# Patch 0 is needed because group pkcs11 doesn't exist in the build environment
# and because we don't want(?) various file and directory permissions to be 0700.
-Patch000: ocki-3.21-remove-make-install-chgrp.patch
+Patch000: ocki-3.22-remove-make-install-chgrp.patch
#
#
BuildRequires: bison
BuildRequires: dos2unix
BuildRequires: flex
BuildRequires: gcc-c++
+BuildRequires: libcap-devel
BuildRequires: libitm1
BuildRequires: libtool
BuildRequires: libudev-devel
@@ -53,10 +55,11 @@
BuildRequires: pkgconfig
BuildRequires: trousers-devel
BuildRequires: pkgconfig(systemd)
+###
Requires(pre): %{_sbindir}/groupadd
+Requires(pre): %{_sbindir}/useradd
Requires(pre): %{_sbindir}/usermod
###
-BuildRequires: libcap-devel
# IBM maintains openCryptoki on these architectures:
ExclusiveArch: %{openCryptoki_32bit_arch} %{openCryptoki_64bit_arch}
@@ -171,8 +174,10 @@
%{service_add_pre pkcsslotd.service}
# autobuild:/work/cd/lib/misc/group
# openCryptoki pkcs11:x:64:
-%{_sbindir}/groupadd -g %{pkcs11_group_id} -r pkcs11 2>/dev/null || true
-%{_sbindir}/usermod -a -G pkcs11 root
+# openCryptoki pkcsslotd:x:64:
+%{_sbindir}/groupadd -g %{pkcs11_group_id} -r %{pkcs_group} 2>/dev/null || true
+%{_sbindir}/useradd -g %{pkcs11_group_id} -r pkcsslotd -s /sbin/nologin -d /run/opencryptoki 2>/dev/null || true
+%{_sbindir}/usermod -a -G %{pkcs_group} root
%preun
%{service_del_preun pkcsslotd.service}
++++++ ocki-3.21-remove-make-install-chgrp.patch -> ocki-3.22-remove-make-install-chgrp.patch ++++++
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libvpl for openSUSE:Factory checked in at 2023-12-04 23:02:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvpl (Old)
and /work/SRC/openSUSE:Factory/.libvpl.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvpl"
Mon Dec 4 23:02:00 2023 rev:13 rq:1130754 version:2023.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvpl/libvpl.changes 2023-11-30 22:01:50.042193198 +0100
+++ /work/SRC/openSUSE:Factory/.libvpl.new.25432/libvpl.changes 2023-12-04 23:02:32.549900499 +0100
@@ -1,0 +2,33 @@
+Mon Dec 4 12:25:24 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- This includes latest version of one of the components needed for
+ Video (processing) hardware support on Intel GPUs (bsc#1217770)
+
+-------------------------------------------------------------------
+Mon Dec 4 12:21:30 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Update to version 2023.4.0
+ * Added
+ + oneVPL API 2.10 support
+ + New command line parameters to sample_multi_transcode for setting
+ B Frame QP Offsets based on Pyramid Level
+ + New command line parameters to the sample_vpp tool to enable video
+ signal information
+ + New APIs for importing and exporting shared surfaces
+ + New APIs for string-based parameter configuration
+ * Removed
+ + Environment module support
+ + Unused files and folders
+ * Fixed
+ + NV12 wayland render for MTL
+ + Buffer starvation when wayland window is moved
+ + Missing profile strings in vpl-inspect tool
+ + Rdrm to use card node instead of render node
+ + Rdrm tile4 selection based DRM/KMS query
+ + Rdrm NV12 and P010 render for MTL
+ * Changed
+ + Directory layout and name of dispatcher directory
+ + Location of image files used by documentation
+ + Runtime library search path to remove current directory
+
+-------------------------------------------------------------------
Old:
----
oneVPL-2023.2.0.tar.gz
New:
----
libvpl-2023.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvpl.spec ++++++
--- /var/tmp/diff_new_pack.gtGwVg/_old 2023-12-04 23:02:33.165923182 +0100
+++ /var/tmp/diff_new_pack.gtGwVg/_new 2023-12-04 23:02:33.165923182 +0100
@@ -25,13 +25,13 @@
%global sover 2
Name: libvpl
%define lname libvpl%{sover}
-Version: 2023.2.0
+Version: 2023.4.0
Release: 0
Summary: oneAPI Video Processing Library (oneVPL) dispatcher, tools, and examples
License: MIT
Group: Development/Languages/C and C++
URL: https://github.com/oneapi-src/oneVPL
-Source0: https://github.com/oneapi-src/oneVPL/archive/refs/tags/v%{version}.tar.gz#/…
+Source0: https://github.com/oneapi-src/oneVPL/archive/refs/tags/v%{version}.tar.gz#/…
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig
@@ -73,7 +73,7 @@
This package contains example applications for the oneAPI Video Processing Library (oneVPL) dispatcher.
%prep
-%autosetup -p1 -n oneVPL-%{version}
+%autosetup -p1 -n libvpl-%{version}
%build
%cmake \
@@ -94,9 +94,9 @@
%files -n %lname
%license LICENSE
%dir %{_distconfdir}
-%dir %{_distconfdir}/modulefiles
+#%dir %{_distconfdir}/modulefiles
%dir %{_distconfdir}/vpl
-%{_distconfdir}/modulefiles/vpl
+#%{_distconfdir}/modulefiles/vpl
%{_distconfdir}/vpl/vars.sh
%{_libdir}/libvpl.so.%{sover}
%{_libdir}/libvpl.so.%{sover}.*
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package intel-media-driver for openSUSE:Factory checked in at 2023-12-04 23:01:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/intel-media-driver (Old)
and /work/SRC/openSUSE:Factory/.intel-media-driver.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "intel-media-driver"
Mon Dec 4 23:01:58 2023 rev:34 rq:1130734 version:23.3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/intel-media-driver/intel-media-driver.changes 2023-11-20 21:20:02.699901213 +0100
+++ /work/SRC/openSUSE:Factory/.intel-media-driver.new.25432/intel-media-driver.changes 2023-12-04 23:02:31.421858963 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 12:08:31 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- This includes latest version of one of the components needed for
+ Video (processing) hardware support on Intel GPUs (bsc#1217770)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libdatovka for openSUSE:Factory checked in at 2023-12-04 23:01:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdatovka (Old)
and /work/SRC/openSUSE:Factory/.libdatovka.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdatovka"
Mon Dec 4 23:01:55 2023 rev:7 rq:1130721 version:0.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libdatovka/libdatovka.changes 2023-09-20 13:35:36.432440269 +0200
+++ /work/SRC/openSUSE:Factory/.libdatovka.new.25432/libdatovka.changes 2023-12-04 23:02:24.601607834 +0100
@@ -1,0 +2,21 @@
+Mon Dec 4 10:59:57 UTC 2023 - Jiri Slaby <jslaby(a)suse.cz>
+
+- update to 0.5.1
+ * Added missing test input files into source package.
+ * Optimisations inside isds_GetMessageAuthor2(), avoided copying of attribute
+ names.
+ * Added functions isds_GetListOfErasedMessages_interval(),
+ isds_GetListOfErasedMessages_month() and isds_GetListOfErasedMessages_year()
+ which implement the GetListOfErasedMessages ISDS operation.
+ * Added function isds_PickUpAsyncResponse() which implements the
+ PickUpAsyncResponse ISDS operation.
+ * Added function isds_load_erased_messages() which can be used to read data
+ from a XML-formatted decompressed asynchronous GetListOfErasedMessages
+ response. Actual decompression of obtained ZIP-compressed data isn't handled
+ by this library.
+ * Added support for the new PFO_ARCH, PFO_AIAT and PFO_AZI data-box types
+ introduced in the version 3.04 of the XSD and WSDL definitions.
+ * Added new elements dmFileGuid and dmUpFileGuid into struct isds_dmFile and
+ struct isds_dmExtFile.
+
+-------------------------------------------------------------------
Old:
----
libdatovka-0.4.0.tar.xz
libdatovka-0.4.0.tar.xz.sha256
New:
----
libdatovka-0.5.1.tar.xz
libdatovka-0.5.1.tar.xz.sha256
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdatovka.spec ++++++
--- /var/tmp/diff_new_pack.dPqa9X/_old 2023-12-04 23:02:26.497677649 +0100
+++ /var/tmp/diff_new_pack.dPqa9X/_new 2023-12-04 23:02:26.497677649 +0100
@@ -16,9 +16,9 @@
#
-%define libname %{name}5
+%define libname %{name}6
Name: libdatovka
-Version: 0.4.0
+Version: 0.5.1
Release: 0
Summary: Library for accessing the Czech Data Boxes
License: GPL-3.0-or-later
++++++ libdatovka-0.4.0.tar.xz -> libdatovka-0.5.1.tar.xz ++++++
++++ 20978 lines of diff (skipped)
++++++ libdatovka-0.4.0.tar.xz.sha256 -> libdatovka-0.5.1.tar.xz.sha256 ++++++
--- /work/SRC/openSUSE:Factory/libdatovka/libdatovka-0.4.0.tar.xz.sha256 2023-09-20 13:35:36.424439983 +0200
+++ /work/SRC/openSUSE:Factory/.libdatovka.new.25432/libdatovka-0.5.1.tar.xz.sha256 2023-12-04 23:02:24.301596788 +0100
@@ -1 +1 @@
-13ef1ccdb7b14a4482354003d6d30b5589c1f8586a9bfde045ee605d1d754b81
+53f96ad870c594367638bd95e55a82c94a176c0d7f94f50a5402d35e69eadaf8
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pytest-skip-markers for openSUSE:Factory checked in at 2023-12-04 23:01:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-skip-markers (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-skip-markers.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-skip-markers"
Mon Dec 4 23:01:53 2023 rev:2 rq:1130720 version:1.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-skip-markers/python-pytest-skip-markers.changes 2023-10-17 20:25:16.447861281 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest-skip-markers.new.25432/python-pytest-skip-markers.changes 2023-12-04 23:02:22.577533305 +0100
@@ -1,0 +2,18 @@
+Mon Dec 4 11:23:49 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.5.0:
+ * Add a ``skip_on_fips_enabled_platform`` marker
+ * Improvements
+ * Stop using deprecated `(a)pytest.mark.trylast`
+ * Trivial/Internal Changes
+ * Several minor fixes & improvements:
+ * Update pre-commit hooks versions
+ * Update copyright headers
+ * Update workflows
+ * Breaking Changes
+ * Drop support for python versions older than 3.7
+ * Improvements
+ * Don't cache the functions in
+ `pytestskipmarkers.utils.platform`
+
+-------------------------------------------------------------------
Old:
----
pytest-skip-markers-1.3.0.tar.gz
New:
----
pytest-skip-markers-1.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-skip-markers.spec ++++++
--- /var/tmp/diff_new_pack.RdK6uU/_old 2023-12-04 23:02:23.085552011 +0100
+++ /var/tmp/diff_new_pack.RdK6uU/_new 2023-12-04 23:02:23.085552011 +0100
@@ -14,25 +14,28 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
+
Name: python-pytest-skip-markers
-Version: 1.3.0
+Version: 1.5.0
Release: 0
Summary: Pytest plugin for conditionally skipping tests
License: Apache-2.0
URL: https://github.com/saltstack/pytest-skip-markers
Source: https://files.pythonhosted.org/packages/source/p/pytest-skip-markers/pytest…
-BuildRequires: python-rpm-macros
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module devel >= 3.7}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools >= 50.3.2}
BuildRequires: %{python_module setuptools-declarative-requirements}
BuildRequires: %{python_module setuptools_scm >= 3.4}
+BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
-BuildRequires: %{python_module pip}
+BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module attrs >= 19.2.0}
BuildRequires: %{python_module distro}
-BuildRequires: %{python_module pytest >= 6.0.0}
BuildRequires: %{python_module pyfakefs}
+BuildRequires: %{python_module pytest >= 6.0.0}
# /SECTION
BuildRequires: fdupes
Requires: python-attrs >= 19.2.0
++++++ pytest-skip-markers-1.3.0.tar.gz -> pytest-skip-markers-1.5.0.tar.gz ++++++
++++ 5209 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-uritools for openSUSE:Factory checked in at 2023-12-04 23:01:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-uritools (Old)
and /work/SRC/openSUSE:Factory/.python-uritools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-uritools"
Mon Dec 4 23:01:52 2023 rev:4 rq:1130724 version:4.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-uritools/python-uritools.changes 2022-10-12 18:26:17.085900283 +0200
+++ /work/SRC/openSUSE:Factory/.python-uritools.new.25432/python-uritools.changes 2023-12-04 23:02:21.053477188 +0100
@@ -1,0 +2,9 @@
+Mon Dec 4 11:29:49 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 4.0.2:
+ * Depend on Python >= 3.7.
+ * Support Python 3.12.
+ * Add support for Python 3.11.
+ * Correct version information in RTD documentation.
+
+-------------------------------------------------------------------
Old:
----
uritools-4.0.0.tar.gz
New:
----
uritools-4.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-uritools.spec ++++++
--- /var/tmp/diff_new_pack.hgT5uF/_old 2023-12-04 23:02:22.125516661 +0100
+++ /var/tmp/diff_new_pack.hgT5uF/_new 2023-12-04 23:02:22.125516661 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-uritools
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-uritools
-Version: 4.0.0
+Version: 4.0.2
Release: 0
Summary: URI parsing, classification and composition
License: MIT
++++++ uritools-4.0.0.tar.gz -> uritools-4.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/CHANGELOG.rst new/uritools-4.0.2/CHANGELOG.rst
--- old/uritools-4.0.0/CHANGELOG.rst 2022-01-02 11:31:31.000000000 +0100
+++ new/uritools-4.0.2/CHANGELOG.rst 2023-08-30 21:31:51.000000000 +0200
@@ -1,3 +1,21 @@
+v4.0.2 (2023-08-30)
+===================
+
+- Depend on Python >= 3.7.
+
+- Support Python 3.12.
+
+
+v4.0.1 (2023-01-08)
+===================
+
+- Add support for Python 3.11.
+
+- Correct version information in RTD documentation.
+
+- ``badges/shields``: Change to GitHub workflow badge routes.
+
+
v4.0.0 (2022-01-02)
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/PKG-INFO new/uritools-4.0.2/PKG-INFO
--- old/uritools-4.0.0/PKG-INFO 2022-01-02 11:34:56.492067800 +0100
+++ new/uritools-4.0.2/PKG-INFO 2023-08-30 21:34:03.441240300 +0200
@@ -1,12 +1,11 @@
Metadata-Version: 2.1
Name: uritools
-Version: 4.0.0
+Version: 4.0.2
Summary: URI parsing, classification and composition
Home-page: https://github.com/tkem/uritools/
Author: Thomas Kemmer
Author-email: tkemmer(a)computer.org
License: MIT
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
@@ -18,8 +17,10 @@
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: ~=3.7
+Requires-Python: >=3.7
License-File: LICENSE
uritools
@@ -29,18 +30,22 @@
:target: https://pypi.org/project/uritools
:alt: Latest PyPI version
+.. image:: https://img.shields.io/github/actions/workflow/status/tkem/uritools/ci.yml
+ :target: https://github.com/tkem/uritools/actions/workflows/ci.yml
+ :alt: CI build status
+
.. image:: https://img.shields.io/readthedocs/uritools
:target: https://uritools.readthedocs.io
:alt: Documentation build status
-.. image:: https://img.shields.io/github/workflow/status/tkem/uritools/CI
- :target: https://github.com/tkem/uritools/actions/workflows/ci.yml
- :alt: CI build status
-
.. image:: https://img.shields.io/codecov/c/github/tkem/uritools/master.svg
:target: https://codecov.io/gh/tkem/uritools
:alt: Test coverage
+.. image:: https://img.shields.io/librariesio/sourcerank/pypi/uritools
+ :target: https://libraries.io/pypi/uritools
+ :alt: Libraries.io SourceRank
+
.. image:: https://img.shields.io/github/license/tkem/uritools
:target: https://raw.github.com/tkem/uritools/master/LICENSE
:alt: License
@@ -114,7 +119,7 @@
License
------------------------------------------------------------------------
-Copyright (c) 2014-2022 Thomas Kemmer.
+Copyright (c) 2014-2023 Thomas Kemmer.
Licensed under the `MIT License`_.
@@ -125,5 +130,3 @@
.. _Source code: https://github.com/tkem/uritools/
.. _Change log: https://github.com/tkem/uritools/blob/master/CHANGELOG.rst
.. _MIT License: https://raw.github.com/tkem/uritools/master/LICENSE
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/README.rst new/uritools-4.0.2/README.rst
--- old/uritools-4.0.0/README.rst 2022-01-02 11:31:17.000000000 +0100
+++ new/uritools-4.0.2/README.rst 2023-01-08 21:41:16.000000000 +0100
@@ -5,18 +5,22 @@
:target: https://pypi.org/project/uritools
:alt: Latest PyPI version
+.. image:: https://img.shields.io/github/actions/workflow/status/tkem/uritools/ci.yml
+ :target: https://github.com/tkem/uritools/actions/workflows/ci.yml
+ :alt: CI build status
+
.. image:: https://img.shields.io/readthedocs/uritools
:target: https://uritools.readthedocs.io
:alt: Documentation build status
-.. image:: https://img.shields.io/github/workflow/status/tkem/uritools/CI
- :target: https://github.com/tkem/uritools/actions/workflows/ci.yml
- :alt: CI build status
-
.. image:: https://img.shields.io/codecov/c/github/tkem/uritools/master.svg
:target: https://codecov.io/gh/tkem/uritools
:alt: Test coverage
+.. image:: https://img.shields.io/librariesio/sourcerank/pypi/uritools
+ :target: https://libraries.io/pypi/uritools
+ :alt: Libraries.io SourceRank
+
.. image:: https://img.shields.io/github/license/tkem/uritools
:target: https://raw.github.com/tkem/uritools/master/LICENSE
:alt: License
@@ -90,7 +94,7 @@
License
------------------------------------------------------------------------
-Copyright (c) 2014-2022 Thomas Kemmer.
+Copyright (c) 2014-2023 Thomas Kemmer.
Licensed under the `MIT License`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/docs/conf.py new/uritools-4.0.2/docs/conf.py
--- old/uritools-4.0.0/docs/conf.py 2022-01-02 11:31:17.000000000 +0100
+++ new/uritools-4.0.2/docs/conf.py 2023-08-30 21:31:51.000000000 +0200
@@ -1,16 +1,7 @@
-def get_version():
- import configparser
- import pathlib
-
- cp = configparser.ConfigParser()
- cp.read(pathlib.Path(__file__).parent.parent / "setup.cfg")
- return cp["metadata"]["version"]
-
-
project = "uritools"
-copyright = "2014-2022 Thomas Kemmer"
-version = get_version()
-release = version
+copyright = "2014-2023 Thomas Kemmer"
+version = "4.0"
+release = "4.0.2"
extensions = [
"sphinx.ext.autodoc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/setup.cfg new/uritools-4.0.2/setup.cfg
--- old/uritools-4.0.0/setup.cfg 2022-01-02 11:34:56.492067800 +0100
+++ new/uritools-4.0.2/setup.cfg 2023-08-30 21:34:03.441240300 +0200
@@ -20,13 +20,15 @@
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
+ Programming Language :: Python :: 3.12
Topic :: Software Development :: Libraries :: Python Modules
[options]
package_dir =
= src
packages = find:
-python_requires = ~= 3.7
+python_requires = >= 3.7
[options.packages.find]
where = src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/src/uritools/__init__.py new/uritools-4.0.2/src/uritools/__init__.py
--- old/uritools-4.0.0/src/uritools/__init__.py 2022-01-02 11:31:17.000000000 +0100
+++ new/uritools-4.0.2/src/uritools/__init__.py 2023-08-30 21:31:51.000000000 +0200
@@ -34,7 +34,7 @@
"uriunsplit",
)
-__version__ = "4.0.0"
+__version__ = "4.0.2"
# RFC 3986 2.2. Reserved Characters
@@ -455,12 +455,11 @@
class SplitResultBytes(SplitResult):
-
__slots__ = () # prevent creation of instance dictionary
# RFC 3986 Appendix B
RE = re.compile(
- br"""
+ rb"""
(?:([A-Za-z][A-Za-z0-9+.-]*):)? # scheme (RFC 3986 3.1)
(?://([^/?#]*))? # authority
([^?#]*) # path
@@ -490,7 +489,6 @@
class SplitResultString(SplitResult):
-
__slots__ = () # prevent creation of instance dictionary
# RFC 3986 Appendix B
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/src/uritools.egg-info/PKG-INFO new/uritools-4.0.2/src/uritools.egg-info/PKG-INFO
--- old/uritools-4.0.0/src/uritools.egg-info/PKG-INFO 2022-01-02 11:34:56.000000000 +0100
+++ new/uritools-4.0.2/src/uritools.egg-info/PKG-INFO 2023-08-30 21:34:03.000000000 +0200
@@ -1,12 +1,11 @@
Metadata-Version: 2.1
Name: uritools
-Version: 4.0.0
+Version: 4.0.2
Summary: URI parsing, classification and composition
Home-page: https://github.com/tkem/uritools/
Author: Thomas Kemmer
Author-email: tkemmer(a)computer.org
License: MIT
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
@@ -18,8 +17,10 @@
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: ~=3.7
+Requires-Python: >=3.7
License-File: LICENSE
uritools
@@ -29,18 +30,22 @@
:target: https://pypi.org/project/uritools
:alt: Latest PyPI version
+.. image:: https://img.shields.io/github/actions/workflow/status/tkem/uritools/ci.yml
+ :target: https://github.com/tkem/uritools/actions/workflows/ci.yml
+ :alt: CI build status
+
.. image:: https://img.shields.io/readthedocs/uritools
:target: https://uritools.readthedocs.io
:alt: Documentation build status
-.. image:: https://img.shields.io/github/workflow/status/tkem/uritools/CI
- :target: https://github.com/tkem/uritools/actions/workflows/ci.yml
- :alt: CI build status
-
.. image:: https://img.shields.io/codecov/c/github/tkem/uritools/master.svg
:target: https://codecov.io/gh/tkem/uritools
:alt: Test coverage
+.. image:: https://img.shields.io/librariesio/sourcerank/pypi/uritools
+ :target: https://libraries.io/pypi/uritools
+ :alt: Libraries.io SourceRank
+
.. image:: https://img.shields.io/github/license/tkem/uritools
:target: https://raw.github.com/tkem/uritools/master/LICENSE
:alt: License
@@ -114,7 +119,7 @@
License
------------------------------------------------------------------------
-Copyright (c) 2014-2022 Thomas Kemmer.
+Copyright (c) 2014-2023 Thomas Kemmer.
Licensed under the `MIT License`_.
@@ -125,5 +130,3 @@
.. _Source code: https://github.com/tkem/uritools/
.. _Change log: https://github.com/tkem/uritools/blob/master/CHANGELOG.rst
.. _MIT License: https://raw.github.com/tkem/uritools/master/LICENSE
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.0/tests/test_join.py new/uritools-4.0.2/tests/test_join.py
--- old/uritools-4.0.0/tests/test_join.py 2021-10-11 20:18:34.000000000 +0200
+++ new/uritools-4.0.2/tests/test_join.py 2023-08-30 21:31:51.000000000 +0200
@@ -4,7 +4,6 @@
class JoinTest(unittest.TestCase):
-
RFC3986_BASE = "http://a/b/c/d;p?q"
def check(self, base, ref, expected, strict=False):
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pytest-order for openSUSE:Factory checked in at 2023-12-04 23:01:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-order (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-order.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-order"
Mon Dec 4 23:01:48 2023 rev:4 rq:1130706 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-order/python-pytest-order.changes 2023-10-25 18:05:55.000686368 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest-order.new.25432/python-pytest-order.changes 2023-12-04 23:02:17.177334464 +0100
@@ -1,0 +2,9 @@
+Mon Dec 4 10:40:23 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.2.0:
+ * Allows using custom markers for ordering.
+ * added option `--order-marker-prefix` to allow using custom
+ markers for ordering
+ * added Python 3.12 to supported versions
+
+-------------------------------------------------------------------
Old:
----
pytest-order-1.1.0.tar.gz
New:
----
pytest-order-1.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-order.spec ++++++
--- /var/tmp/diff_new_pack.JTbdLd/_old 2023-12-04 23:02:17.681353022 +0100
+++ /var/tmp/diff_new_pack.JTbdLd/_new 2023-12-04 23:02:17.681353022 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-pytest-order
-Version: 1.1.0
+Version: 1.2.0
Release: 0
Summary: Pytest plugin to run your tests in a specific order
License: MIT
++++++ pytest-order-1.1.0.tar.gz -> pytest-order-1.2.0.tar.gz ++++++
++++ 4204 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-tinyrpc for openSUSE:Factory checked in at 2023-12-04 23:01:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tinyrpc (Old)
and /work/SRC/openSUSE:Factory/.python-tinyrpc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tinyrpc"
Mon Dec 4 23:01:43 2023 rev:12 rq:1130711 version:1.1.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tinyrpc/python-tinyrpc.changes 2023-04-28 16:26:18.595040656 +0200
+++ /work/SRC/openSUSE:Factory/.python-tinyrpc.new.25432/python-tinyrpc.changes 2023-12-04 23:02:12.537163608 +0100
@@ -1,0 +2,10 @@
+Mon Dec 4 10:47:57 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.1.7:
+ * Update pyzmq to 23.2.1 to support Python 3.11
+ * Add pyproject.toml for sake of PEP517 compatibility
+ * Update gevent in requirements.txt to support Python 3.11
+ * Removed dependency on six as the package supports Python 3 only now
+- drop python-tinyrpc-no-six.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
1.1.6.tar.gz
python-tinyrpc-no-six.patch
New:
----
1.1.7.tar.gz
BETA DEBUG BEGIN:
Old: * Removed dependency on six as the package supports Python 3 only now
- drop python-tinyrpc-no-six.patch (upstream)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tinyrpc.spec ++++++
--- /var/tmp/diff_new_pack.ajlEiN/_old 2023-12-04 23:02:13.069183197 +0100
+++ /var/tmp/diff_new_pack.ajlEiN/_new 2023-12-04 23:02:13.069183197 +0100
@@ -18,14 +18,12 @@
%define skip_python2 1
Name: python-tinyrpc
-Version: 1.1.6
+Version: 1.1.7
Release: 0
Summary: A modular transport and protocol neutral RPC library
License: MIT
URL: https://github.com/mbr/tinyrpc
Source: https://github.com/mbr/tinyrpc/archive/%{version}.tar.gz
-# https://github.com/mbr/tinyrpc/issues/103
-Patch0: python-tinyrpc-no-six.patch
BuildRequires: %{python_module Werkzeug}
BuildRequires: %{python_module gevent}
BuildRequires: %{python_module msgpack}
++++++ 1.1.6.tar.gz -> 1.1.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/.github/workflows/python-tox.yml new/tinyrpc-1.1.7/.github/workflows/python-tox.yml
--- old/tinyrpc-1.1.6/.github/workflows/python-tox.yml 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/.github/workflows/python-tox.yml 2023-07-26 16:29:04.000000000 +0200
@@ -16,7 +16,7 @@
strategy:
fail-fast: false
matrix:
- python-version: [3.6, 3.7, 3.8, 3.9]
+ python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/.readthedocs.yaml new/tinyrpc-1.1.7/.readthedocs.yaml
--- old/tinyrpc-1.1.6/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/tinyrpc-1.1.7/.readthedocs.yaml 2023-07-26 16:29:04.000000000 +0200
@@ -0,0 +1,22 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the version of Python and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.11"
+
+# Build documentation in the docs/ directory with Sphinx
+sphinx:
+ configuration: docs/conf.py
+
+# We recommend specifying your dependencies to enable reproducible builds:
+# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
+# python:
+# install:
+# - requirements: docs/requirements.txt
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/docs/conf.py new/tinyrpc-1.1.7/docs/conf.py
--- old/tinyrpc-1.1.6/docs/conf.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/docs/conf.py 2023-07-26 16:29:04.000000000 +0200
@@ -51,7 +51,7 @@
# The short X.Y version.
version = '1.1'
# The full version, including alpha/beta/rc tags.
-release = '1.1.6'
+release = '1.1.7'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -260,3 +260,5 @@
}
autoclass_content = "both"
+
+autodoc_mock_imports = ["msgpack", "zmq", "werkzeug", "pika", "geventwebsocket"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/http_client_example.py new/tinyrpc-1.1.7/examples/http_client_example.py
--- old/tinyrpc-1.1.6/examples/http_client_example.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/examples/http_client_example.py 2023-07-26 16:29:04.000000000 +0200
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+#!/usr/bin/env python3
from tinyrpc.protocols.jsonrpc import JSONRPCProtocol
from tinyrpc.transports.http import HttpPostClientTransport
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/http_server_example.py new/tinyrpc-1.1.7/examples/http_server_example.py
--- old/tinyrpc-1.1.6/examples/http_server_example.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/examples/http_server_example.py 2023-07-26 16:29:04.000000000 +0200
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+#!/usr/bin/env python3
import gevent
import gevent.wsgi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/zmq_client_example.py new/tinyrpc-1.1.7/examples/zmq_client_example.py
--- old/tinyrpc-1.1.6/examples/zmq_client_example.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/examples/zmq_client_example.py 2023-07-26 16:29:04.000000000 +0200
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+#!/usr/bin/env python3
import zmq
@@ -19,4 +18,4 @@
# call a method called 'reverse_string' with a single string argument
result = remote_server.reverse_string('Hello, World!')
-print "Server answered:", result
+print("Server answered:", result)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/zmq_server_example.py new/tinyrpc-1.1.7/examples/zmq_server_example.py
--- old/tinyrpc-1.1.6/examples/zmq_server_example.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/examples/zmq_server_example.py 2023-07-26 16:29:04.000000000 +0200
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+#!/usr/bin/env python3
import zmq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/pyproject.toml new/tinyrpc-1.1.7/pyproject.toml
--- old/tinyrpc-1.1.6/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/tinyrpc-1.1.7/pyproject.toml 2023-07-26 16:29:04.000000000 +0200
@@ -0,0 +1,4 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/requirements.txt new/tinyrpc-1.1.7/requirements.txt
--- old/tinyrpc-1.1.6/requirements.txt 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/requirements.txt 2023-07-26 16:29:04.000000000 +0200
@@ -1,11 +1,9 @@
-gevent==21.1.2
+gevent==22.10.2
gevent-websocket==0.10.1
msgpack==1.0.2
pika==1.2.0
pytest==6.2.4
pytest-cov==2.11.1
-pyzmq==22.0.3
-requests==2.25.1
-six==1.16.0
-Werkzeug==2.0.0
-
+pyzmq==23.2.1
+requests==2.31.0
+Werkzeug==2.2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/setup.py new/tinyrpc-1.1.7/setup.py
--- old/tinyrpc-1.1.6/setup.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/setup.py 2023-07-26 16:29:04.000000000 +0200
@@ -9,7 +9,7 @@
setup(
name='tinyrpc',
- version='1.1.6',
+ version='1.1.7',
description='A small, modular, transport and protocol neutral RPC '
'library that, among other things, supports JSON-RPC and zmq.',
long_description=read('README.rst'),
@@ -22,7 +22,6 @@
maintainer_email='leo(a)noordergraaf.net',
url='http://github.com/mbr/tinyrpc',
license='MIT',
- install_requires=['six'],
extras_require={
'gevent': ['gevent'],
'httpclient': ['requests', 'websocket-client', 'gevent-websocket'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/_compat.py new/tinyrpc-1.1.7/tests/_compat.py
--- old/tinyrpc-1.1.6/tests/_compat.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tests/_compat.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-# from http://stackoverflow.com/questions/28215214/how-to-add-custom-renames-in-six
-
-import six
-mod = six.MovedModule('mock', 'mock', 'unittest.mock')
-six.add_move(mod)
-six._importer._add_module(mod, "moves." + mod.name)
-
-# issue open at https://bitbucket.org/gutworth/six/issue/116/enable-importing-from-within-c…
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_jsonrpc.py new/tinyrpc-1.1.7/tests/test_jsonrpc.py
--- old/tinyrpc-1.1.6/tests/test_jsonrpc.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tests/test_jsonrpc.py 2023-07-26 16:29:04.000000000 +0200
@@ -3,7 +3,6 @@
import json
-import six
import pytest
from tinyrpc import MethodNotFoundError, InvalidRequestError, ServerError, \
@@ -65,7 +64,7 @@
def test_parsing_good_request_samples(prot, data, attrs):
req = prot.parse_request(data)
- for k, v in six.iteritems(attrs):
+ for k, v in attrs.items():
assert getattr(req, k) == v
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_msgpackrpc.py new/tinyrpc-1.1.7/tests/test_msgpackrpc.py
--- old/tinyrpc-1.1.6/tests/test_msgpackrpc.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tests/test_msgpackrpc.py 2023-07-26 16:29:04.000000000 +0200
@@ -2,7 +2,6 @@
# -*- coding: utf-8 -*-
import msgpack
-import six
import pytest
from tinyrpc import InvalidReplyError, MethodNotFoundError
@@ -48,7 +47,7 @@
def test_parsing_good_request_samples(prot, data, attrs):
req = prot.parse_request(data)
- for k, v in six.iteritems(attrs):
+ for k, v in attrs.items():
assert getattr(req, k) == v
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_transport.py new/tinyrpc-1.1.7/tests/test_transport.py
--- old/tinyrpc-1.1.6/tests/test_transport.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tests/test_transport.py 2023-07-26 16:29:04.000000000 +0200
@@ -2,7 +2,6 @@
# -*- coding: utf-8 -*-
import pytest
-import six
import zmq
import zmq.green
@@ -20,7 +19,7 @@
return self.messages.pop()
def send_reply(self, context, message):
- if not isinstance(message, sid.string_types):
+ if not isinstance(message, str):
raise TypeError('Message must be str().')
self.clients[context].messages.append(message)
@@ -60,11 +59,9 @@
return ctx
-if six.PY3:
- # zmq and zmq.green fail on python3
- SERVERS=['dummy']
-else:
- SERVERS=['dummy', 'zmq', 'zmq.green']
+# zmq and zmq.green fail on python3
+SERVERS=['dummy']
+
@pytest.fixture(params=SERVERS)
def transport(request, zmq_context, zmq_green_context):
if request.param == 'dummy':
@@ -86,11 +83,8 @@
return (client, server)
SAMPLE_MESSAGES = ['asdf', 'loremipsum' * 1500, '', '\x00', 'b\x00a', '\r\n',
- '\n', u'\u1234'.encode('utf8')]
-if six.PY3:
- BAD_MESSAGES = [b'asdf', b'', 1234, 1.2, None, True, False, ('foo',)]
-else:
- BAD_MESSAGES = [u'asdf', u'', 1234, 1.2, None, True, False, ('foo',)]
+ '\n', '\u1234'.encode('utf8')]
+BAD_MESSAGES = [b'asdf', b'', 1234, 1.2, None, True, False, ('foo',)]
@pytest.fixture(scope='session',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_wsgi_transport.py new/tinyrpc-1.1.7/tests/test_wsgi_transport.py
--- old/tinyrpc-1.1.6/tests/test_wsgi_transport.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tests/test_wsgi_transport.py 2023-07-26 16:29:04.000000000 +0200
@@ -4,13 +4,14 @@
import pytest
-import six
import gevent
import gevent.queue
import gevent.monkey
from gevent.pywsgi import WSGIServer
import requests
+from importlib import reload
+
from tinyrpc.transports.wsgi import WsgiServerTransport
from tinyrpc.transports.http import HttpPostClientTransport
@@ -33,7 +34,7 @@
aggressive=False)
def fin():
- six.moves.reload_module(socket)
+ reload(socket)
request.addfinalizer(fin)
@@ -70,21 +71,21 @@
@pytest.mark.parametrize(('msg',),
- [(six.b('foo'),), (six.b(''),), (six.b('bar'),), (six.b('1234'),), (six.b('{}'),), (six.b('{'),), (six.b('\x00\r\n'),)])
+ [(b'foo',), (b'',), (b'bar',), (b'1234',), (b'{}',), (b'{',), (b'\x00\r\n',)])
def test_server_receives_messages(wsgi_server, msg):
transport, addr = wsgi_server
def consumer():
context, received_msg = transport.receive_message()
assert received_msg == msg
- reply = six.b('reply:') + msg
+ reply = b'reply:' + msg
transport.send_reply(context, reply)
gevent.spawn(consumer)
r = requests.post(addr, data=msg)
- assert r.content == six.b('reply:') + msg
+ assert r.content == b'reply:' + msg
@pytest.fixture
@@ -106,20 +107,20 @@
@pytest.mark.parametrize(('msg',),
- [(six.b('foo'),), (six.b(''),), (six.b('bar'),), (six.b('1234'),), (six.b('{}'),), (six.b('{'),), (six.b('\x00\r\n'),)])
+ [(b'foo',), (b'',), (b'bar',), (b'1234',), (b'{}',), (b'{',), (b'\x00\r\n',)])
def test_sessioned_http_sessioned_client(wsgi_server, sessioned_client, msg):
transport, addr = wsgi_server
def consumer():
context, received_msg = transport.receive_message()
assert received_msg == msg
- reply = six.b('reply:') + msg
+ reply = b'reply:' + msg
transport.send_reply(context, reply)
gevent.spawn(consumer)
result = sessioned_client.send_message(msg)
- assert result == six.b('reply:') + msg
+ assert result == b'reply:' + msg
@pytest.mark.skip('somehow fails on travis')
@@ -137,22 +138,22 @@
def consumer():
context, received_msg = transport.receive_message()
- reply = six.b('reply:') + received_msg
+ reply = b'reply:' + received_msg
transport.send_reply(context, reply)
def send_and_receive(i):
try:
gevent.spawn(consumer)
- msg = six.b('msg_%s' % i)
+ msg = b'msg_%s' % i
result = non_sessioned_client.send_message(msg)
- return result == six.b('reply:') + msg
+ return result == b'reply:' + msg
except Exception as e:
return e
pool = gevent.pool.Pool(500)
with pytest.raises(requests.ConnectionError):
- for result in pool.imap_unordered(send_and_receive, six.moves.xrange(55000)):
+ for result in pool.imap_unordered(send_and_receive, range(55000)):
assert result
if isinstance(result, Exception):
raise result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tinyrpc/protocols/msgpackrpc.py new/tinyrpc-1.1.7/tinyrpc/protocols/msgpackrpc.py
--- old/tinyrpc-1.1.6/tinyrpc/protocols/msgpackrpc.py 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tinyrpc/protocols/msgpackrpc.py 2023-07-26 16:29:04.000000000 +0200
@@ -14,7 +14,6 @@
)
import msgpack
-import six
from typing import Any, Dict, List, Optional, Tuple, Union, Generator
@@ -104,7 +103,7 @@
def _get_code_and_message(error):
- assert isinstance(error, (Exception, six.string_types))
+ assert isinstance(error, (Exception, str))
if isinstance(error, Exception):
if hasattr(error, "msgpackrpc_error_code"):
code = error.msgpackrpc_error_code
@@ -390,7 +389,7 @@
raise MSGPACKRPCInvalidRequestError()
def _parse_notification(self, req):
- if not isinstance(req[1], six.string_types):
+ if not isinstance(req[1], str):
raise MSGPACKRPCInvalidRequestError()
request = MSGPACKRPCRequest()
@@ -408,7 +407,7 @@
return request
def _parse_request(self, req):
- if not isinstance(req[2], six.string_types):
+ if not isinstance(req[2], str):
raise MSGPACKRPCInvalidRequestError(request_id=req[1])
request = MSGPACKRPCRequest()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tox.ini new/tinyrpc-1.1.7/tox.ini
--- old/tinyrpc-1.1.6/tox.ini 2023-02-09 17:45:39.000000000 +0100
+++ new/tinyrpc-1.1.7/tox.ini 2023-07-26 16:29:04.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
#envlist = py38
-envlist = py34, py35, py36, py37, py38, py39
+envlist = py34, py35, py36, py37, py38, py39, py310, py311
[testenv]
deps = -rrequirements.txt
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-typepy for openSUSE:Factory checked in at 2023-12-04 23:01:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typepy (Old)
and /work/SRC/openSUSE:Factory/.python-typepy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-typepy"
Mon Dec 4 23:01:40 2023 rev:9 rq:1130708 version:1.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typepy/python-typepy.changes 2021-12-08 00:00:38.567556582 +0100
+++ /work/SRC/openSUSE:Factory/.python-typepy.new.25432/python-typepy.changes 2023-12-04 23:02:10.885102778 +0100
@@ -1,0 +2,8 @@
+Mon Dec 4 10:42:07 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.3.2:
+ * Fix `DateTime` conversion for timezone aware datetime
+ * Modify to use `pypa/build` for package build
+ * Add support for Python 3.12
+
+-------------------------------------------------------------------
Old:
----
typepy-1.3.0.tar.gz
New:
----
typepy-1.3.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-typepy.spec ++++++
--- /var/tmp/diff_new_pack.mxMF5A/_old 2023-12-04 23:02:11.397121631 +0100
+++ /var/tmp/diff_new_pack.mxMF5A/_new 2023-12-04 23:02:11.401121779 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-typepy
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-typepy
-Version: 1.3.0
+Version: 1.3.2
Release: 0
Summary: Python library for run time variable type checker
License: MIT
++++++ typepy-1.3.0.tar.gz -> typepy-1.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/PKG-INFO new/typepy-1.3.2/PKG-INFO
--- old/typepy-1.3.0/PKG-INFO 2021-09-20 16:50:14.700000000 +0200
+++ new/typepy-1.3.2/PKG-INFO 2023-10-03 15:18:42.228973400 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: typepy
-Version: 1.3.0
+Version: 1.3.2
Summary: typepy is a Python library for variable type checker/validator/converter at a run time.
Home-page: https://github.com/thombashi/typepy
Author: Tsuyoshi Hombashi
@@ -9,30 +9,39 @@
Project-URL: Documentation, https://typepy.rtfd.io/
Project-URL: Source, https://github.com/thombashi/typepy
Project-URL: Tracker, https://github.com/thombashi/typepy/issues
-Project-URL: Changes, https://github.com/thombashi/typepy/releases
+Project-URL: Changlog, https://github.com/thombashi/typepy/releases
Keywords: library,type-checking,type-conversion,validator
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: mbstrdecoder<2,>=1.0.0
Provides-Extra: datetime
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "datetime"
+Requires-Dist: pytz>=2018.9; extra == "datetime"
+Requires-Dist: packaging; extra == "datetime"
Provides-Extra: test
-License-File: LICENSE
+Requires-Dist: pytest>=6.0.1; extra == "test"
+Requires-Dist: tcolorpy; extra == "test"
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "test"
+Requires-Dist: pytz>=2018.9; extra == "test"
+Requires-Dist: packaging; extra == "test"
.. contents:: **typepy**
:backlinks: top
@@ -66,15 +75,15 @@
:target: https://coveralls.io/github/thombashi/typepy?branch=master
:alt: Test coverage
-.. image:: https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml/b…
- :target: https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml
+.. image:: https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/…
+ :target: https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/…
:alt: CodeQL
Features
==========
- checking a value type
- validate a value for a type
-- convert a value from a type to the other type
+- convert a value from one type to the other type
The correspondence between Python types and ``typepy`` classes are as follows:
@@ -129,10 +138,10 @@
Dependencies
============
-- Python 3.6+
+- Python 3.7+
- `Python package dependencies (automatically installed) <https://github.com/thombashi/typepy/network/dependencies>`__
-Optioal dependencies
+Optional dependencies
----------------------------------
These packages can be installed via ``pip install typepy[datetime]``:
@@ -212,7 +221,7 @@
>>> try:
... Integer("abc").force_convert()
... except TypeConversionError as e:
- ... # force_convert() raised TypeConversionError when the value not convertible
+ ... # force_convert() raised TypeConversionError when the value was not convertible
... print(e)
...
failed to force_convert to int: type=<class 'str'>
@@ -221,7 +230,7 @@
For more information
--------------------------------------------
Type check/validate/convert results differed according to
-``strict_level`` value which can pass to typepy classes constructors as an argument.
+``strict_level`` value which can pass to typepy class constructors as an argument.
More information can be found in the
`API reference <https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
@@ -229,5 +238,3 @@
===============
https://typepy.rtfd.io/
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/README.rst new/typepy-1.3.2/README.rst
--- old/typepy-1.3.0/README.rst 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/README.rst 2023-10-03 15:17:50.000000000 +0200
@@ -30,15 +30,15 @@
:target: https://coveralls.io/github/thombashi/typepy?branch=master
:alt: Test coverage
-.. image:: https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml/b…
- :target: https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml
+.. image:: https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/…
+ :target: https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/…
:alt: CodeQL
Features
==========
- checking a value type
- validate a value for a type
-- convert a value from a type to the other type
+- convert a value from one type to the other type
The correspondence between Python types and ``typepy`` classes are as follows:
@@ -93,10 +93,10 @@
Dependencies
============
-- Python 3.6+
+- Python 3.7+
- `Python package dependencies (automatically installed) <https://github.com/thombashi/typepy/network/dependencies>`__
-Optioal dependencies
+Optional dependencies
----------------------------------
These packages can be installed via ``pip install typepy[datetime]``:
@@ -176,7 +176,7 @@
>>> try:
... Integer("abc").force_convert()
... except TypeConversionError as e:
- ... # force_convert() raised TypeConversionError when the value not convertible
+ ... # force_convert() raised TypeConversionError when the value was not convertible
... print(e)
...
failed to force_convert to int: type=<class 'str'>
@@ -185,7 +185,7 @@
For more information
--------------------------------------------
Type check/validate/convert results differed according to
-``strict_level`` value which can pass to typepy classes constructors as an argument.
+``strict_level`` value which can pass to typepy class constructors as an argument.
More information can be found in the
`API reference <https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/pyproject.toml new/typepy-1.3.2/pyproject.toml
--- old/typepy-1.3.0/pyproject.toml 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/pyproject.toml 2023-10-03 15:17:50.000000000 +0200
@@ -1,8 +1,8 @@
[build-system]
-requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+requires = ["setuptools>=61.0"]
[tool.black]
-line-length = 100
exclude = '''
/(
\.eggs
@@ -18,48 +18,50 @@
)/
| docs/conf.py
'''
+line-length = 100
+target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312']
[tool.isort]
+include_trailing_comma = true
known_third_party = [
- 'dateutil',
- 'logbook',
- 'pytablewriter',
- 'pytest',
- 'pytz',
- 'sphinx_rtd_theme',
- 'tcolorpy',
+ 'dateutil',
+ 'logbook',
+ 'pytablewriter',
+ 'pytest',
+ 'pytz',
+ 'sphinx_rtd_theme',
+ 'tcolorpy',
]
-include_trailing_comma = true
line_length = 100
lines_after_imports = 2
multi_line_output = 3
skip_glob = [
- '*/.eggs/*',
- '*/.pytype/*',
- '*/.tox/*',
+ '*/.eggs/*',
+ '*/.pytype/*',
+ '*/.tox/*',
]
[tool.coverage.run]
-source = ["typepy"]
branch = true
+source = ["typepy"]
[tool.coverage.report]
-show_missing = true
-precision = 1
exclude_lines = [
- 'except ImportError',
- 'raise NotImplementedError',
- 'pass',
- 'ABCmeta',
- 'abstractmethod',
- 'abstractproperty',
- 'abstractclassmethod',
- 'warnings.warn',
+ 'except ImportError',
+ 'raise NotImplementedError',
+ 'pass',
+ 'ABCmeta',
+ 'abstractmethod',
+ 'abstractproperty',
+ 'abstractclassmethod',
+ 'warnings.warn',
]
+precision = 1
+show_missing = true
[tool.mypy]
ignore_missing_imports = true
-python_version = 3.6
+python_version = 3.7
pretty = true
show_error_codes = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/requirements/docs_requirements.txt new/typepy-1.3.2/requirements/docs_requirements.txt
--- old/typepy-1.3.0/requirements/docs_requirements.txt 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/requirements/docs_requirements.txt 2023-10-03 15:17:50.000000000 +0200
@@ -1,2 +1,2 @@
-sphinx_rtd_theme
+sphinx_rtd_theme>=1.2.2
Sphinx>=2.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/setup.py new/typepy-1.3.2/setup.py
--- old/typepy-1.3.0/setup.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/setup.py 2023-10-03 15:17:50.000000000 +0200
@@ -3,7 +3,7 @@
"""
import os.path
-from typing import Dict
+from typing import Dict, Type
import setuptools
@@ -16,7 +16,7 @@
pkg_info: Dict[str, str] = {}
-def get_release_command_class() -> Dict[str, setuptools.Command]:
+def get_release_command_class() -> Dict[str, Type[setuptools.Command]]:
try:
from releasecmd import ReleaseCommand
except ImportError:
@@ -55,7 +55,12 @@
author_email=pkg_info["__email__"],
description=summary,
include_package_data=True,
- keywords=["library", "type-checking", "type-conversion", "validator"],
+ keywords=[
+ "library",
+ "type-checking",
+ "type-conversion",
+ "validator",
+ ],
license=pkg_info["__license__"],
long_description=long_description,
long_description_content_type="text/x-rst",
@@ -65,9 +70,9 @@
"Documentation": f"https://{MODULE_NAME:s}.rtfd.io/",
"Source": REPOSITORY_URL,
"Tracker": f"{REPOSITORY_URL:s}/issues",
- "Changes": f"{REPOSITORY_URL:s}/releases",
+ "Changlog": f"{REPOSITORY_URL:s}/releases",
},
- python_requires=">=3.6",
+ python_requires=">=3.7",
install_requires=install_requires,
extras_require={"datetime": DATETIME_REQUIRES, "test": tests_requires + DATETIME_REQUIRES},
classifiers=[
@@ -77,11 +82,12 @@
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
@@ -89,4 +95,5 @@
"Topic :: Software Development :: Libraries :: Python Modules",
],
cmdclass=get_release_command_class(),
+ zip_safe=False,
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/test/converter/_common.py new/typepy-1.3.2/test/converter/_common.py
--- old/typepy-1.3.0/test/converter/_common.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/test/converter/_common.py 2023-10-03 15:17:50.000000000 +0200
@@ -11,5 +11,5 @@
def convert_wrapper(typeobj, method):
try:
return getattr(typeobj, method)()
- except (typepy.TypeConversionError):
+ except typepy.TypeConversionError:
return EXCEPTION_RESULT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/test/test_type.py new/typepy-1.3.2/test/test_type.py
--- old/typepy-1.3.0/test/test_type.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/test/test_type.py 2023-10-03 15:17:50.000000000 +0200
@@ -3,7 +3,7 @@
"""
import sys
-from datetime import date, datetime
+from datetime import date, datetime, timedelta
from decimal import Decimal
from ipaddress import IPv4Address, IPv6Address
@@ -64,6 +64,21 @@
assert result == timezone.localize(expected)
+ def test_normal_datetime_tz_aware(self):
+ utc_dt = datetime(2017, 1, 29, 10, 27, 3, tzinfo=utc)
+ got = typepy.DateTime(
+ utc_dt, strict_level=StrictLevel.MIN, timezone=timezone("Asia/Tokyo")
+ ).convert()
+ assert got.tzinfo.tzname(got) == "JST"
+
+ jst_dt = typepy.DateTime(
+ "2017-01-29 19:27:03+0900",
+ strict_level=StrictLevel.MIN,
+ ).convert()
+ assert jst_dt.tzinfo.utcoffset(jst_dt) == timedelta(seconds=32400)
+ got = typepy.DateTime(jst_dt, strict_level=StrictLevel.MIN, timezone=utc).convert()
+ assert got.tzinfo.utcoffset(got) == timedelta(0)
+
@pytest.mark.parametrize(
["value", "expected"],
[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/tox.ini new/typepy-1.3.2/tox.ini
--- old/typepy-1.3.0/tox.ini 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/tox.ini 2023-10-03 15:17:50.000000000 +0200
@@ -1,58 +1,56 @@
[tox]
envlist =
- py{36,37,38,39,310}
+ py{37,38,39,310,311,312}
pypy3
build
- clean
cov
docs
lint
readme
[testenv]
-deps =
- .[test]
+passenv = *
+extras =
+ test
commands =
pytest {posargs}
[testenv:build]
-basepython = python3.8
deps =
twine
+ build>=1
wheel
commands =
- python setup.py sdist bdist_wheel
+ python -m build
twine check dist/*.whl dist/*.tar.gz
- python setup.py clean --all
[testenv:clean]
skip_install = true
deps =
- cleanpy>=0.3
+ cleanpy>=0.4
commands =
cleanpy --all --exclude-envs .
[testenv:cov]
+extras =
+ test
deps =
- .[test]
coverage[toml]>=5
commands =
coverage run -m pytest {posargs:-vv}
coverage report -m
[testenv:docs]
-basepython = python3.8
deps =
-r{toxinidir}/requirements/docs_requirements.txt
commands =
- python setup.py build_sphinx --source-dir=docs/ --build-dir=docs/_build --all-files
+ sphinx-build docs/ docs/_build
[testenv:fmt]
-basepython = python3.8
skip_install = true
deps =
- autoflake
- black
+ autoflake>=2
+ black>=23.1
isort>=5
commands =
black make_test_cases.py setup.py test typepy
@@ -60,16 +58,14 @@
isort .
[testenv:lint]
-basepython = python3.8
skip_install = true
deps =
- codespell
- pylama
- mypy>=0.902
+ codespell>=2
+ mypy>=1
+ pylama>=8.4.1
types-python-dateutil
types-pytz
commands =
- python setup.py check
codespell typepy docs/pages test -q2 --check-filenames
mypy typepy setup.py
pylama
@@ -78,6 +74,6 @@
skip_install = true
changedir = docs
deps =
- readmemaker>=1.0.0
+ readmemaker>=1.1.0
commands =
python make_readme.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy/__init__.py new/typepy-1.3.2/typepy/__init__.py
--- old/typepy-1.3.0/typepy/__init__.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/__init__.py 2023-10-03 15:17:50.000000000 +0200
@@ -32,3 +32,32 @@
RealNumber,
String,
)
+
+
+__all__ = (
+ "ParamKey",
+ "StrictLevel",
+ "Typecode",
+ "TypeConversionError",
+ "Binary",
+ "Bool",
+ "Bytes",
+ "DateTime",
+ "Dictionary",
+ "Infinity",
+ "Integer",
+ "IpAddress",
+ "List",
+ "Nan",
+ "NoneType",
+ "NullString",
+ "RealNumber",
+ "String",
+ "extract_typepy_from_dtype",
+ "is_empty_sequence",
+ "is_hex",
+ "is_not_empty_sequence",
+ "is_not_null_string",
+ "is_null_string",
+ "typepy",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy/__version__.py new/typepy-1.3.2/typepy/__version__.py
--- old/typepy-1.3.0/typepy/__version__.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/__version__.py 2023-10-03 15:17:50.000000000 +0200
@@ -1,6 +1,6 @@
__author__ = "Tsuyoshi Hombashi"
__copyright__ = f"Copyright 2017, {__author__}"
__license__ = "MIT License"
-__version__ = "1.3.0"
+__version__ = "1.3.2"
__maintainer__ = __author__
__email__ = "tsuyoshi.hombashi(a)gmail.com"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy/checker/__init__.py new/typepy-1.3.2/typepy/checker/__init__.py
--- old/typepy-1.3.0/typepy/checker/__init__.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/checker/__init__.py 2023-10-03 15:17:50.000000000 +0200
@@ -15,3 +15,21 @@
from ._none import NoneTypeChecker
from ._realnumber import RealNumberTypeChecker
from ._string import NullStringTypeChecker, StringTypeChecker
+
+
+__all__ = (
+ "BoolTypeChecker",
+ "BytesTypeChecker",
+ "DateTimeTypeChecker",
+ "DictionaryTypeChecker",
+ "InfinityTypeChecker",
+ "IntegerTypeChecker",
+ "IpAddressTypeChecker",
+ "ListTypeChecker",
+ "NanTypeChecker",
+ "NoneTypeChecker",
+ "NullStringTypeChecker",
+ "RealNumberTypeChecker",
+ "StringTypeChecker",
+ "TypeCheckerInterface",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy/converter/__init__.py new/typepy-1.3.2/typepy/converter/__init__.py
--- old/typepy-1.3.0/typepy/converter/__init__.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/converter/__init__.py 2023-10-03 15:17:50.000000000 +0200
@@ -13,3 +13,19 @@
from ._nop import NopConverter
from ._realnumber import FloatConverter
from ._string import NullStringConverter, StringConverter
+
+
+__all__ = (
+ "BoolConverter",
+ "BytesConverter",
+ "DateTimeConverter",
+ "DictionaryConverter",
+ "FloatConverter",
+ "IntegerConverter",
+ "IpAddressConverter",
+ "ListConverter",
+ "NopConverter",
+ "NullStringConverter",
+ "StringConverter",
+ "ValueConverterInterface",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy/converter/_datetime.py new/typepy-1.3.2/typepy/converter/_datetime.py
--- old/typepy-1.3.0/typepy/converter/_datetime.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/converter/_datetime.py 2023-10-03 15:17:50.000000000 +0200
@@ -11,9 +11,8 @@
class DateTimeConverter(AbstractValueConverter):
-
- __DAYS_TO_SECONDS_COEF = 60 ** 2 * 24
- __MICROSECONDS_TO_SECONDS_COEF = 1000 ** 2
+ __DAYS_TO_SECONDS_COEF = 60**2 * 24
+ __MICROSECONDS_TO_SECONDS_COEF = 1000**2
__COMMON_DST_TIMEZONE_TABLE = {
-36000: "America/Adak", # -1000
-32400: "US/Alaska", # -0900
@@ -56,7 +55,12 @@
)
if self.__timezone:
- self.__datetime = self.__timezone.localize(self.__datetime)
+ if self.__datetime.tzinfo is None:
+ self.__datetime = self.__timezone.localize(self.__datetime)
+ else:
+ self.__datetime = datetime.fromtimestamp(
+ self.__datetime.timestamp(), tz=self.__timezone
+ )
return self.__datetime
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy/type/__init__.py new/typepy-1.3.2/typepy/type/__init__.py
--- old/typepy-1.3.0/typepy/type/__init__.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/type/__init__.py 2023-10-03 15:17:50.000000000 +0200
@@ -16,3 +16,22 @@
from ._none import NoneType
from ._realnumber import RealNumber
from ._string import NullString, String
+
+
+__all__ = (
+ "AbstractType",
+ "Binary",
+ "Bool",
+ "Bytes",
+ "DateTime",
+ "Dictionary",
+ "Infinity",
+ "Integer",
+ "IpAddress",
+ "List",
+ "Nan",
+ "NoneType",
+ "NullString",
+ "RealNumber",
+ "String",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy.egg-info/PKG-INFO new/typepy-1.3.2/typepy.egg-info/PKG-INFO
--- old/typepy-1.3.0/typepy.egg-info/PKG-INFO 2021-09-20 16:50:14.000000000 +0200
+++ new/typepy-1.3.2/typepy.egg-info/PKG-INFO 2023-10-03 15:18:42.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: typepy
-Version: 1.3.0
+Version: 1.3.2
Summary: typepy is a Python library for variable type checker/validator/converter at a run time.
Home-page: https://github.com/thombashi/typepy
Author: Tsuyoshi Hombashi
@@ -9,30 +9,39 @@
Project-URL: Documentation, https://typepy.rtfd.io/
Project-URL: Source, https://github.com/thombashi/typepy
Project-URL: Tracker, https://github.com/thombashi/typepy/issues
-Project-URL: Changes, https://github.com/thombashi/typepy/releases
+Project-URL: Changlog, https://github.com/thombashi/typepy/releases
Keywords: library,type-checking,type-conversion,validator
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: mbstrdecoder<2,>=1.0.0
Provides-Extra: datetime
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "datetime"
+Requires-Dist: pytz>=2018.9; extra == "datetime"
+Requires-Dist: packaging; extra == "datetime"
Provides-Extra: test
-License-File: LICENSE
+Requires-Dist: pytest>=6.0.1; extra == "test"
+Requires-Dist: tcolorpy; extra == "test"
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "test"
+Requires-Dist: pytz>=2018.9; extra == "test"
+Requires-Dist: packaging; extra == "test"
.. contents:: **typepy**
:backlinks: top
@@ -66,15 +75,15 @@
:target: https://coveralls.io/github/thombashi/typepy?branch=master
:alt: Test coverage
-.. image:: https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml/b…
- :target: https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml
+.. image:: https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/…
+ :target: https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/…
:alt: CodeQL
Features
==========
- checking a value type
- validate a value for a type
-- convert a value from a type to the other type
+- convert a value from one type to the other type
The correspondence between Python types and ``typepy`` classes are as follows:
@@ -129,10 +138,10 @@
Dependencies
============
-- Python 3.6+
+- Python 3.7+
- `Python package dependencies (automatically installed) <https://github.com/thombashi/typepy/network/dependencies>`__
-Optioal dependencies
+Optional dependencies
----------------------------------
These packages can be installed via ``pip install typepy[datetime]``:
@@ -212,7 +221,7 @@
>>> try:
... Integer("abc").force_convert()
... except TypeConversionError as e:
- ... # force_convert() raised TypeConversionError when the value not convertible
+ ... # force_convert() raised TypeConversionError when the value was not convertible
... print(e)
...
failed to force_convert to int: type=<class 'str'>
@@ -221,7 +230,7 @@
For more information
--------------------------------------------
Type check/validate/convert results differed according to
-``strict_level`` value which can pass to typepy classes constructors as an argument.
+``strict_level`` value which can pass to typepy class constructors as an argument.
More information can be found in the
`API reference <https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
@@ -229,5 +238,3 @@
===============
https://typepy.rtfd.io/
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy.egg-info/SOURCES.txt new/typepy-1.3.2/typepy.egg-info/SOURCES.txt
--- old/typepy-1.3.0/typepy.egg-info/SOURCES.txt 2021-09-20 16:50:14.000000000 +0200
+++ new/typepy-1.3.2/typepy.egg-info/SOURCES.txt 2023-10-03 15:18:42.000000000 +0200
@@ -42,6 +42,7 @@
typepy.egg-info/PKG-INFO
typepy.egg-info/SOURCES.txt
typepy.egg-info/dependency_links.txt
+typepy.egg-info/not-zip-safe
typepy.egg-info/requires.txt
typepy.egg-info/top_level.txt
typepy/checker/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/typepy-1.3.0/typepy.egg-info/not-zip-safe new/typepy-1.3.2/typepy.egg-info/not-zip-safe
--- old/typepy-1.3.0/typepy.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100
+++ new/typepy-1.3.2/typepy.egg-info/not-zip-safe 2023-10-03 15:18:06.000000000 +0200
@@ -0,0 +1 @@
+
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libsmraw for openSUSE:Factory checked in at 2023-12-04 23:01:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsmraw (Old)
and /work/SRC/openSUSE:Factory/.libsmraw.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsmraw"
Mon Dec 4 23:01:30 2023 rev:24 rq:1130696 version:20231127
Changes:
--------
--- /work/SRC/openSUSE:Factory/libsmraw/libsmraw.changes 2023-08-09 17:25:48.669588671 +0200
+++ /work/SRC/openSUSE:Factory/.libsmraw.new.25432/libsmraw.changes 2023-12-04 23:01:54.604503309 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 09:43:46 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231127
+ * Improvded Python Unicde handling
+
+-------------------------------------------------------------------
Old:
----
libsmraw-alpha-20230320.tar.gz
libsmraw-alpha-20230320.tar.gz.asc
New:
----
libsmraw-alpha-20231127.tar.gz
libsmraw-alpha-20231127.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libsmraw.spec ++++++
--- /var/tmp/diff_new_pack.pKLpXM/_old 2023-12-04 23:01:55.844548969 +0100
+++ /var/tmp/diff_new_pack.pKLpXM/_new 2023-12-04 23:01:55.844548969 +0100
@@ -15,11 +15,12 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
%{?sle15_python_module_pythons}
Name: libsmraw
%define lname libsmraw1
-Version: 20230320
+Version: 20231127
Release: 0
Summary: Library and tools to access the (split) RAW image format
License: LGPL-3.0-or-later
@@ -37,7 +38,7 @@
BuildRequires: pkgconfig(libcdata) >= 20230108
BuildRequires: pkgconfig(libcerror) >= 20220101
BuildRequires: pkgconfig(libcfile) >= 20220106
-BuildRequires: pkgconfig(libclocale) >= 20220107
+BuildRequires: pkgconfig(libclocale) >= 20221218
BuildRequires: pkgconfig(libcnotify) >= 20220108
BuildRequires: pkgconfig(libcpath) >= 20220108
BuildRequires: pkgconfig(libcsplit) >= 20220109
@@ -45,8 +46,8 @@
BuildRequires: pkgconfig(libfcache) >= 20230115
BuildRequires: pkgconfig(libfdata) >= 20230319
BuildRequires: pkgconfig(libfvalue) >= 20220120
-BuildRequires: pkgconfig(libhmac) >= 20230205
-BuildRequires: pkgconfig(libuna) >= 20220611
+BuildRequires: pkgconfig(libhmac) >= 20231127
+BuildRequires: pkgconfig(libuna) >= 20230710
BuildRequires: pkgconfig(openssl) >= 1.0
%python_subpackages
# Various notes: https://en.opensuse.org/libyal
++++++ libsmraw-alpha-20230320.tar.gz -> libsmraw-alpha-20231127.tar.gz ++++++
++++ 31994 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vapoursynth for openSUSE:Factory checked in at 2023-12-04 23:01:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vapoursynth (Old)
and /work/SRC/openSUSE:Factory/.vapoursynth.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vapoursynth"
Mon Dec 4 23:01:25 2023 rev:24 rq:1130662 version:65
Changes:
--------
--- /work/SRC/openSUSE:Factory/vapoursynth/vapoursynth.changes 2023-10-31 20:25:43.662001615 +0100
+++ /work/SRC/openSUSE:Factory/.vapoursynth.new.25432/vapoursynth.changes 2023-12-04 23:01:51.000370601 +0100
@@ -1,0 +2,5 @@
+Mon Dec 4 04:05:56 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Upstream supports Cython 0.29 and 3, stop special casing it.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vapoursynth.spec ++++++
--- /var/tmp/diff_new_pack.oAOtsN/_old 2023-12-04 23:01:51.768398881 +0100
+++ /var/tmp/diff_new_pack.oAOtsN/_new 2023-12-04 23:01:51.768398881 +0100
@@ -33,6 +33,7 @@
BuildRequires: automake
BuildRequires: libtool
BuildRequires: pkgconfig
+BuildRequires: python3-Cython
BuildRequires: pkgconfig(Magick++) >= 7.0
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libass)
@@ -55,10 +56,8 @@
BuildRequires: gcc12
BuildRequires: gcc12-PIE
BuildRequires: gcc12-c++
-BuildRequires: python3-Cython
%else
BuildRequires: gcc-c++
-BuildRequires: python3-Cython0
%endif
%description
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libindi for openSUSE:Factory checked in at 2023-12-04 23:01:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libindi (Old)
and /work/SRC/openSUSE:Factory/.libindi.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libindi"
Mon Dec 4 23:01:23 2023 rev:66 rq:1130665 version:2.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/libindi/libindi.changes 2023-10-10 21:01:22.276412685 +0200
+++ /work/SRC/openSUSE:Factory/.libindi.new.25432/libindi.changes 2023-12-04 23:01:48.364273537 +0100
@@ -1,0 +2,13 @@
+Mon Dec 4 07:52:22 UTC 2023 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Update to 2.0.5:
+ * Fix issue 1938
+ * Add one more check to ensure minimum count is met
+ * Update ioptronv3driver.cpp
+ * Handling tracking mode in the pegasus driver, and enable King mode
+ * Fixed 9 Stars Align
+ * On step work
+ * Added several missing commands
+ * Snapcap driver with network connections
+
+-------------------------------------------------------------------
Old:
----
indi-2.0.4.tar.gz
New:
----
indi-2.0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libindi.spec ++++++
--- /var/tmp/diff_new_pack.1RIjrt/_old 2023-12-04 23:01:48.928294305 +0100
+++ /var/tmp/diff_new_pack.1RIjrt/_new 2023-12-04 23:01:48.932294452 +0100
@@ -22,7 +22,7 @@
%define so_ver 2
%define _udevdir %(pkg-config --variable udevdir udev)
Name: libindi
-Version: 2.0.4
+Version: 2.0.5
Release: 0
Summary: Instrument Neutral Distributed Interface
License: GPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later
++++++ indi-2.0.4.tar.gz -> indi-2.0.5.tar.gz ++++++
++++ 20738 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kubearmor-client for openSUSE:Factory checked in at 2023-12-04 23:01:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kubearmor-client (Old)
and /work/SRC/openSUSE:Factory/.kubearmor-client.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kubearmor-client"
Mon Dec 4 23:01:20 2023 rev:5 rq:1130660 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kubearmor-client/kubearmor-client.changes 2023-11-19 20:16:02.995003020 +0100
+++ /work/SRC/openSUSE:Factory/.kubearmor-client.new.25432/kubearmor-client.changes 2023-12-04 23:01:43.680101061 +0100
@@ -1,0 +2,7 @@
+Mon Dec 04 06:13:49 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 1.0.0:
+ * updated kubearmor dependencies
+ * ignore cluster access with save flag
+
+-------------------------------------------------------------------
Old:
----
kubearmor-client-0.14.3.obscpio
New:
----
kubearmor-client-1.0.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kubearmor-client.spec ++++++
--- /var/tmp/diff_new_pack.DDwAY6/_old 2023-12-04 23:01:47.184230087 +0100
+++ /var/tmp/diff_new_pack.DDwAY6/_new 2023-12-04 23:01:47.184230087 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: kubearmor-client
-Version: 0.14.3
+Version: 1.0.0
Release: 0
Summary: KubeArmor cli tool aka kArmor
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.DDwAY6/_old 2023-12-04 23:01:47.216231265 +0100
+++ /var/tmp/diff_new_pack.DDwAY6/_new 2023-12-04 23:01:47.216231265 +0100
@@ -3,8 +3,8 @@
<param name="url">https://github.com/kubearmor/kubearmor-client</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.14.3</param>
- <param name="match-tag">v0.14.3</param>
+ <param name="revision">v1.0.0</param>
+ <param name="match-tag">v1.0.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
@@ -17,7 +17,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
- <param name="archive">kubearmor-client-0.14.3.obscpio</param>
+ <param name="archive">kubearmor-client-1.0.0.obscpio</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.DDwAY6/_old 2023-12-04 23:01:47.236232001 +0100
+++ /var/tmp/diff_new_pack.DDwAY6/_new 2023-12-04 23:01:47.236232001 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/kubearmor/kubearmor-client</param>
- <param name="changesrevision">7b409be695906356db6f6f0f9beb42fd8245e350</param></service></servicedata>
+ <param name="changesrevision">d50544117dc8b31ee389d49f4fc6788e1d3e45b4</param></service></servicedata>
(No newline at EOF)
++++++ kubearmor-client-0.14.3.obscpio -> kubearmor-client-1.0.0.obscpio ++++++
++++ 2951 lines of diff (skipped)
++++++ kubearmor-client.obsinfo ++++++
--- /var/tmp/diff_new_pack.DDwAY6/_old 2023-12-04 23:01:47.404238188 +0100
+++ /var/tmp/diff_new_pack.DDwAY6/_new 2023-12-04 23:01:47.408238335 +0100
@@ -1,5 +1,5 @@
name: kubearmor-client
-version: 0.14.3
-mtime: 1700228503
-commit: 7b409be695906356db6f6f0f9beb42fd8245e350
+version: 1.0.0
+mtime: 1701243748
+commit: d50544117dc8b31ee389d49f4fc6788e1d3e45b4
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/kubearmor-client/vendor.tar.gz /work/SRC/openSUSE:Factory/.kubearmor-client.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package llvm13 for openSUSE:Factory checked in at 2023-12-04 23:01:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm13 (Old)
and /work/SRC/openSUSE:Factory/.llvm13.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm13"
Mon Dec 4 23:01:17 2023 rev:16 rq:1130634 version:13.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm13/llvm13.changes 2023-06-19 22:50:18.929475405 +0200
+++ /work/SRC/openSUSE:Factory/.llvm13.new.25432/llvm13.changes 2023-12-04 23:01:41.796031688 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 22:53:03 UTC 2023 - Aaron Puchert <aaronpuchert(a)alice-dsl.net>
+
+- Manage clang-cpp with update-alternatives like other binaries.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ llvm13.spec ++++++
--- /var/tmp/diff_new_pack.qHedla/_old 2023-12-04 23:01:43.152081619 +0100
+++ /var/tmp/diff_new_pack.qHedla/_new 2023-12-04 23:01:43.156081766 +0100
@@ -1050,7 +1050,7 @@
llvm-symbolizer llvm-tapi-diff llvm-tblgen llvm-undname llvm-windres \
llvm-xray opt sancov sanstats split-file verify-uselistorder \
c-index-test clang clangd clang++ clang-apply-replacements \
- clang-change-namespace clang-check clang-cl clang-extdef-mapping clang-format \
+ clang-change-namespace clang-check clang-cl clang-cpp clang-extdef-mapping clang-format \
clang-include-fixer clang-move clang-offload-bundler \
clang-offload-wrapper clang-query clang-refactor clang-repl clang-scan-deps clang-rename \
clang-reorder-fields clang-tidy diagtool find-all-symbols modularize pp-trace \
@@ -1397,6 +1397,7 @@
--slave %{_bindir}/clang-change-namespace clang-change-namespace %{_bindir}/clang-change-namespace-%{_relver} \
--slave %{_bindir}/clang-check clang-check %{_bindir}/clang-check-%{_relver} \
--slave %{_bindir}/clang-cl clang-cl %{_bindir}/clang-cl-%{_relver} \
+ --slave %{_bindir}/clang-cpp clang-cpp %{_bindir}/clang-cpp-%{_relver} \
--slave %{_bindir}/clang-extdef-mapping clang-extdef-mapping %{_bindir}/clang-extdef-mapping-%{_relver} \
--slave %{_bindir}/clang-format clang-format %{_bindir}/clang-format-%{_relver} \
--slave %{_bindir}/clang-include-fixer clang-include-fixer %{_bindir}/clang-include-fixer-%{_relver} \
@@ -1832,6 +1833,7 @@
%{_bindir}/clang-change-namespace-%{_relver}
%{_bindir}/clang-check-%{_relver}
%{_bindir}/clang-cl-%{_relver}
+%{_bindir}/clang-cpp-%{_relver}
%{_bindir}/clang-extdef-mapping-%{_relver}
%{_bindir}/clang-format-%{_relver}
%{_bindir}/clang-include-fixer-%{_relver}
@@ -1857,6 +1859,7 @@
%ghost %{_sysconfdir}/alternatives/clang-change-namespace
%ghost %{_sysconfdir}/alternatives/clang-check
%ghost %{_sysconfdir}/alternatives/clang-cl
+%ghost %{_sysconfdir}/alternatives/clang-cpp
%ghost %{_sysconfdir}/alternatives/clang-extdef-mapping
%ghost %{_sysconfdir}/alternatives/clang-format
%ghost %{_sysconfdir}/alternatives/clang-include-fixer
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yamagi-quake2 for openSUSE:Factory checked in at 2023-12-04 23:01:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yamagi-quake2 (Old)
and /work/SRC/openSUSE:Factory/.yamagi-quake2.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yamagi-quake2"
Mon Dec 4 23:01:10 2023 rev:24 rq:1130632 version:8.30
Changes:
--------
--- /work/SRC/openSUSE:Factory/yamagi-quake2/yamagi-quake2.changes 2022-12-12 17:42:03.285912818 +0100
+++ /work/SRC/openSUSE:Factory/.yamagi-quake2.new.25432/yamagi-quake2.changes 2023-12-04 23:01:37.243864072 +0100
@@ -1,0 +2,34 @@
+Sun Dec 3 20:44:33 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 8.30:
+ * Use the same model loading code in all renderers.
+ * Remove the unused `msg` cvar and the corresponding server
+ side infrastructure. The cvar was never implemented in Quake II,
+ but existing bits could be used for attacks against the client.
+ * Add `cl_audiopaused`. When set to `1` the audio stops when
+ the game is paused.
+ * Add `ogg_pausewithgame`. When set to `1` the background music
+ stops when the game is paused. (by apartfromtime)
+ * New logo files, matching the original Quake II logo.
+ * Support for RISCV64 (by David Carlier)
+ * Fix resetting Mods back to baseq2 when running with
+ `-portable`.
+ * Alternative playback modes for OGG/Vorbis background music:
+ once, sequential, random. (by apartfromtime)
+ * Support gyro aiming for Switch controllers with SDL < 2.0.14.
+ (by protocultor)
+ * Fixed stand-ground gladiators not attacking within a certain
+ range.
+ * Fixed monsters seeing players during intermissions.
+ * Several fixes to Makron. (by BjossiAlfreds)
+ * Optional high dpi awareness when running under Wayland.
+ Requires a Wayland compositor supporting fractional-scale-v1
+ and at least SDL 2.26. Set `vid_highdpiawareness 1` to enable.
+ * Fix lava surfaces not glowing.
+ * Add a cheat protected cvar `g_swap_speed`. Allows to skip
+ frames of "putting down weapon" and "raising weapon" animations,
+ speeding them up.
+ * Support of RGBA png/jpg image with r_retexturing as
+ cinematic.
+
+-------------------------------------------------------------------
Old:
----
quake2-8.20.tar.xz
New:
----
quake2-8.30.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yamagi-quake2.spec ++++++
--- /var/tmp/diff_new_pack.2t0vxQ/_old 2023-12-04 23:01:37.803884692 +0100
+++ /var/tmp/diff_new_pack.2t0vxQ/_new 2023-12-04 23:01:37.803884692 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yamagi-quake2
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2016 Luke Jones <luke.nukem.jones(a)gmail.com>
#
# All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
Name: yamagi-quake2
-Version: 8.20
+Version: 8.30
Release: 0
Summary: Enhanced Quake 2 Source Port
License: GPL-2.0-only
++++++ quake2-8.20.tar.xz -> quake2-8.30.tar.xz ++++++
++++ 14237 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ilbc for openSUSE:Factory checked in at 2023-12-04 23:00:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ilbc (Old)
and /work/SRC/openSUSE:Factory/.ilbc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ilbc"
Mon Dec 4 23:00:56 2023 rev:19 rq:1130608 version:3951
Changes:
--------
--- /work/SRC/openSUSE:Factory/ilbc/ilbc.changes 2015-05-29 09:55:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ilbc.new.25432/ilbc.changes 2023-12-04 23:01:27.175493343 +0100
@@ -1,0 +2,6 @@
+Mon Nov 6 16:14:13 UTC 2023 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Fix build with RPM 4.19: unnumbered patches are no longer
+ supported.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ilbc.spec ++++++
--- /var/tmp/diff_new_pack.0Doz2o/_old 2023-12-04 23:01:27.767515142 +0100
+++ /var/tmp/diff_new_pack.0Doz2o/_new 2023-12-04 23:01:27.771515290 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ilbc
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,21 +12,21 @@
# 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: ilbc
Summary: Internet Low Bitrate Codec
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: Productivity/Telephony/Utilities
Version: 3951
Release: 0
Source: ilbc-rfc3951.tar.bz2
-Url: http://download.savannah.nongnu.org/releases/linphone/1.3.x/source/ilbc-rfc…
+URL: http://download.savannah.nongnu.org/releases/linphone/1.3.x/source/ilbc-rfc…
BuildRequires: libtool
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Patch: %{name}-compilerwarnings.patch
+Patch0: %{name}-compilerwarnings.patch
Patch1: %{name}-libm.patch
%description
@@ -40,6 +40,7 @@
%define libilbc_name libilbc0
+
%package -n %{libilbc_name}
Summary: Internet Low Bitrate Codec
Group: Productivity/Telephony/Utilities
@@ -55,7 +56,6 @@
the case of lost frames, which occurs in connection with lost or
delayed IP packets.
-
%package devel
Summary: Libraries and Header Files to Develop Programs with iLBC Support
Group: Development/Libraries/C and C++
@@ -64,10 +64,9 @@
%description devel
Libraries and Header Files to Develop Programs with iLBC Support
-
%prep
%setup -n ilbc-rfc3951
-%patch
+%patch0
%patch1
%build
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libva for openSUSE:Factory checked in at 2023-12-04 23:00:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libva (Old)
and /work/SRC/openSUSE:Factory/.libva.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva"
Mon Dec 4 23:00:51 2023 rev:74 rq:1130735 version:2.20.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libva/libva.changes 2023-10-12 11:45:37.768637075 +0200
+++ /work/SRC/openSUSE:Factory/.libva.new.25432/libva.changes 2023-12-04 23:01:16.587103467 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 12:12:46 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- This includes latest version of one of the components needed for
+ Video (processing) hardware support on Intel GPUs (bsc#1217770)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package minio-client for openSUSE:Factory checked in at 2023-12-04 23:00:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/minio-client (Old)
and /work/SRC/openSUSE:Factory/.minio-client.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minio-client"
Mon Dec 4 23:00:49 2023 rev:58 rq:1130615 version:20231202T020328Z
Changes:
--------
--- /work/SRC/openSUSE:Factory/minio-client/minio-client.changes 2023-11-21 21:32:36.224640725 +0100
+++ /work/SRC/openSUSE:Factory/.minio-client.new.25432/minio-client.changes 2023-12-04 23:01:12.634957945 +0100
@@ -1,0 +2,13 @@
+Sun Dec 03 18:52:47 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 20231202T020328Z:
+ * do not auto-decompress objects with content-encoding (#4777)
+ * Update minio-go to incl ilm fix (#4779)
+ * chore update minio/pkg and madmin-go (#4774)
+ * set-json to fail on custom policies without .json (#4745)
+ * make STS support for 'mc' alias specific (#4771)
+ * ilm: Add support for size based filters (#4770)
+ * Option to enable disable ILM expiry for site replication
+ (#4698)
+
+-------------------------------------------------------------------
Old:
----
mc-20231120T163059Z.obscpio
New:
----
mc-20231202T020328Z.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ minio-client.spec ++++++
--- /var/tmp/diff_new_pack.UbA33u/_old 2023-12-04 23:01:14.627031296 +0100
+++ /var/tmp/diff_new_pack.UbA33u/_new 2023-12-04 23:01:14.631031443 +0100
@@ -22,7 +22,7 @@
%define binary_name minio-client
Name: minio-client
-Version: 20231120T163059Z
+Version: 20231202T020328Z
Release: 0
Summary: Client for MinIO
License: AGPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.UbA33u/_old 2023-12-04 23:01:14.663032621 +0100
+++ /var/tmp/diff_new_pack.UbA33u/_new 2023-12-04 23:01:14.663032621 +0100
@@ -5,7 +5,7 @@
<param name="exclude">.git</param>
<param name="changesgenerate">enable</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">RELEASE.2023-11-20T16-30-59Z</param>
+ <param name="revision">RELEASE.2023-12-02T02-03-28Z</param>
<param name="match-tag">RELEASE.*</param>
<param name="versionrewrite-pattern">RELEASE\.(.*)-(.*)-(.*)-(.*)-(.*)</param>
<param name="versionrewrite-replacement">\1\2\3\4\5</param>
@@ -19,7 +19,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
- <param name="archive">mc-20231120T163059Z.obscpio</param>
+ <param name="archive">mc-20231202T020328Z.obscpio</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.UbA33u/_old 2023-12-04 23:01:14.687033505 +0100
+++ /var/tmp/diff_new_pack.UbA33u/_new 2023-12-04 23:01:14.687033505 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/minio/mc</param>
- <param name="changesrevision">937b34616f012ad30e1cd6fd61e1da25ff931648</param></service></servicedata>
+ <param name="changesrevision">f5f7147b9ec4cf78eb67f1cdc91b63d191852e6a</param></service></servicedata>
(No newline at EOF)
++++++ mc-20231120T163059Z.obscpio -> mc-20231202T020328Z.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/access-perms.go new/mc-20231202T020328Z/cmd/access-perms.go
--- old/mc-20231120T163059Z/cmd/access-perms.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/access-perms.go 2023-12-02 03:03:28.000000000 +0100
@@ -17,7 +17,12 @@
package cmd
-import "path/filepath"
+import (
+ "os"
+
+ json "github.com/minio/colorjson"
+ "github.com/minio/minio-go/v7/pkg/policy"
+)
// isValidAccessPERM - is provided access perm string supported.
func (b accessPerms) isValidAccessPERM() bool {
@@ -29,7 +34,32 @@
}
func (b accessPerms) isValidAccessFile() bool {
- return filepath.Ext(string(b)) == ".json"
+ file, err := os.Open(string(b))
+ if err != nil {
+ fatalIf(errDummy().Trace(), "Unable to open access file.")
+ return false
+ }
+ defer file.Close()
+
+ var policy policy.BucketAccessPolicy
+ if json.NewDecoder(file).Decode(&policy) != nil {
+ fatalIf(errDummy().Trace(), "Unable to parse access file.")
+ return false
+ }
+
+ if policy.Version != "2012-10-17" {
+ fatalIf(errDummy().Trace(), "Invalid policy version. Only 2012-10-17 is supported.")
+ return false
+ }
+
+ for _, statement := range policy.Statements {
+ if statement.Effect != "Allow" && statement.Effect != "Deny" {
+ fatalIf(errDummy().Trace(), "Invalid policy effect. Only Allow and Deny are supported.")
+ return false
+ }
+ }
+
+ return true
}
// accessPerms - access level.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/admin-replicate-add.go new/mc-20231202T020328Z/cmd/admin-replicate-add.go
--- old/mc-20231120T163059Z/cmd/admin-replicate-add.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/admin-replicate-add.go 2023-12-02 03:03:28.000000000 +0100
@@ -28,13 +28,20 @@
"github.com/minio/pkg/v2/console"
)
+var adminReplicateAddFlags = []cli.Flag{
+ cli.BoolFlag{
+ Name: "replicate-ilm-expiry",
+ Usage: "replicate ILM expiry rules",
+ },
+}
+
var adminReplicateAddCmd = cli.Command{
Name: "add",
Usage: "add one or more sites for replication",
Action: mainAdminReplicateAdd,
OnUsageError: onUsageError,
Before: setGlobalsFromContext,
- Flags: globalFlags,
+ Flags: append(globalFlags, adminReplicateAddFlags...),
CustomHelpTemplate: `NAME:
{{.HelpName}} - {{.Usage}}
@@ -48,6 +55,9 @@
EXAMPLES:
1. Add a site for cluster-level replication:
{{.Prompt}} {{.HelpName}} minio1 minio2
+
+ 2. Add a site for cluster-level replication with replication of ILM expiry rules:
+ {{.Prompt}} {{.HelpName}} minio1 minio2 --replicate-ilm-expiry
`,
}
@@ -106,7 +116,9 @@
})
}
- res, e := client.SiteReplicationAdd(globalContext, ps, madmin.SRAddOptions{})
+ var opts madmin.SRAddOptions
+ opts.ReplicateILMExpiry = ctx.Bool("replicate-ilm-expiry")
+ res, e := client.SiteReplicationAdd(globalContext, ps, opts)
fatalIf(probe.NewError(e).Trace(args...), "Unable to add sites for replication")
printMsg(successMessage(res))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/admin-replicate-info.go new/mc-20231202T020328Z/cmd/admin-replicate-info.go
--- old/mc-20231120T163059Z/cmd/admin-replicate-info.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/admin-replicate-info.go 2023-12-02 03:03:28.000000000 +0100
@@ -19,6 +19,7 @@
import (
"fmt"
+ "strconv"
"strings"
humanize "github.com/dustin/go-humanize"
@@ -75,7 +76,8 @@
Field{"Endpoint", 46},
Field{"Sync", 4},
Field{"Bandwidth", 10},
- ).buildRow("Deployment ID", "Site Name", "Endpoint", "Sync", "Bandwidth"))
+ Field{"ILM Expiry Replication", 25},
+ ).buildRow("Deployment ID", "Site Name", "Endpoint", "Sync", "Bandwidth", "ILM Expiry Replication"))
messages = append(messages, r)
r = console.Colorize("THeaders", newPrettyTable(" | ",
@@ -85,7 +87,8 @@
Field{"Endpoint", 46},
Field{"Sync", 4},
Field{"Bandwidth", 10},
- ).buildRow("", "", "", "", "Per Bucket"))
+ Field{"ILM Expiry Replication", 25},
+ ).buildRow("", "", "", "", "Per Bucket", ""))
messages = append(messages, r)
for _, peer := range info.Sites {
var chk string
@@ -103,7 +106,8 @@
Field{"Endpoint", 46},
Field{"Sync", 4},
Field{"Bandwidth", 10},
- ).buildRow(peer.DeploymentID, peer.Name, peer.Endpoint, chk, limit))
+ Field{"ILM Expiry Replication", 25},
+ ).buildRow(peer.DeploymentID, peer.Name, peer.Endpoint, chk, limit, strconv.FormatBool(peer.ReplicateILMExpiry)))
messages = append(messages, r)
}
} else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/admin-replicate-status.go new/mc-20231202T020328Z/cmd/admin-replicate-status.go
--- old/mc-20231120T163059Z/cmd/admin-replicate-status.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/admin-replicate-status.go 2023-12-02 03:03:28.000000000 +0100
@@ -51,6 +51,10 @@
Usage: "display only groups",
},
cli.BoolFlag{
+ Name: "ilm-expiry-rules",
+ Usage: "display only ilm expiry rules",
+ },
+ cli.BoolFlag{
Name: "all",
Usage: "display all available site replication status",
},
@@ -70,6 +74,10 @@
Name: "group",
Usage: "display group sync status",
},
+ cli.StringFlag{
+ Name: "ilm-expiry-rule",
+ Usage: "display ILM expiry rule sync status",
+ },
}
// Some cell values
@@ -312,6 +320,42 @@
}
}
}
+ if i.opts.ILMExpiryRules {
+ messages = append(messages,
+ console.Colorize("SummaryHdr", "ILM Expiry Rules replication status:"))
+ switch {
+ case i.MaxILMExpiryRules == 0:
+ messages = append(messages, console.Colorize("Summary", "No ILM Expiry Rules present\n"))
+ default:
+ msg := console.Colorize(i.getTheme(len(info.ILMExpiryStats) == 0), fmt.Sprintf("%d/%d ILM Expiry Rules in sync", info.MaxILMExpiryRules-len(info.ILMExpiryStats), info.MaxILMExpiryRules)) + "\n"
+ messages = append(messages, fmt.Sprintf("%s %s", coloredDot, msg))
+ if len(i.ILMExpiryStats) > 0 {
+ messages = append(messages, i.siteHeader(siteNames, "ILM Expiry Rules"))
+ }
+ var detailFields []Field
+ for b, ssMap := range i.ILMExpiryStats {
+ var details []string
+ details = append(details, b)
+ detailFields = append(detailFields, legendFields[0])
+ for _, sname := range siteNames {
+ detailFields = append(detailFields, legendFields[0])
+ dID := nameIDMap[sname]
+ ss := ssMap[dID]
+ switch {
+ case !ss.HasILMExpiryRules:
+ details = append(details, blankCell)
+ case ss.ILMExpiryRuleMismatch:
+ details = append(details, fmt.Sprintf("%s in-sync", crossTickCell))
+ default:
+ details = append(details, fmt.Sprintf("%s in-sync", tickCell))
+ }
+ }
+ messages = append(messages, newPrettyTable(" | ",
+ detailFields...).buildRow(details...))
+ messages = append(messages, "")
+ }
+ }
+ }
switch i.opts.Entity {
case madmin.SRBucketEntity:
@@ -322,7 +366,8 @@
messages = append(messages, i.getUserStatusSummary(siteNames, nameIDMap, "User")...)
case madmin.SRGroupEntity:
messages = append(messages, i.getGroupStatusSummary(siteNames, nameIDMap, "Group")...)
-
+ case madmin.SRILMExpiryRuleEntity:
+ messages = append(messages, i.getILMExpiryStatusSummary(siteNames, nameIDMap, "ILMExpiryRule")...)
}
if i.opts.Metrics {
uiFn := func(theme string) func(string) string {
@@ -716,29 +761,85 @@
return messages
}
+func (i srStatus) getILMExpiryStatusSummary(siteNames []string, nameIDMap map[string]string, legend string) []string {
+ var messages []string
+ coloredDot := console.Colorize("Status", dot)
+ var found bool
+ for _, st := range i.SRStatusInfo.ILMExpiryStats[i.opts.EntityValue] {
+ if st.HasILMExpiryRules {
+ found = true
+ break
+ }
+ }
+ if !found {
+ messages = append(messages, console.Colorize("Summary", fmt.Sprintf("ILM Expiry Rule %s not found\n", i.opts.EntityValue)))
+ return messages
+ }
+
+ rowLegend := []string{"ILM Expiry Rule"}
+ detailFields := make([][]Field, len(rowLegend))
+
+ var rules []string
+ detailFields[0] = make([]Field, len(siteNames)+1)
+ detailFields[0][0] = Field{"Entity", 15}
+ rules = append(rules, "ILM Expiry Rule")
+ rows := make([]string, len(rowLegend))
+ for j, sname := range siteNames {
+ dID := nameIDMap[sname]
+ ss := i.SRStatusInfo.ILMExpiryStats[i.opts.EntityValue][dID]
+ var theme, msgStr string
+ for r := range rowLegend {
+ switch r {
+ case 0:
+ theme, msgStr = syncStatus(ss.ILMExpiryRuleMismatch, ss.HasILMExpiryRules)
+ rules = append(rules, msgStr)
+ detailFields[r][j+1] = Field{theme, fieldLen}
+ }
+ }
+ }
+ for r := range rowLegend {
+ switch r {
+ case 0:
+ rows[r] = newPrettyTable(" | ",
+ detailFields[r]...).buildRow(rules...)
+ }
+ }
+ messages = append(messages,
+ console.Colorize("SummaryHdr", fmt.Sprintf("%s %s\n", coloredDot, console.Colorize("Summary", "ILM Expiry Rule replication summary for: ")+console.Colorize("UserMessage", i.opts.EntityValue))))
+ siteHdr := i.siteHeader(siteNames, legend)
+ messages = append(messages, siteHdr)
+
+ messages = append(messages, rows...)
+ return messages
+}
+
// Calculate srstatus options for command line flags
func srStatusOpts(ctx *cli.Context) (opts madmin.SRStatusOptions) {
if !(ctx.IsSet("buckets") ||
ctx.IsSet("users") ||
ctx.IsSet("groups") ||
ctx.IsSet("policies") ||
+ ctx.IsSet("ilm-expiry-rules") ||
ctx.IsSet("bucket") ||
ctx.IsSet("user") ||
ctx.IsSet("group") ||
ctx.IsSet("policy") ||
+ ctx.IsSet("ilm-expiry-rule") ||
ctx.IsSet("all")) || ctx.IsSet("all") {
opts.Buckets = true
opts.Users = true
opts.Groups = true
opts.Policies = true
opts.Metrics = true
+ opts.ILMExpiryRules = true
return
}
opts.Buckets = ctx.Bool("buckets")
opts.Policies = ctx.Bool("policies")
opts.Users = ctx.Bool("users")
opts.Groups = ctx.Bool("groups")
- for _, name := range []string{"bucket", "user", "group", "policy"} {
+ opts.ILMExpiryRules = ctx.Bool("ilm-expiry-rules")
+ for _, name := range []string{"bucket", "user", "group", "policy", "ilm-expiry-rule"} {
if ctx.IsSet(name) {
opts.Entity = madmin.GetSREntityType(name)
opts.EntityValue = ctx.String(name)
@@ -756,13 +857,13 @@
fatalIf(errInvalidArgument().Trace(ctx.Args().Tail()...),
"Need exactly one alias argument.")
}
- groupStatus := ctx.IsSet("buckets") || ctx.IsSet("groups") || ctx.IsSet("users") || ctx.IsSet("policies")
- indivStatus := ctx.IsSet("bucket") || ctx.IsSet("group") || ctx.IsSet("user") || ctx.IsSet("policy")
+ groupStatus := ctx.IsSet("buckets") || ctx.IsSet("groups") || ctx.IsSet("users") || ctx.IsSet("policies") || ctx.IsSet("ilm-expiry-rules")
+ indivStatus := ctx.IsSet("bucket") || ctx.IsSet("group") || ctx.IsSet("user") || ctx.IsSet("policy") || ctx.IsSet("ilm-expiry-rule")
if groupStatus && indivStatus {
fatalIf(errInvalidArgument().Trace(ctx.Args().Tail()...),
- "Cannot specify both (bucket|group|policy|user) flag and one or more of buckets|groups|policies|users) flag(s)")
+ "Cannot specify both (bucket|group|policy|user|ilm-expiry-rule) flag and one or more of buckets|groups|policies|users|ilm-expiry-rules) flag(s)")
}
- setSlc := []bool{ctx.IsSet("bucket"), ctx.IsSet("user"), ctx.IsSet("group"), ctx.IsSet("policy")}
+ setSlc := []bool{ctx.IsSet("bucket"), ctx.IsSet("user"), ctx.IsSet("group"), ctx.IsSet("policy"), ctx.IsSet("ilm-expiry-rule")}
count := 0
for _, s := range setSlc {
if s {
@@ -771,7 +872,7 @@
}
if count > 1 {
fatalIf(errInvalidArgument().Trace(ctx.Args().Tail()...),
- "Cannot specify more than one of --bucket, --policy, --user, --group flags at the same time")
+ "Cannot specify more than one of --bucket, --policy, --user, --group, --ilm-expiry-rule flags at the same time")
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/admin-replicate-update.go new/mc-20231202T020328Z/cmd/admin-replicate-update.go
--- old/mc-20231120T163059Z/cmd/admin-replicate-update.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/admin-replicate-update.go 2023-12-02 03:03:28.000000000 +0100
@@ -53,6 +53,14 @@
Name: "bucket-bandwidth",
Usage: "Set default bandwidth limit for bucket in bits per second (K,B,G,T for metric and Ki,Bi,Gi,Ti for IEC units)",
},
+ cli.BoolFlag{
+ Name: "disable-ilm-expiry-replication",
+ Usage: "disable ILM expiry rules replication",
+ },
+ cli.BoolFlag{
+ Name: "enable-ilm-expiry-replication",
+ Usage: "enable ILM expiry rules replication",
+ },
}
var adminReplicateUpdateCmd = cli.Command{
@@ -80,6 +88,12 @@
2. Edit a site in cluster-level replication to set default bandwidth limit for bucket:
{{.Prompt}} {{.HelpName}} myminio --deployment-id c1758167-4426-454f-9aae-5c3dfdf6df64 --bucket-bandwidth "2G"
+
+ 3. Disable replication of ILM expiry in cluster-level replication:
+ {{.Prompt}} {{.HelpName}} myminio --disable-ilm-expiry-replication
+
+ 4. Enable replication of ILM expiry in cluster-level replication:
+ {{.Prompt}} {{.HelpName}} myminio --enable-ilm-expiry-replication
`,
}
@@ -125,15 +139,21 @@
client, err := newAdminClient(aliasedURL)
fatalIf(err, "Unable to initialize admin connection.")
- if !ctx.IsSet("deployment-id") {
+ if !ctx.IsSet("deployment-id") && !ctx.IsSet("disable-ilm-expiry-replication") && !ctx.IsSet("enable-ilm-expiry-replication") {
fatalIf(errInvalidArgument(), "--deployment-id is a required flag")
}
- if !ctx.IsSet("endpoint") && !ctx.IsSet("mode") && !ctx.IsSet("sync") && !ctx.IsSet("bucket-bandwidth") {
- fatalIf(errInvalidArgument(), "--endpoint, --mode or --bucket-bandwidth is a required flag")
+ if !ctx.IsSet("endpoint") && !ctx.IsSet("mode") && !ctx.IsSet("sync") && !ctx.IsSet("bucket-bandwidth") && !ctx.IsSet("disable-ilm-expiry-replication") && !ctx.IsSet("enable-ilm-expiry-replication") {
+ fatalIf(errInvalidArgument(), "--endpoint, --mode, --bucket-bandwidth, --disable-ilm-expiry-replication or --enable-ilm-expiry-replication is a required flag")
}
if ctx.IsSet("mode") && ctx.IsSet("sync") {
fatalIf(errInvalidArgument(), "either --sync or --mode flag should be specified")
}
+ if ctx.IsSet("disable-ilm-expiry-replication") && ctx.IsSet("enable-ilm-expiry-replication") {
+ fatalIf(errInvalidArgument(), "either --disable-ilm-expiry-replication or --enable-ilm-expiry-replication flag should be specified")
+ }
+ if (ctx.IsSet("disable-ilm-expiry-replication") || ctx.IsSet("enable-ilm-expiry-replication")) && ctx.IsSet("deployment-id") {
+ fatalIf(errInvalidArgument(), "--deployment-id should not be set with --disable-ilm-expiry-replication or --enable-ilm-expiry-replication")
+ }
var syncState string
if ctx.IsSet("sync") { // for backward compatibility - deprecated Jul 2023
@@ -175,12 +195,15 @@
}
ep = u.String()
}
+ var opts madmin.SREditOptions
+ opts.DisableILMExpiryReplication = ctx.Bool("disable-ilm-expiry-replication")
+ opts.EnableILMExpiryReplication = ctx.Bool("enable-ilm-expiry-replication")
res, e := client.SiteReplicationEdit(globalContext, madmin.PeerInfo{
DeploymentID: ctx.String("deployment-id"),
Endpoint: ep,
SyncState: madmin.SyncStatus(syncState),
DefaultBandwidth: bwDefaults,
- }, madmin.SREditOptions{})
+ }, opts)
fatalIf(probe.NewError(e).Trace(args...), "Unable to edit cluster replication site endpoint")
printMsg(updateSuccessMessage(res))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/alias-set.go new/mc-20231202T020328Z/cmd/alias-set.go
--- old/mc-20231120T163059Z/cmd/alias-set.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/alias-set.go 2023-12-02 03:03:28.000000000 +0100
@@ -235,8 +235,8 @@
// BuildS3Config constructs an S3 Config and does
// signature auto-probe when needed.
-func BuildS3Config(ctx context.Context, url, accessKey, secretKey, api, path string, peerCert *x509.Certificate) (*Config, *probe.Error) {
- s3Config := NewS3Config(url, &aliasConfigV10{
+func BuildS3Config(ctx context.Context, alias, url, accessKey, secretKey, api, path string, peerCert *x509.Certificate) (*Config, *probe.Error) {
+ s3Config := NewS3Config(alias, url, &aliasConfigV10{
AccessKey: accessKey,
SecretKey: secretKey,
URL: url,
@@ -339,7 +339,7 @@
fatalIf(err.Trace(alias, url, accessKey), "Unable to initialize new alias from the provided credentials.")
}
- s3Config, err := BuildS3Config(ctx, url, accessKey, secretKey, api, path, peerCert)
+ s3Config, err := BuildS3Config(ctx, alias, url, accessKey, secretKey, api, path, peerCert)
fatalIf(err.Trace(alias, url, accessKey), "Unable to initialize new alias from the provided credentials.")
msg := setAlias(alias, aliasConfigV10{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/anonymous-main.go new/mc-20231202T020328Z/cmd/anonymous-main.go
--- old/mc-20231120T163059Z/cmd/anonymous-main.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/anonymous-main.go 2023-12-02 03:03:28.000000000 +0100
@@ -52,7 +52,7 @@
USAGE:
{{.HelpName}} [FLAGS] set PERMISSION TARGET
- {{.HelpName}} [FLAGS] set-json TARGET FILE
+ {{.HelpName}} [FLAGS] set-json FILE TARGET
{{.HelpName}} [FLAGS] get TARGET
{{.HelpName}} [FLAGS] get-json TARGET
{{.HelpName}} [FLAGS] list TARGET
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/client-admin.go new/mc-20231202T020328Z/cmd/client-admin.go
--- old/mc-20231120T163059Z/cmd/client-admin.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/client-admin.go 2023-12-02 03:03:28.000000000 +0100
@@ -108,7 +108,7 @@
return nil, probe.NewError(fmt.Errorf("No valid configuration found for '%s' host alias", urlStrFull))
}
- s3Config := NewS3Config(urlStrFull, aliasCfg)
+ s3Config := NewS3Config(alias, urlStrFull, aliasCfg)
s3Client, err := s3AdminNew(s3Config)
if err != nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/client-admin_test.go new/mc-20231202T020328Z/cmd/client-admin_test.go
--- old/mc-20231120T163059Z/cmd/client-admin_test.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/client-admin_test.go 2023-12-02 03:03:28.000000000 +0100
@@ -19,15 +19,9 @@
import (
"bytes"
- "context"
"io"
- "log"
"net/http"
- "net/http/httptest"
- "os"
"strconv"
-
- checkv1 "gopkg.in/check.v1"
)
type adminPolicyHandler struct {
@@ -67,61 +61,3 @@
w.WriteHeader(http.StatusForbidden)
}
}
-
-func (s *TestSuite) TestAdminSTSOperation(c *checkv1.C) {
- sts := stsHandler{
- endpoint: "/",
- jwt: []byte("eyJhbGciOiJSUzI1NiIsImtpZCI6Inc0dFNjMEc5Tk0wQWhGaWJYaWIzbkpRZkRKeDc1dURRTUVpOTNvTHJ0OWcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzMxMTg3NzEwLCJpYXQiOjE2OTk2NTE3MTAsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJtaW5pby10ZW5hbnQtMSIsInBvZCI6eyJuYW1lIjoic2V0dXAtYnVja2V0LXQ4eGdjIiwidWlkIjoiNjZhYjlkZWItNzkwMC00YTFlLTgzMDgtMTkwODIwZmQ3NDY5In0sInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJtYy1qb2Itc2EiLCJ1aWQiOiI3OTc4NzJjZC1kMjkwLTRlM2EtYjYyMC00ZGFkYzZhNzUyMTYifSwid2FybmFmdGVyIjoxNjk5NjU1MzE3fSwibmJmIjoxNjk5NjUxNzEwLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bWluaW8tdGVuYW50LTE6bWMtam9iLXNhIn0.rY7dpAh8GBTViH9Ges7tRhgyihdFWEN0DwXchelmZg58VOI526S-YfbCqrxksTs8Iu0fp1rmk1cUj7FGDh3AOv2RphHjoWci1802zKkHgH0iOEbKMp3jHXwfyHda8CyrSCPycGzClueCf1ae91wd_0lgK9lOR1qqY1HuDeXqSEAUIGrfh1VcP2n95Zc07EY-Uh3XjJE4drtgusACEK5n3P3WtN9s0m0GomEGQzF5ZJczxLGpHBKMQ5VDhMksVKdBAsx9xHgSx84aUhKQViYilAL-8PRj-R
ZA9s_IpEymAh5R37dKzAO8Fqq0nG7fVbH_ifzw3xhHiG92BhHldBDqEQ"),
- }
-
- tmpfile, errFs := os.CreateTemp("", "jwt")
- if errFs != nil {
- log.Fatal(errFs)
- }
- defer os.Remove(tmpfile.Name()) // clean up
-
- if _, errFs := tmpfile.Write(sts.jwt); errFs != nil {
- log.Fatal(errFs)
- }
- if errFs := tmpfile.Close(); errFs != nil {
- log.Fatal(errFs)
- }
-
- stsServer := httptest.NewServer(sts)
- defer stsServer.Close()
- os.Setenv("MC_STS_ENDPOINT", stsServer.URL+sts.endpoint)
- os.Setenv("MC_WEB_IDENTITY_TOKEN_FILE", tmpfile.Name())
- handler := adminPolicyHandler{
- endpoint: "/minio/admin/v3/add-canned-policy?name=",
- name: "test",
- policy: []byte(`
-{
- "Version": "2012-10-17",
- "Statement": [
- {
- "Effect": "Allow",
- "Action": [
- "s3:*"
- ],
- "Resource": [
- "arn:aws:s3:::test-bucket",
- "arn:aws:s3:::test-bucket/*"
- ]
- }
- ]
-
-}`),
- }
- server := httptest.NewServer(handler)
- defer server.Close()
-
- conf := new(Config)
- conf.Debug = true
- conf.Insecure = true
- conf.HostURL = server.URL + handler.endpoint + handler.name
- s3c, err := s3AdminNew(conf)
- c.Assert(err, checkv1.IsNil)
-
- policyErr := s3c.AddCannedPolicy(context.Background(), handler.name, handler.policy)
- c.Assert(policyErr, checkv1.IsNil)
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/client-s3.go new/mc-20231202T020328Z/cmd/client-s3.go
--- old/mc-20231120T163059Z/cmd/client-s3.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/client-s3.go 2023-12-02 03:03:28.000000000 +0100
@@ -216,14 +216,14 @@
func getCredentialsChainForConfig(config *Config, transport http.RoundTripper) ([]credentials.Provider, *probe.Error) {
var credsChain []credentials.Provider
// if an STS endpoint is set, we will add that to the chain
- if stsEndpoint := env.Get("MC_STS_ENDPOINT", ""); stsEndpoint != "" {
+ if stsEndpoint := env.Get("MC_STS_ENDPOINT_"+config.Alias, ""); stsEndpoint != "" {
// set AWS_WEB_IDENTITY_TOKEN_FILE is MC_WEB_IDENTITY_TOKEN_FILE is set
- if val := env.Get("MC_WEB_IDENTITY_TOKEN_FILE", ""); val != "" {
+ if val := env.Get("MC_WEB_IDENTITY_TOKEN_FILE_"+config.Alias, ""); val != "" {
os.Setenv("AWS_WEB_IDENTITY_TOKEN_FILE", val)
- if val := env.Get("MC_ROLE_ARN", ""); val != "" {
+ if val := env.Get("MC_ROLE_ARN_"+config.Alias, ""); val != "" {
os.Setenv("AWS_ROLE_ARN", val)
}
- if val := env.Get("MC_ROLE_SESSION_NAME", randString(32, rand.NewSource(time.Now().UnixNano()), "mc-session-name-")); val != "" {
+ if val := env.Get("MC_ROLE_SESSION_NAME_"+config.Alias, randString(32, rand.NewSource(time.Now().UnixNano()), "mc-session-name-")); val != "" {
os.Setenv("AWS_ROLE_SESSION_NAME", val)
}
}
@@ -957,6 +957,8 @@
return nil, probe.NewError(err)
}
}
+ // Disallow automatic decompression for some objects with content-encoding set.
+ o.Set("Accept-Encoding", "identity")
reader, e := c.api.GetObject(ctx, bucket, object, o)
if e != nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/client-s3_test.go new/mc-20231202T020328Z/cmd/client-s3_test.go
--- old/mc-20231120T163059Z/cmd/client-s3_test.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/client-s3_test.go 2023-12-02 03:03:28.000000000 +0100
@@ -22,10 +22,8 @@
"bytes"
"context"
"io"
- "log"
"net/http"
"net/http/httptest"
- "os"
"strconv"
minio "github.com/minio/minio-go/v7"
@@ -88,7 +86,7 @@
}
switch {
- case r.Method == "PUT":
+ case r.Method == http.MethodPut:
// Handler for PUT object request.
length, e := strconv.Atoi(r.Header.Get("Content-Length"))
if e != nil {
@@ -102,7 +100,7 @@
}
w.Header().Set("ETag", "9af2f8218b150c351ad802c6f3d66abe")
w.WriteHeader(http.StatusOK)
- case r.Method == "HEAD":
+ case r.Method == http.MethodHead:
// Handler for Stat object request.
if r.URL.Path != h.resource {
w.WriteHeader(http.StatusNotFound)
@@ -112,7 +110,7 @@
w.Header().Set("Last-Modified", UTCNow().Format(http.TimeFormat))
w.Header().Set("ETag", "9af2f8218b150c351ad802c6f3d66abe")
w.WriteHeader(http.StatusOK)
- case r.Method == "POST":
+ case r.Method == http.MethodPost:
// Handler for multipart upload request.
if _, ok := r.URL.Query()["uploads"]; ok {
if r.URL.Path == h.resource {
@@ -134,7 +132,7 @@
w.WriteHeader(http.StatusNotFound)
return
}
- case r.Method == "GET":
+ case r.Method == http.MethodGet:
// Handler for get bucket location request.
if _, ok := r.URL.Query()["location"]; ok {
response := []byte("<LocationConstraint xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\"></LocationConstraint>")
@@ -174,7 +172,7 @@
return
}
switch {
- case r.Method == "POST":
+ case r.Method == http.MethodPost:
token := r.Form.Get("WebIdentityToken")
if token == string(h.jwt) {
response := []byte("<AssumeRoleWithWebIdentityResponse xmlns=\"https://sts.amazonaws.com/doc/2011-06-15/\"><AssumeRoleWithWebIdentityResult><AssumedRoleUser><Arn></Arn><AssumeRoleId></AssumeRoleId></AssumedRoleUser><Credentials><AccessKeyId>7NL5BR739GUQ0ZOD4JNB</AccessKeyId><SecretAccessKey>A2mxZSxPnHNhSduedUHczsXZpVSSssOLpDruUmTV</SecretAccessKey><Expiration>0001-01-01T00:00:00Z</Expiration><SessionToken>eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI3Tkw1QlI3MzlHVVEwWk9ENEpOQiIsImV4cCI6MTY5OTYwMzMwNiwicGFyZW50IjoibWluaW8iLCJzZXNzaW9uUG9saWN5IjoiZXlKV1pYSnphVzl1SWpvaU1qQXhNaTB4TUMweE55SXNJbE4wWVhSbGJXVnVkQ0k2VzNzaVJXWm1aV04wSWpvaVFXeHNiM2NpTENKQlkzUnBiMjRpT2xzaVlXUnRhVzQ2S2lKZGZTeDdJa1ZtWm1WamRDSTZJa0ZzYkc5M0lpd2lRV04wYVc5dUlqcGJJbXR0Y3pvcUlsMTlMSHNpUldabVpXTjBJam9pUVd4c2IzY2lMQ0pCWTNScGIyNGlPbHNpY3pNNktpSmRMQ0pTWlhOdmRYSmpaU0k2V3lKaGNtNDZZWGR6T25Nek9qbzZLaUpkZlYxOSJ9.uuE_x7PO8QoPfUk9KzUELoAqxihIknZAvJLl5aYJjwpSjJYFTPLp6EvuyJX2hc18s9HzeiJ-vU0dPzsy50dXmg</SessionToken></
Credentials></AssumeRoleWithWebIdentityResult><ResponseMetadata></ResponseMetadata></AssumeRoleWithWebIdentityResponse>")
@@ -182,14 +180,12 @@
w.Header().Set("Content-Type", "application/xml")
w.Header().Set("Server", "MinIO")
w.Write(response)
- w.WriteHeader(http.StatusOK)
return
} else {
response := []byte("<ErrorResponse xmlns=\"https://sts.amazonaws.com/doc/2011-06-15/\"><Error><Type></Type><Code>AccessDenied</Code><Message>Access denied: Invalid Token</Message></Error><RequestId></RequestId></ErrorResponse>")
w.Header().Set("Content-Length", strconv.Itoa(len(response)))
w.Header().Set("Content-Type", "application/xml")
w.Write(response)
- w.WriteHeader(http.StatusForbidden)
return
}
}
@@ -279,52 +275,6 @@
}
}
-func (s *TestSuite) TestSTSOperation(c *checkv1.C) {
- sts := stsHandler{
- endpoint: "/",
- jwt: []byte("eyJhbGciOiJSUzI1NiIsImtpZCI6Inc0dFNjMEc5Tk0wQWhGaWJYaWIzbkpRZkRKeDc1dURRTUVpOTNvTHJ0OWcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzMxMTIyNjg0LCJpYXQiOjE2OTk1ODY2ODQsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJtaW5pby10ZW5hbnQtMSIsInBvZCI6eyJuYW1lIjoic2V0dXAtYnVja2V0LXJ4aHhiIiwidWlkIjoiNmNhMzhjMmItYTdkMC00M2Y0LWE0NjMtZjdlNjU4MGUyZDdiIn0sInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJtYy1qb2Itc2EiLCJ1aWQiOiI3OTc4NzJjZC1kMjkwLTRlM2EtYjYyMC00ZGFkYzZhNzUyMTYifSwid2FybmFmdGVyIjoxNjk5NTkwMjkxfSwibmJmIjoxNjk5NTg2Njg0LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bWluaW8tdGVuYW50LTE6bWMtam9iLXNhIn0.fBJckmoQFyJ9bUgKZv6jzBESd9ccX_HFPPBZ17Gz_CsQ5wXrMqnvoMs1mcv6QKWsDsvSnWnw_tcW0cjvVkXb2mKmioKLzqV4ihGbiWzwk2e1xDohn8fizdQkf64bXpncjGdEGv8oi9A4300jfLMfg53POriMyEAQMeIDKPOI9qx913xjGni2w2H49mjLfnFnRaj9osvy17425dNIrMC6GDFq3rcq6Z_cdDmL18Jwsjy1xDsAhUzmOclr-VI3AeSnuD4fbf6jhbKE14qVUjLmIBf__B5NhE
SiaFNwxFYjonZyi357Nx93CD1wai28tNRSODx7BiPHLxk8SyzY0CP0sQ"),
- }
-
- tmpfile, errFs := os.CreateTemp("", "jwt")
- if errFs != nil {
- log.Fatal(errFs)
- }
- defer os.Remove(tmpfile.Name()) // clean up
-
- if _, errFs := tmpfile.Write(sts.jwt); errFs != nil {
- log.Fatal(errFs)
- }
- if errFs := tmpfile.Close(); errFs != nil {
- log.Fatal(errFs)
- }
-
- stsServer := httptest.NewServer(sts)
- defer stsServer.Close()
- os.Setenv("MC_STS_ENDPOINT", stsServer.URL+sts.endpoint)
- os.Setenv("MC_WEB_IDENTITY_TOKEN_FILE", tmpfile.Name())
- object := objectHandler{
- resource: "/bucket/object",
- data: []byte("Hello, World"),
- }
- server := httptest.NewServer(object)
- defer server.Close()
-
- conf := new(Config)
- conf.HostURL = server.URL + object.resource
- s3c, err := S3New(conf)
- c.Assert(err, checkv1.IsNil)
-
- var reader io.Reader
- reader = bytes.NewReader(object.data)
- n, err := s3c.Put(context.Background(), reader, int64(len(object.data)), nil, PutOptions{
- metadata: map[string]string{
- "Content-Type": "application/octet-stream",
- },
- })
- c.Assert(err, checkv1.IsNil)
- c.Assert(n, checkv1.Equals, int64(len(object.data)))
-}
-
var testSelectCompressionTypeCases = []struct {
opts SelectObjectOpts
object string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/client-sts_test.go new/mc-20231202T020328Z/cmd/client-sts_test.go
--- old/mc-20231120T163059Z/cmd/client-sts_test.go 1970-01-01 01:00:00.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/client-sts_test.go 2023-12-02 03:03:28.000000000 +0100
@@ -0,0 +1,144 @@
+// Copyright (c) 2015-2023 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "log"
+ "net/http/httptest"
+ "os"
+ "testing"
+)
+
+func TestSTSS3Operation(t *testing.T) {
+ sts := stsHandler{
+ endpoint: "/",
+ jwt: []byte("eyJhbGciOiJSUzI1NiIsImtpZCI6Inc0dFNjMEc5Tk0wQWhGaWJYaWIzbkpRZkRKeDc1dURRTUVpOTNvTHJ0OWcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzMxMTIyNjg0LCJpYXQiOjE2OTk1ODY2ODQsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJtaW5pby10ZW5hbnQtMSIsInBvZCI6eyJuYW1lIjoic2V0dXAtYnVja2V0LXJ4aHhiIiwidWlkIjoiNmNhMzhjMmItYTdkMC00M2Y0LWE0NjMtZjdlNjU4MGUyZDdiIn0sInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJtYy1qb2Itc2EiLCJ1aWQiOiI3OTc4NzJjZC1kMjkwLTRlM2EtYjYyMC00ZGFkYzZhNzUyMTYifSwid2FybmFmdGVyIjoxNjk5NTkwMjkxfSwibmJmIjoxNjk5NTg2Njg0LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bWluaW8tdGVuYW50LTE6bWMtam9iLXNhIn0.fBJckmoQFyJ9bUgKZv6jzBESd9ccX_HFPPBZ17Gz_CsQ5wXrMqnvoMs1mcv6QKWsDsvSnWnw_tcW0cjvVkXb2mKmioKLzqV4ihGbiWzwk2e1xDohn8fizdQkf64bXpncjGdEGv8oi9A4300jfLMfg53POriMyEAQMeIDKPOI9qx913xjGni2w2H49mjLfnFnRaj9osvy17425dNIrMC6GDFq3rcq6Z_cdDmL18Jwsjy1xDsAhUzmOclr-VI3AeSnuD4fbf6jhbKE14qVUjLmIBf__B5NhE
SiaFNwxFYjonZyi357Nx93CD1wai28tNRSODx7BiPHLxk8SyzY0CP0sQ"),
+ }
+
+ tmpfile, errFs := os.CreateTemp("", "jwt")
+ if errFs != nil {
+ log.Fatal(errFs)
+ }
+ defer os.Remove(tmpfile.Name()) // clean up
+
+ if _, errFs := tmpfile.Write(sts.jwt); errFs != nil {
+ log.Fatal(errFs)
+ }
+ if errFs := tmpfile.Close(); errFs != nil {
+ log.Fatal(errFs)
+ }
+
+ stsServer := httptest.NewServer(sts)
+ defer stsServer.Close()
+ t.Setenv("MC_STS_ENDPOINT_test", stsServer.URL+sts.endpoint)
+ t.Setenv("MC_WEB_IDENTITY_TOKEN_FILE_test", tmpfile.Name())
+ object := objectHandler{
+ resource: "/bucket/object",
+ data: []byte("Hello, World"),
+ }
+ server := httptest.NewServer(object)
+ defer server.Close()
+
+ conf := new(Config)
+ conf.Alias = "test"
+ conf.HostURL = server.URL + object.resource
+ s3c, err := S3New(conf)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var reader io.Reader
+ reader = bytes.NewReader(object.data)
+ n, err := s3c.Put(context.Background(), reader, int64(len(object.data)), nil, PutOptions{
+ metadata: map[string]string{
+ "Content-Type": "application/octet-stream",
+ },
+ })
+ if err != nil {
+ t.Fatal(err)
+ }
+ if n != int64(len(object.data)) {
+ t.Fatalf("expected %d, got %d", n, len(object.data))
+ }
+}
+
+func TestAdminSTSOperation(t *testing.T) {
+ sts := stsHandler{
+ endpoint: "/",
+ jwt: []byte("eyJhbGciOiJSUzI1NiIsImtpZCI6Inc0dFNjMEc5Tk0wQWhGaWJYaWIzbkpRZkRKeDc1dURRTUVpOTNvTHJ0OWcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzMxMTg3NzEwLCJpYXQiOjE2OTk2NTE3MTAsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJtaW5pby10ZW5hbnQtMSIsInBvZCI6eyJuYW1lIjoic2V0dXAtYnVja2V0LXQ4eGdjIiwidWlkIjoiNjZhYjlkZWItNzkwMC00YTFlLTgzMDgtMTkwODIwZmQ3NDY5In0sInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJtYy1qb2Itc2EiLCJ1aWQiOiI3OTc4NzJjZC1kMjkwLTRlM2EtYjYyMC00ZGFkYzZhNzUyMTYifSwid2FybmFmdGVyIjoxNjk5NjU1MzE3fSwibmJmIjoxNjk5NjUxNzEwLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bWluaW8tdGVuYW50LTE6bWMtam9iLXNhIn0.rY7dpAh8GBTViH9Ges7tRhgyihdFWEN0DwXchelmZg58VOI526S-YfbCqrxksTs8Iu0fp1rmk1cUj7FGDh3AOv2RphHjoWci1802zKkHgH0iOEbKMp3jHXwfyHda8CyrSCPycGzClueCf1ae91wd_0lgK9lOR1qqY1HuDeXqSEAUIGrfh1VcP2n95Zc07EY-Uh3XjJE4drtgusACEK5n3P3WtN9s0m0GomEGQzF5ZJczxLGpHBKMQ5VDhMksVKdBAsx9xHgSx84aUhKQViYilAL-8PRj-R
ZA9s_IpEymAh5R37dKzAO8Fqq0nG7fVbH_ifzw3xhHiG92BhHldBDqEQ"),
+ }
+
+ tmpfile, errFs := os.CreateTemp("", "jwt")
+ if errFs != nil {
+ log.Fatal(errFs)
+ }
+ defer os.Remove(tmpfile.Name()) // clean up
+
+ if _, errFs := tmpfile.Write(sts.jwt); errFs != nil {
+ log.Fatal(errFs)
+ }
+ if errFs := tmpfile.Close(); errFs != nil {
+ log.Fatal(errFs)
+ }
+
+ stsServer := httptest.NewServer(sts)
+ defer stsServer.Close()
+ t.Setenv("MC_STS_ENDPOINT_test", stsServer.URL+sts.endpoint)
+ t.Setenv("MC_WEB_IDENTITY_TOKEN_FILE_test", tmpfile.Name())
+ handler := adminPolicyHandler{
+ endpoint: "/minio/admin/v3/add-canned-policy?name=",
+ name: "test",
+ policy: []byte(`
+{
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Effect": "Allow",
+ "Action": [
+ "s3:*"
+ ],
+ "Resource": [
+ "arn:aws:s3:::test-bucket",
+ "arn:aws:s3:::test-bucket/*"
+ ]
+ }
+ ]
+
+}`),
+ }
+ server := httptest.NewServer(handler)
+ defer server.Close()
+
+ conf := new(Config)
+ conf.Alias = "test"
+ conf.Debug = true
+ conf.Insecure = true
+ conf.HostURL = server.URL + handler.endpoint + handler.name
+ s3c, err := s3AdminNew(conf)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ e := s3c.AddCannedPolicy(context.Background(), handler.name, handler.policy)
+ if e != nil {
+ t.Fatal(e)
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/client.go new/mc-20231202T020328Z/cmd/client.go
--- old/mc-20231120T163059Z/cmd/client.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/client.go 2023-12-02 03:03:28.000000000 +0100
@@ -216,6 +216,7 @@
// Config - see http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthen…
type Config struct {
+ Alias string
AccessKey string
SecretKey string
SessionToken string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/common-methods.go new/mc-20231202T020328Z/cmd/common-methods.go
--- old/mc-20231120T163059Z/cmd/common-methods.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/common-methods.go 2023-12-02 03:03:28.000000000 +0100
@@ -629,8 +629,7 @@
return fsClient, nil
}
- s3Config := NewS3Config(urlStr, hostCfg)
-
+ s3Config := NewS3Config(alias, urlStr, hostCfg)
s3Client, err := S3New(s3Config)
if err != nil {
return nil, err.Trace(alias, urlStr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/ilm/options.go new/mc-20231202T020328Z/cmd/ilm/options.go
--- old/mc-20231120T163059Z/cmd/ilm/options.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/ilm/options.go 2023-12-02 03:03:28.000000000 +0100
@@ -20,9 +20,11 @@
import (
"errors"
"fmt"
+ "math"
"strconv"
"strings"
+ "github.com/dustin/go-humanize"
"github.com/minio/cli"
"github.com/minio/mc/pkg/probe"
"github.com/minio/minio-go/v7/pkg/lifecycle"
@@ -61,13 +63,15 @@
Status *bool
- Prefix *string
- Tags *string
- ExpiryDate *string
- ExpiryDays *string
- TransitionDate *string
- TransitionDays *string
- StorageClass *string
+ Prefix *string
+ Tags *string
+ ObjectSizeLessThan *int64
+ ObjectSizeGreaterThan *int64
+ ExpiryDate *string
+ ExpiryDays *string
+ TransitionDate *string
+ TransitionDays *string
+ StorageClass *string
ExpiredObjectDeleteMarker *bool
NoncurrentVersionExpirationDays *int
@@ -77,13 +81,58 @@
NoncurrentVersionTransitionStorageClass *string
}
+// Filter returns lifecycle.Filter appropriate for opts
+func (opts LifecycleOptions) Filter() lifecycle.Filter {
+ var f lifecycle.Filter
+ var tags []lifecycle.Tag
+ var predCount int
+ if opts.Tags != nil {
+ tags = extractILMTags(*opts.Tags)
+ predCount += len(tags)
+ }
+ var prefix string
+ if opts.Prefix != nil {
+ prefix = *opts.Prefix
+ predCount++
+ }
+
+ var szLt, szGt int64
+ if opts.ObjectSizeLessThan != nil {
+ szLt = *opts.ObjectSizeLessThan
+ predCount++
+ }
+
+ if opts.ObjectSizeGreaterThan != nil {
+ szGt = *opts.ObjectSizeGreaterThan
+ predCount++
+ }
+
+ if predCount >= 2 {
+ f.And = lifecycle.And{
+ Tags: tags,
+ Prefix: prefix,
+ ObjectSizeLessThan: szLt,
+ ObjectSizeGreaterThan: szGt,
+ }
+ } else {
+ // In a valid lifecycle rule filter at most one of the
+ // following will only be set.
+ f.Prefix = prefix
+ f.ObjectSizeGreaterThan = szGt
+ f.ObjectSizeLessThan = szLt
+ if len(tags) >= 1 {
+ f.Tag = tags[0]
+ }
+ }
+
+ return f
+}
+
// ToILMRule creates lifecycle.Configuration based on LifecycleOptions
func (opts LifecycleOptions) ToILMRule() (lifecycle.Rule, *probe.Error) {
var (
id, status string
- filter lifecycle.Filter
-
nonCurrentVersionExpirationDays lifecycle.ExpirationDays
newerNonCurrentExpirationVersions int
nonCurrentVersionTransitionDays lifecycle.ExpirationDays
@@ -110,23 +159,6 @@
return lifecycle.Rule{}, err
}
- andVal := lifecycle.And{}
- if opts.Tags != nil {
- andVal.Tags = extractILMTags(*opts.Tags)
- }
-
- if opts.Prefix != nil {
- filter.Prefix = *opts.Prefix
- }
-
- if len(andVal.Tags) > 0 {
- filter.And = andVal
- if opts.Prefix != nil {
- filter.And.Prefix = *opts.Prefix
- }
- filter.Prefix = ""
- }
-
if opts.NoncurrentVersionExpirationDays != nil {
nonCurrentVersionExpirationDays = lifecycle.ExpirationDays(*opts.NoncurrentVersionExpirationDays)
}
@@ -145,7 +177,7 @@
newRule := lifecycle.Rule{
ID: id,
- RuleFilter: filter,
+ RuleFilter: opts.Filter(),
Status: status,
Expiration: expiry,
Transition: transition,
@@ -177,6 +209,10 @@
return &ptr
}
+func int64Ptr(i int64) *int64 {
+ return &i
+}
+
func boolPtr(b bool) *bool {
ptr := b
return &ptr
@@ -191,6 +227,8 @@
prefix *string
tags *string
+ sizeLt *int64
+ sizeGt *int64
expiryDate *string
expiryDays *string
transitionDate *string
@@ -232,6 +270,24 @@
}
}
+ if ctx.IsSet("size-lt") {
+ szStr := ctx.String("size-lt")
+ szLt, err := humanize.ParseBytes(szStr)
+ if err != nil || szLt > math.MaxInt64 {
+ return LifecycleOptions{}, probe.NewError(fmt.Errorf("size-lt value %s is invalid", szStr))
+ }
+
+ sizeLt = int64Ptr(int64(szLt))
+ }
+ if ctx.IsSet("size-gt") {
+ szStr := ctx.String("size-gt")
+ szGt, err := humanize.ParseBytes(szStr)
+ if err != nil || szGt > math.MaxInt64 {
+ return LifecycleOptions{}, probe.NewError(fmt.Errorf("size-gt value %s is invalid", szStr))
+ }
+ sizeGt = int64Ptr(int64(szGt))
+ }
+
// For backward-compatibility
if ctx.IsSet("storage-class") {
tier = strPtr(strings.ToUpper(ctx.String("storage-class")))
@@ -318,6 +374,8 @@
Status: status,
Prefix: prefix,
Tags: tags,
+ ObjectSizeLessThan: sizeLt,
+ ObjectSizeGreaterThan: sizeGt,
ExpiryDate: expiryDate,
ExpiryDays: expiryDays,
TransitionDate: transitionDate,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/ilm/options_test.go new/mc-20231202T020328Z/cmd/ilm/options_test.go
--- old/mc-20231120T163059Z/cmd/ilm/options_test.go 1970-01-01 01:00:00.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/ilm/options_test.go 2023-12-02 03:03:28.000000000 +0100
@@ -0,0 +1,155 @@
+// Copyright (c) 2015-2023 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package ilm
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/dustin/go-humanize"
+ "github.com/minio/minio-go/v7/pkg/lifecycle"
+)
+
+func TestOptionFilter(t *testing.T) {
+ emptyFilter := lifecycle.Filter{}
+ emptyOpts := LifecycleOptions{}
+
+ filterWithPrefix := lifecycle.Filter{
+ Prefix: "doc/",
+ }
+ optsWithPrefix := LifecycleOptions{
+ Prefix: strPtr("doc/"),
+ }
+
+ filterWithTag := lifecycle.Filter{
+ Tag: lifecycle.Tag{
+ Key: "key1",
+ Value: "value1",
+ },
+ }
+ optsWithTag := LifecycleOptions{
+ Tags: strPtr("key1=value1"),
+ }
+
+ filterWithSzLt := lifecycle.Filter{
+ ObjectSizeLessThan: 100 * humanize.MiByte,
+ }
+ optsWithSzLt := LifecycleOptions{
+ ObjectSizeLessThan: int64Ptr(100 * humanize.MiByte),
+ }
+
+ filterWithSzGt := lifecycle.Filter{
+ ObjectSizeGreaterThan: 1 * humanize.MiByte,
+ }
+ optsWithSzGt := LifecycleOptions{
+ ObjectSizeGreaterThan: int64Ptr(1 * humanize.MiByte),
+ }
+
+ filterWithAnd := lifecycle.Filter{
+ And: lifecycle.And{
+ Prefix: "doc/",
+ Tags: []lifecycle.Tag{
+ {
+ Key: "key1",
+ Value: "value1",
+ },
+ },
+ ObjectSizeLessThan: 100 * humanize.MiByte,
+ ObjectSizeGreaterThan: 1 * humanize.MiByte,
+ },
+ }
+ optsWithAnd := LifecycleOptions{
+ Prefix: strPtr("doc/"),
+ Tags: strPtr("key1=value1"),
+ ObjectSizeLessThan: int64Ptr(100 * humanize.MiByte),
+ ObjectSizeGreaterThan: int64Ptr(1 * humanize.MiByte),
+ }
+
+ tests := []struct {
+ opts LifecycleOptions
+ want lifecycle.Filter
+ }{
+ {
+ opts: emptyOpts,
+ want: emptyFilter,
+ },
+ {
+ opts: optsWithPrefix,
+ want: filterWithPrefix,
+ },
+ {
+ opts: optsWithTag,
+ want: filterWithTag,
+ },
+ {
+ opts: optsWithSzGt,
+ want: filterWithSzGt,
+ },
+ {
+ opts: optsWithSzLt,
+ want: filterWithSzLt,
+ },
+ {
+ opts: optsWithAnd,
+ want: filterWithAnd,
+ },
+ }
+
+ filterEq := func(a, b lifecycle.Filter) bool {
+ if a.ObjectSizeGreaterThan != b.ObjectSizeGreaterThan {
+ return false
+ }
+ if a.ObjectSizeLessThan != b.ObjectSizeLessThan {
+ return false
+ }
+ if a.Prefix != b.Prefix {
+ return false
+ }
+ if a.Tag != b.Tag {
+ return false
+ }
+
+ if a.And.ObjectSizeGreaterThan != b.And.ObjectSizeGreaterThan {
+ return false
+ }
+ if a.And.ObjectSizeLessThan != b.And.ObjectSizeLessThan {
+ return false
+ }
+ if a.And.Prefix != b.And.Prefix {
+ return false
+ }
+ if len(a.And.Tags) != len(b.And.Tags) {
+ return false
+ }
+ for i := range a.And.Tags {
+ if a.And.Tags[i] != b.And.Tags[i] {
+ return false
+ }
+ }
+
+ return true
+ }
+
+ for i, test := range tests {
+ t.Run(fmt.Sprintf("Test %d", i+1), func(t *testing.T) {
+ if got := test.opts.Filter(); !filterEq(got, test.want) {
+ t.Fatalf("Expected %#v but got %#v", test.want, got)
+ }
+ })
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/ilm-rule-add.go new/mc-20231202T020328Z/cmd/ilm-rule-add.go
--- old/mc-20231120T163059Z/cmd/ilm-rule-add.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/ilm-rule-add.go 2023-12-02 03:03:28.000000000 +0100
@@ -49,13 +49,13 @@
Add a lifecycle configuration rule.
EXAMPLES:
- 1. Add a lifecycle rule with a transition and a noncurrent version transition action for objects with prefix doc/ in mybucket.
+ 1. Add a lifecycle rule with a transition and a noncurrent version transition action for objects with prefix doc/ whose size is greater than 1MiB in mybucket.
Tiers must exist in MinIO. Use existing tiers or add new tiers.
{{.Prompt}} mc ilm tier add minio myminio MINIOTIER-1 --endpoint https://warm-minio-1.com \
--access-key ACCESSKEY --secret-key SECRETKEY --bucket bucket1 --prefix prefix1
- {{.Prompt}} {{.HelpName}} --prefix "doc/" --transition-days "90" --transition-tier "MINIOTIER-1" \
+ {{.Prompt}} {{.HelpName}} --prefix "doc/" --size-gt 1MiB --transition-days "90" --transition-tier "MINIOTIER-1" \
--noncurrent-transition-days "45" --noncurrent-transition-tier "MINIOTIER-1" \
myminio/mybucket/
@@ -78,6 +78,14 @@
Usage: "key value pairs of the form '<key1>=<value1>&<key2>=<value2>&<key3>=<value3>'",
},
cli.StringFlag{
+ Name: "size-lt",
+ Usage: "objects with size less than this value will be selected for the lifecycle action",
+ },
+ cli.StringFlag{
+ Name: "size-gt",
+ Usage: "objects with size greater than this value will be selected for the lifecycle action",
+ },
+ cli.StringFlag{
Name: "expiry-date",
Usage: "format 'YYYY-MM-DD' the date of expiration",
Hidden: true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/cmd/utils.go new/mc-20231202T020328Z/cmd/utils.go
--- old/mc-20231120T163059Z/cmd/utils.go 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/cmd/utils.go 2023-12-02 03:03:28.000000000 +0100
@@ -137,7 +137,7 @@
// NewS3Config simply creates a new Config struct using the passed
// parameters.
-func NewS3Config(urlStr string, aliasCfg *aliasConfigV10) *Config {
+func NewS3Config(alias, urlStr string, aliasCfg *aliasConfigV10) *Config {
// We have a valid alias and hostConfig. We populate the
// credentials from the match found in the config file.
s3Config := new(Config)
@@ -152,6 +152,7 @@
s3Config.DownloadLimit = int64(globalLimitDownload)
s3Config.HostURL = urlStr
+ s3Config.Alias = alias
if aliasCfg != nil {
s3Config.AccessKey = aliasCfg.AccessKey
s3Config.SecretKey = aliasCfg.SecretKey
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/go.mod new/mc-20231202T020328Z/go.mod
--- old/mc-20231120T163059Z/go.mod 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/go.mod 2023-12-02 03:03:28.000000000 +0100
@@ -20,7 +20,7 @@
github.com/minio/colorjson v1.0.6
github.com/minio/filepath v1.0.0
github.com/minio/md5-simd v1.1.2 // indirect
- github.com/minio/minio-go/v7 v7.0.63
+ github.com/minio/minio-go/v7 v7.0.65-0.20231130060928-54e115c40e66
github.com/minio/selfupdate v0.6.0
github.com/minio/sha256-simd v1.0.1
github.com/mitchellh/go-homedir v1.1.0
@@ -46,8 +46,8 @@
github.com/gdamore/tcell/v2 v2.6.0
github.com/golang-jwt/jwt/v4 v4.5.0
github.com/juju/ratelimit v1.0.2
- github.com/minio/madmin-go/v3 v3.0.29
- github.com/minio/pkg/v2 v2.0.2
+ github.com/minio/madmin-go/v3 v3.0.34
+ github.com/minio/pkg/v2 v2.0.4
github.com/muesli/reflow v0.3.0
github.com/navidys/tvxwidgets v0.3.0
github.com/olekukonko/tablewriter v0.0.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231120T163059Z/go.sum new/mc-20231202T020328Z/go.sum
--- old/mc-20231120T163059Z/go.sum 2023-11-20 17:30:59.000000000 +0100
+++ new/mc-20231202T020328Z/go.sum 2023-12-02 03:03:28.000000000 +0100
@@ -140,16 +140,18 @@
github.com/minio/colorjson v1.0.6/go.mod h1:LUXwS5ZGNb6Eh9f+t+3uJiowD3XsIWtsvTriUBeqgYs=
github.com/minio/filepath v1.0.0 h1:fvkJu1+6X+ECRA6G3+JJETj4QeAYO9sV43I79H8ubDY=
github.com/minio/filepath v1.0.0/go.mod h1:/nRZA2ldl5z6jT9/KQuvZcQlxZIMQoFFQPvEXx9T/Bw=
-github.com/minio/madmin-go/v3 v3.0.29 h1:3bNLArtxIFud5wyb5/DnF5DGLBvcSJyzCA44EclX1Ow=
-github.com/minio/madmin-go/v3 v3.0.29/go.mod h1:4QN2NftLSV7MdlT50dkrenOMmNVHluxTvlqJou3hte8=
+github.com/minio/madmin-go/v3 v3.0.34 h1:MGPQYIWm52liSubofK24FhrznPYnRpQrDNddZJEyBPA=
+github.com/minio/madmin-go/v3 v3.0.34/go.mod h1:4QN2NftLSV7MdlT50dkrenOMmNVHluxTvlqJou3hte8=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
-github.com/minio/minio-go/v7 v7.0.63 h1:GbZ2oCvaUdgT5640WJOpyDhhDxvknAJU2/T3yurwcbQ=
-github.com/minio/minio-go/v7 v7.0.63/go.mod h1:Q6X7Qjb7WMhvG65qKf4gUgA5XaiSox74kR1uAEjxRS4=
+github.com/minio/minio-go/v7 v7.0.65-0.20231122233251-1f7dd6b7e3e1 h1:oGua0HckYk7JuIW/c1IuInHe9MCef1U6Q2Qf9ea/V5U=
+github.com/minio/minio-go/v7 v7.0.65-0.20231122233251-1f7dd6b7e3e1/go.mod h1:R4WVUR6ZTedlCcGwZRauLMIKjgyaWxhs4Mqi/OMPmEc=
+github.com/minio/minio-go/v7 v7.0.65-0.20231130060928-54e115c40e66 h1:9pgbcTmr0yvwlQJHsS72QDyNkZajKXCxnszpJtM5B4I=
+github.com/minio/minio-go/v7 v7.0.65-0.20231130060928-54e115c40e66/go.mod h1:R4WVUR6ZTedlCcGwZRauLMIKjgyaWxhs4Mqi/OMPmEc=
github.com/minio/mux v1.9.0 h1:dWafQFyEfGhJvK6AwLOt83bIG5bxKxKJnKMCi0XAaoA=
github.com/minio/mux v1.9.0/go.mod h1:1pAare17ZRL5GpmNL+9YmqHoWnLmMZF9C/ioUCfy0BQ=
-github.com/minio/pkg/v2 v2.0.2 h1:cytXmC21fBNS+0NVKEE5FuYmQfY+HFTqis6Kkj3U9ac=
-github.com/minio/pkg/v2 v2.0.2/go.mod h1:6xTAr5M9yobpUroXAAaTrGJ9fhOZIqKYOT0I87u2yZ4=
+github.com/minio/pkg/v2 v2.0.4 h1:vHQOqxD7AdsJq3X9GylO0PO6WCpcK7aePsVfk0oRYh0=
+github.com/minio/pkg/v2 v2.0.4/go.mod h1:ya1jPY/rtVp3HarxwDQJkclR8Rd2QxwxA9kwS436ovs=
github.com/minio/selfupdate v0.6.0 h1:i76PgT0K5xO9+hjzKcacQtO7+MjJ4JKA8Ak8XQ9DDwU=
github.com/minio/selfupdate v0.6.0/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM=
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
++++++ mc.obsinfo ++++++
--- /var/tmp/diff_new_pack.UbA33u/_old 2023-12-04 23:01:14.995044846 +0100
+++ /var/tmp/diff_new_pack.UbA33u/_new 2023-12-04 23:01:14.999044993 +0100
@@ -1,5 +1,5 @@
name: mc
-version: 20231120T163059Z
-mtime: 1700497859
-commit: 937b34616f012ad30e1cd6fd61e1da25ff931648
+version: 20231202T020328Z
+mtime: 1701482608
+commit: f5f7147b9ec4cf78eb67f1cdc91b63d191852e6a
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/minio-client/vendor.tar.gz /work/SRC/openSUSE:Factory/.minio-client.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rke for openSUSE:Factory checked in at 2023-12-04 23:00:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rke (Old)
and /work/SRC/openSUSE:Factory/.rke.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rke"
Mon Dec 4 23:00:47 2023 rev:27 rq:1130616 version:1.4.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/rke/rke.changes 2023-11-16 20:30:24.460453258 +0100
+++ /work/SRC/openSUSE:Factory/.rke.new.25432/rke.changes 2023-12-04 23:01:09.834854842 +0100
@@ -1,0 +2,38 @@
+Sun Dec 3 18:55:23 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- Update to version 1.5.0:
+ * Enhancements
+ - Added support for v1.27.6-rancher1-1.
+ - Introduced support for external-aws.
+ - In Kubernetes 1.27 and later, you must use an out-of-tree
+ AWS cloud provider. See documentation on how to set up
+ external-aws.
+ - All existing clusters must migrate prior to upgrading to
+ v1.27 in order to stay functional. See documentation on how
+ to migrate to external-aws on Kubernetes 1.26 and earlier.
+ - Note that there is a known issue with external-aws where
+ RKE fails to find the node if both hostname-override and
+ internal-address are empty. For more information, see #3445
+ * Other changes
+ - [release/v1.5] Add env var to enable dual-stack in
+ cri-dockerd by @superseb in #3370
+ - [release/v1.5] Security bumps by @macedogm in #3339
+ - Add warning log about weave deprecation by @manuelbuil in
+ #3337
+ - Fix "unknown revision v0.0.0" error caused by the
+ k8s.io/kubernetes module by @jiaqiluo in #3387
+ - changed etcd restore image to rke-tools for etcd >=3.5.7 by
+ @vardhaman22 in #3390
+ * Kubernetes Versions
+ Each version of RKE has a specific list of supported Kubernetes
+ versions. If you want to use a different version than listed
+ below, you will need to update Kubernetes using the system
+ images option in your cluster.yml.
+ - Kubernetes version
+ - v1.27.6-rancher1-1 (Default)
+ - v1.26.9-rancher1-1
+ - v1.25.14-rancher1-1
+ - Experimental Kubernetes version
+ - N/A
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/rke/vendor.tar.gz /work/SRC/openSUSE:Factory/.rke.new.25432/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-websockets for openSUSE:Factory checked in at 2023-12-04 23:00:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-websockets (Old)
and /work/SRC/openSUSE:Factory/.qt6-websockets.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-websockets"
Mon Dec 4 23:00:43 2023 rev:18 rq:1130438 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-websockets/qt6-websockets.changes 2023-10-13 23:15:49.761535999 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-websockets.new.25432/qt6-websockets.changes 2023-12-04 23:01:04.746670653 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:23 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtwebsockets-everywhere-src-6.6.0.tar.xz
New:
----
qtwebsockets-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-websockets.spec ++++++
--- /var/tmp/diff_new_pack.ZsSHjs/_old 2023-12-04 23:01:05.682703734 +0100
+++ /var/tmp/diff_new_pack.ZsSHjs/_new 2023-12-04 23:01:05.686703875 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtwebsockets-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-websockets%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 WebSockets library
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qtwebsockets-everywhere-src-6.6.0.tar.xz -> qtwebsockets-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.6.0/.cmake.conf new/qtwebsockets-everywhere-src-6.6.1/.cmake.conf
--- old/qtwebsockets-everywhere-src-6.6.0/.cmake.conf 2023-10-03 20:26:29.000000000 +0200
+++ new/qtwebsockets-everywhere-src-6.6.1/.cmake.conf 2023-11-20 12:56:37.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.6.0/.tag new/qtwebsockets-everywhere-src-6.6.1/.tag
--- old/qtwebsockets-everywhere-src-6.6.0/.tag 2023-10-03 20:26:29.000000000 +0200
+++ new/qtwebsockets-everywhere-src-6.6.1/.tag 2023-11-20 12:56:37.000000000 +0100
@@ -1 +1 @@
-090fb14fa3011d2590ac28dfc37f2c6e2afe09b1
+dc1b819cbcfc46522d12be88253f89b29d0364a7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.6.0/README.md new/qtwebsockets-everywhere-src-6.6.1/README.md
--- old/qtwebsockets-everywhere-src-6.6.0/README.md 2023-10-03 20:26:29.000000000 +0200
+++ new/qtwebsockets-everywhere-src-6.6.1/README.md 2023-11-20 12:56:37.000000000 +0100
@@ -1,34 +1,60 @@
-### Introduction
+## Qt WebSockets
+
+### Package Brief
+
`QtWebSockets` is a pure Qt implementation of WebSockets - both client and server.
-It is implemented as a Qt add-on module, that can easily be embedded into existing Qt projects. It has no other dependencies than Qt.
+It is implemented as a Qt add-on module that can easily be embedded into existing Qt projects.
+Its only dependency is Qt.
+
+### Documentation
+
+The documentation can be found in the following places:
+* The online Qt documentation:
+ * [Qt WebSockets documentation](https://doc.qt.io/qt-6/qtwebsockets-index.html)
+* Build from source:
+ * [Building Qt Documentation](https://wiki.qt.io/Building_Qt_Documentation)
+
+*Note that the documentation links in this document will always be for the
+latest Qt 6 version. If you need to browse the documentation for a specific
+version, you can [browse the archives](https://doc.qt.io/archives/).*
### Features
+
* Client and server capable
* Text and binary sockets
* Frame-based and message-based signals
* Strict Unicode checking
* WSS and proxy support
-### Requirements
-Qt 5.x
+### Compliance
-### Build And Usage
-Checkout the source code from code.qt.io
-Go into the source directory and execute:
+`QtWebSockets` is compliant with [RFC6455](http://datatracker.ietf.org/doc/rfc6455/?include_text=1) and has been tested with the [Autobahn Testsuite](http://autobahn.ws/testsuite).
- qmake
- make
- make install
+### Missing Features
+* Extensions
-The last command will install `QtWebSockets` as a Qt module.
+### Build Process
-To use, add `websockets` to the QT variable.
+Building the package/repository does depend on the Qt packages listed in dependencies.yaml.
+Further dependencies to system packages are listed in the configure output.
-`QT += websockets`
+See the [documentation](https://doc.qt.io/qt-6/build-sources.html) for general
+advice on building the Qt framework and its modules from sources. Further
+information on how to build from source is also available in the
+[wiki](https://wiki.qt.io/Building_Qt_6_from_Git).
-### Compliance
-`QtWebSockets` is compliant with [RFC6455](http://datatracker.ietf.org/doc/rfc6455/?include_text=1) and has been tested with the [Autobahn Testsuite](http://autobahn.ws/testsuite).
+### Report an Issue
-### Missing Features
-* Extensions
+If you spot a bug, follow [these](https://doc.qt.io/qt-6/bughowto.html)
+steps to report it.
+
+### Contribute to Qt
+
+We welcome contributions to Qt! If you'd like to contribute, read the
+[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines).
+
+### Licensing
+
+Qt is available under various licenses. For details, check out the
+[license documentation](https://doc.qt.io/qt-6/licensing.html).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.6.0/dependencies.yaml new/qtwebsockets-everywhere-src-6.6.1/dependencies.yaml
--- old/qtwebsockets-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 20:26:29.000000000 +0200
+++ new/qtwebsockets-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 12:56:37.000000000 +0100
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.6.0/examples/websockets/doc/examples.qdoc new/qtwebsockets-everywhere-src-6.6.1/examples/websockets/doc/examples.qdoc
--- old/qtwebsockets-everywhere-src-6.6.0/examples/websockets/doc/examples.qdoc 2023-10-03 20:26:29.000000000 +0200
+++ new/qtwebsockets-everywhere-src-6.6.1/examples/websockets/doc/examples.qdoc 2023-11-20 12:56:37.000000000 +0100
@@ -5,7 +5,6 @@
/*!
\group qtwebsockets-examples
\title Qt WebSockets Examples
- \examplecategory {Networking}
\brief List of Qt WebSocket examples
The examples below can be used as a guide to using the \l{Qt WebSockets} API.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.6.0/src/websockets/doc/qtwebsockets.qdocconf new/qtwebsockets-everywhere-src-6.6.1/src/websockets/doc/qtwebsockets.qdocconf
--- old/qtwebsockets-everywhere-src-6.6.0/src/websockets/doc/qtwebsockets.qdocconf 2023-10-03 20:26:29.000000000 +0200
+++ new/qtwebsockets-everywhere-src-6.6.1/src/websockets/doc/qtwebsockets.qdocconf 2023-11-20 12:56:37.000000000 +0100
@@ -59,6 +59,8 @@
"QtWebSockets/SSL*" \
"QtWebSockets/Simple*"
+manifestmeta.highlighted.names = "QtWebSockets/Simple WebSocket Chat"
+
navigation.landingpage = "Qt WebSockets"
navigation.cppclassespage = "Qt WebSockets C++ Classes"
navigation.qmltypespage = "Qt WebSockets QML Types"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-virtualkeyboard for openSUSE:Factory checked in at 2023-12-04 23:00:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-virtualkeyboard (Old)
and /work/SRC/openSUSE:Factory/.qt6-virtualkeyboard.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-virtualkeyboard"
Mon Dec 4 23:00:26 2023 rev:23 rq:1130434 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-virtualkeyboard/qt6-virtualkeyboard.changes 2023-10-13 23:15:26.556694344 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-virtualkeyboard.new.25432/qt6-virtualkeyboard.changes 2023-12-04 23:00:42.541885887 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:21 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtvirtualkeyboard-everywhere-src-6.6.0.tar.xz
New:
----
qtvirtualkeyboard-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-virtualkeyboard.spec ++++++
--- /var/tmp/diff_new_pack.rgMmKG/_old 2023-12-04 23:00:43.221909921 +0100
+++ /var/tmp/diff_new_pack.rgMmKG/_new 2023-12-04 23:00:43.221909921 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtvirtualkeyboard-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-virtualkeyboard%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Framework for writing or integrating input methods and engines for Qt 6
License: GPL-3.0-only
++++++ qtvirtualkeyboard-everywhere-src-6.6.0.tar.xz -> qtvirtualkeyboard-everywhere-src-6.6.1.tar.xz ++++++
++++ 1619 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-translations for openSUSE:Factory checked in at 2023-12-04 23:00:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-translations (Old)
and /work/SRC/openSUSE:Factory/.qt6-translations.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-translations"
Mon Dec 4 23:00:25 2023 rev:25 rq:1130433 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-translations/qt6-translations.changes 2023-10-13 23:15:25.376651544 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-translations.new.25432/qt6-translations.changes 2023-12-04 23:00:40.989831035 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:20 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qttranslations-everywhere-src-6.6.0.tar.xz
New:
----
qttranslations-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-translations.spec ++++++
--- /var/tmp/diff_new_pack.Mh75XN/_old 2023-12-04 23:00:41.797859593 +0100
+++ /var/tmp/diff_new_pack.Mh75XN/_new 2023-12-04 23:00:41.797859593 +0100
@@ -16,13 +16,13 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qttranslations-everywhere-src
%define tar_suffix %{nil}
#
Name: qt6-translations
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Translations
License: GPL-3.0-only WITH Qt-GPL-exception-1.0
++++++ qttranslations-everywhere-src-6.6.0.tar.xz -> qttranslations-everywhere-src-6.6.1.tar.xz ++++++
++++ 10397 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-tools for openSUSE:Factory checked in at 2023-12-04 23:00:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-tools (Old)
and /work/SRC/openSUSE:Factory/.qt6-tools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-tools"
Mon Dec 4 23:00:23 2023 rev:32 rq:1130432 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-tools/qt6-tools.changes 2023-10-13 23:15:23.348577984 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-tools.new.25432/qt6-tools.changes 2023-12-04 23:00:39.633783109 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:20 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qttools-everywhere-src-6.6.0.tar.xz
New:
----
qttools-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-tools.spec ++++++
--- /var/tmp/diff_new_pack.pL3LU8/_old 2023-12-04 23:00:40.529814777 +0100
+++ /var/tmp/diff_new_pack.pL3LU8/_new 2023-12-04 23:00:40.533814918 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qttools-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-tools%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Tools libraries and tools
# TODO Check if it's still valid
++++++ qttools-everywhere-src-6.6.0.tar.xz -> qttools-everywhere-src-6.6.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt6-tools/qttools-everywhere-src-6.6.0.tar.xz /work/SRC/openSUSE:Factory/.qt6-tools.new.25432/qttools-everywhere-src-6.6.1.tar.xz differ: char 27, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-svg for openSUSE:Factory checked in at 2023-12-04 23:00:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-svg (Old)
and /work/SRC/openSUSE:Factory/.qt6-svg.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-svg"
Mon Dec 4 23:00:21 2023 rev:28 rq:1130431 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-svg/qt6-svg.changes 2023-10-17 20:24:36.762472020 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-svg.new.25432/qt6-svg.changes 2023-12-04 23:00:38.305736173 +0100
@@ -1,0 +2,9 @@
+Mon Nov 27 14:00:19 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+- Drop patches, merged upstream:
+ * 0001-fix-nullptr-derefence-with-invalid-SVG.patch
+ * 0002-make-sure-we-do-not-load-invalid-SVGs-twice.patch
+
+-------------------------------------------------------------------
Old:
----
0001-fix-nullptr-derefence-with-invalid-SVG.patch
0002-make-sure-we-do-not-load-invalid-SVGs-twice.patch
qtsvg-everywhere-src-6.6.0.tar.xz
New:
----
qtsvg-everywhere-src-6.6.1.tar.xz
BETA DEBUG BEGIN:
Old:- Drop patches, merged upstream:
* 0001-fix-nullptr-derefence-with-invalid-SVG.patch
* 0002-make-sure-we-do-not-load-invalid-SVGs-twice.patch
Old: * 0001-fix-nullptr-derefence-with-invalid-SVG.patch
* 0002-make-sure-we-do-not-load-invalid-SVGs-twice.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-svg.spec ++++++
--- /var/tmp/diff_new_pack.vWbDUr/_old 2023-12-04 23:00:38.909757521 +0100
+++ /var/tmp/diff_new_pack.vWbDUr/_new 2023-12-04 23:00:38.913757662 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtsvg-everywhere-src
%define tar_suffix %{nil}
@@ -27,16 +27,12 @@
%endif
#
Name: qt6-svg%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Classes for rendering and displaying SVG drawings
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
URL: https://www.qt.io
Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version…
-# PATCH-FIX-UPSTREAM 0001-fix-nullptr-derefence-with-invalid-SVG.patch QTBUG-117944 boo#1216269
-Patch01: 0001-fix-nullptr-derefence-with-invalid-SVG.patch
-# PATCH-FIX-UPSTREAM 0002-make-sure-we-do-not-load-invalid-SVGs-twice.patch boo#1216269
-Patch02: 0002-make-sure-we-do-not-load-invalid-SVGs-twice.patch
Source99: qt6-svg-rpmlintrc
BuildRequires: pkgconfig
BuildRequires: qt6-core-private-devel
++++++ qtsvg-everywhere-src-6.6.0.tar.xz -> qtsvg-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/.cmake.conf new/qtsvg-everywhere-src-6.6.1/.cmake.conf
--- old/qtsvg-everywhere-src-6.6.0/.cmake.conf 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/.cmake.conf 2023-11-20 06:28:45.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/.tag new/qtsvg-everywhere-src-6.6.1/.tag
--- old/qtsvg-everywhere-src-6.6.0/.tag 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/.tag 2023-11-20 06:28:45.000000000 +0100
@@ -1 +1 @@
-da7e04eaa56c54d5486e39d2e0bd0ddb2a62b74b
+18801e1b024dad9401fc655549a6bb123439cfa3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/dependencies.yaml new/qtsvg-everywhere-src-6.6.1/dependencies.yaml
--- old/qtsvg-everywhere-src-6.6.0/dependencies.yaml 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 06:28:45.000000000 +0100
@@ -1,4 +1,4 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/src/plugins/imageformats/svg/qsvgiohandler.cpp new/qtsvg-everywhere-src-6.6.1/src/plugins/imageformats/svg/qsvgiohandler.cpp
--- old/qtsvg-everywhere-src-6.6.0/src/plugins/imageformats/svg/qsvgiohandler.cpp 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/src/plugins/imageformats/svg/qsvgiohandler.cpp 2023-11-20 06:28:45.000000000 +0100
@@ -19,7 +19,7 @@
{
public:
QSvgIOHandlerPrivate(QSvgIOHandler *qq)
- : q(qq), loaded(false), readDone(false), backColor(Qt::transparent)
+ : q(qq), loadAttempted(false), loadStatus(false), readDone(false), backColor(Qt::transparent)
{}
bool load(QIODevice *device);
@@ -31,7 +31,8 @@
QRect clipRect;
QSize scaledSize;
QRect scaledClipRect;
- bool loaded;
+ bool loadAttempted;
+ bool loadStatus;
bool readDone;
QColor backColor;
};
@@ -39,8 +40,9 @@
bool QSvgIOHandlerPrivate::load(QIODevice *device)
{
- if (loaded)
- return true;
+ if (loadAttempted)
+ return loadStatus;
+ loadAttempted = true;
if (q->format().isEmpty())
q->canRead();
@@ -63,10 +65,10 @@
if (res) {
defaultSize = r.defaultSize();
- loaded = true;
+ loadStatus = true;
}
- return loaded;
+ return loadStatus;
}
@@ -105,7 +107,7 @@
{
if (!device())
return false;
- if (d->loaded && !d->readDone)
+ if (d->loadStatus && !d->readDone)
return true; // Will happen if we have been asked for the size
bool isCompressed = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/src/svg/qsvggraphics.cpp new/qtsvg-everywhere-src-6.6.1/src/svg/qsvggraphics.cpp
--- old/qtsvg-everywhere-src-6.6.0/src/svg/qsvggraphics.cpp 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/src/svg/qsvggraphics.cpp 2023-11-20 06:28:45.000000000 +0100
@@ -319,8 +319,10 @@
QFontMetricsF fm(font);
int charCount = 0;
- for (int i = 0; i < m_tspans.size(); ++i)
- charCount += m_tspans.at(i)->text().size();
+ for (int i = 0; i < m_tspans.size(); ++i) {
+ if (m_tspans.at(i) != LINEBREAK)
+ charCount += m_tspans.at(i)->text().size();
+ }
QRectF approxMaximumBrect(m_coord.x(),
m_coord.y(),
@@ -343,6 +345,9 @@
qreal originalFontSize = p->font().pointSizeF();
qreal maxFontSize = originalFontSize;
for (const QSvgTspan *span : std::as_const(m_tspans)) {
+ if (span == LINEBREAK)
+ continue;
+
numChars += span->text().size();
QSvgFontStyle *style = static_cast<QSvgFontStyle *>(span->styleProperty(QSvgStyleProperty::FONT));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/src/svg/qsvghandler.cpp new/qtsvg-everywhere-src-6.6.1/src/svg/qsvghandler.cpp
--- old/qtsvg-everywhere-src-6.6.0/src/svg/qsvghandler.cpp 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/src/svg/qsvghandler.cpp 2023-11-20 06:28:45.000000000 +0100
@@ -3606,6 +3606,8 @@
static bool detectCycles(const QSvgNode *node, QList<const QSvgUse *> active = {})
{
+ if (Q_UNLIKELY(!node))
+ return false;
switch (node->type()) {
case QSvgNode::DOC:
case QSvgNode::G:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/CMakeLists.txt new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/CMakeLists.txt
--- old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/CMakeLists.txt 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/CMakeLists.txt 2023-11-20 06:28:45.000000000 +0100
@@ -37,6 +37,9 @@
"simple_Utf16BE.svg"
"simple_Utf32LE.svg"
"simple_Utf32BE.svg"
+ "invalid_xml.svg"
+ "xml_not_svg.svg"
+ "invalid_then_valid.svg"
)
qt_internal_add_resource(tst_qsvgplugin "resources"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/invalid_then_valid.svg new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/invalid_then_valid.svg
--- old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/invalid_then_valid.svg 1970-01-01 01:00:00.000000000 +0100
+++ new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/invalid_then_valid.svg 2023-11-20 06:28:45.000000000 +0100
@@ -0,0 +1,18 @@
+<!-- html-header type=current begin -->
+
+ <!DOCTYPE html>
+
+ <html lang="en">
+ <head>
+ <!-- Render IE9 -->
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ </head>
+
+<body class="anon comments ">
+
+</body></html>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg">
+ <circle cx="50" cy="50" r="25" fill="#00ff00" />
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/invalid_xml.svg new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/invalid_xml.svg
--- old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/invalid_xml.svg 1970-01-01 01:00:00.000000000 +0100
+++ new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/invalid_xml.svg 2023-11-20 06:28:45.000000000 +0100
@@ -0,0 +1,2 @@
+<!--abcd
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/tst_qsvgplugin.cpp new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/tst_qsvgplugin.cpp
--- old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/tst_qsvgplugin.cpp 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/tst_qsvgplugin.cpp 2023-11-20 06:28:45.000000000 +0100
@@ -67,6 +67,9 @@
QTest::newRow("wide_size") << QFINDTESTDATA("wide_size.svg") << 100 << 200;
QTest::newRow("wide_size_viewbox") << QFINDTESTDATA("wide_size_viewbox.svg") << 100 << 200;
QTest::newRow("wide_viewbox") << QFINDTESTDATA("wide_viewbox.svg") << 50 << 100;
+ QTest::newRow("invalid_xml") << QFINDTESTDATA("invalid_xml.svg") << 0 << 0;
+ QTest::newRow("xml_not_svg") << QFINDTESTDATA("xml_not_svg.svg") << 0 << 0;
+ QTest::newRow("invalid_then_valid") << QFINDTESTDATA("invalid_then_valid.svg") << 0 << 0;
}
void tst_QSvgPlugin::checkSize()
@@ -84,10 +87,19 @@
QImage image;
plugin.read(&image);
+ // Check that plugin survives double load
+ QVariant sizeVariant = plugin.option(QImageIOHandler::Size);
+
file.close();
QCOMPARE(imageHeight, image.height());
QCOMPARE(imageWidth, image.width());
+
+ QSize size = qvariant_cast<QSize>(sizeVariant);
+ if (size.isEmpty())
+ size = QSize(0, 0); // don't distinguish between null and invalid QSize
+ QCOMPARE(size.width(), imageWidth);
+ QCOMPARE(size.height(), imageHeight);
}
void tst_QSvgPlugin::checkImageInclude()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/xml_not_svg.svg new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/xml_not_svg.svg
--- old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgplugin/xml_not_svg.svg 1970-01-01 01:00:00.000000000 +0100
+++ new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgplugin/xml_not_svg.svg 2023-11-20 06:28:45.000000000 +0100
@@ -0,0 +1,13 @@
+<!-- html-header type=current begin -->
+
+ <!DOCTYPE html>
+
+ <html lang="en">
+ <head>
+ <!-- Render IE9 -->
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ </head>
+
+<body class="anon comments ">
+
+</body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
--- old/qtsvg-everywhere-src-6.6.0/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp 2023-10-02 05:05:52.000000000 +0200
+++ new/qtsvg-everywhere-src-6.6.1/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp 2023-11-20 06:28:45.000000000 +0100
@@ -64,6 +64,7 @@
void imageRendering();
void illegalAnimateTransform_data();
void illegalAnimateTransform();
+ void tSpanLineBreak();
#ifndef QT_NO_COMPRESS
void testGzLoading();
@@ -1709,5 +1710,17 @@
QVERIFY(!renderer.load(svg)); // also shouldn't assert
}
+void tst_QSvgRenderer::tSpanLineBreak()
+{
+ QSvgRenderer renderer;
+ QVERIFY(renderer.load(QByteArray("<svg><textArea>Foo<tbreak/>Bar</textArea></svg>")));
+
+ QImage img(50, 50, QImage::Format_ARGB32);
+ {
+ QPainter p(&img);
+ renderer.render(&p); // Don't crash
+ }
+}
+
QTEST_MAIN(tst_QSvgRenderer)
#include "tst_qsvgrenderer.moc"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-speech for openSUSE:Factory checked in at 2023-12-04 23:00:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-speech (Old)
and /work/SRC/openSUSE:Factory/.qt6-speech.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-speech"
Mon Dec 4 23:00:20 2023 rev:11 rq:1130430 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-speech/qt6-speech.changes 2023-10-13 23:15:19.996456401 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-speech.new.25432/qt6-speech.changes 2023-12-04 23:00:37.201697154 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:19 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtspeech-everywhere-src-6.6.0.tar.xz
New:
----
qtspeech-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-speech.spec ++++++
--- /var/tmp/diff_new_pack.crz4RT/_old 2023-12-04 23:00:37.845719916 +0100
+++ /var/tmp/diff_new_pack.crz4RT/_new 2023-12-04 23:00:37.845719916 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtspeech-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-speech%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 TextToSpeech Library and Plugin
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qtspeech-everywhere-src-6.6.0.tar.xz -> qtspeech-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/.cmake.conf new/qtspeech-everywhere-src-6.6.1/.cmake.conf
--- old/qtspeech-everywhere-src-6.6.0/.cmake.conf 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/.cmake.conf 2023-11-20 22:06:39.000000000 +0100
@@ -1,2 +1,2 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/.tag new/qtspeech-everywhere-src-6.6.1/.tag
--- old/qtspeech-everywhere-src-6.6.0/.tag 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/.tag 2023-11-20 22:06:39.000000000 +0100
@@ -1 +1 @@
-f3916f5c43c8abab354b79317a5f3bfd100ceb23
+311ef13dd5c4fffbfd6ae6dd15e4b9601087da57
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/CMakeLists.txt new/qtspeech-everywhere-src-6.6.1/CMakeLists.txt
--- old/qtspeech-everywhere-src-6.6.0/CMakeLists.txt 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/CMakeLists.txt 2023-11-20 22:06:39.000000000 +0100
@@ -13,8 +13,14 @@
LANGUAGES CXX C
)
-find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core Multimedia)
-find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Widgets Test QuickTest Qml)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Multimedia Widgets Test QuickTest Qml)
+
+if(NOT TARGET Qt6::Multimedia)
+ message(NOTICE "Skipping the build as the condition \"TARGET Qt6::Multimedia\" is not met.")
+ return()
+endif()
+
qt_internal_project_setup()
qt_build_repo()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/dependencies.yaml new/qtspeech-everywhere-src-6.6.1/dependencies.yaml
--- old/qtspeech-everywhere-src-6.6.0/dependencies.yaml 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 22:06:39.000000000 +0100
@@ -1,10 +1,10 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: false
../qtmultimedia:
- ref: fcb9950381ab8a5647d121fd9b305e4d9d734402
+ ref: 5f78c51aea34666b0440533eddc7f2b5f0a350dc
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/examples/speech/hello_speak/mainwindow.cpp new/qtspeech-everywhere-src-6.6.1/examples/speech/hello_speak/mainwindow.cpp
--- old/qtspeech-everywhere-src-6.6.0/examples/speech/hello_speak/mainwindow.cpp 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/examples/speech/hello_speak/mainwindow.cpp 2023-11-20 22:06:39.000000000 +0100
@@ -70,12 +70,31 @@
void MainWindow::engineSelected(int index)
{
- QString engineName = ui.engine->itemData(index).toString();
+ ui.engine->setEnabled(false);
+
+ const QString engineName = ui.engine->itemData(index).toString();
delete m_speech;
m_speech = engineName == u"default"
? new QTextToSpeech(this)
: new QTextToSpeech(engineName, this);
+ // some engines initialize asynchronously
+ if (m_speech->state() == QTextToSpeech::Ready) {
+ onEngineReady();
+ } else {
+ connect(m_speech, &QTextToSpeech::stateChanged, this, &MainWindow::onEngineReady,
+ Qt::SingleShotConnection);
+ }
+}
+
+void MainWindow::onEngineReady()
+{
+ ui.engine->setEnabled(true);
+ if (m_speech->state() != QTextToSpeech::Ready) {
+ stateChanged(m_speech->state());
+ return;
+ }
+
const bool hasPauseResume = m_speech->engineCapabilities()
& QTextToSpeech::Capability::PauseResume;
ui.pauseButton->setVisible(hasPauseResume);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/examples/speech/hello_speak/mainwindow.h new/qtspeech-everywhere-src-6.6.1/examples/speech/hello_speak/mainwindow.h
--- old/qtspeech-everywhere-src-6.6.0/examples/speech/hello_speak/mainwindow.h 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/examples/speech/hello_speak/mainwindow.h 2023-11-20 22:06:39.000000000 +0100
@@ -28,6 +28,8 @@
void localeChanged(const QLocale &locale);
private:
+ void onEngineReady();
+
Ui::MainWindow ui;
QTextToSpeech *m_speech = nullptr;
QList<QVoice> m_voices;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/examples/speech/quickspeech/Main.qml new/qtspeech-everywhere-src-6.6.1/examples/speech/quickspeech/Main.qml
--- old/qtspeech-everywhere-src-6.6.0/examples/speech/quickspeech/Main.qml 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/examples/speech/quickspeech/Main.qml 2023-11-20 22:06:39.000000000 +0100
@@ -22,7 +22,10 @@
//! [initialize]
//! [stateChanged]
- onStateChanged: (state) => {
+ onStateChanged: updateStateLabel(state)
+
+ function updateStateLabel(state)
+ {
switch (state) {
case TextToSpeech.Ready:
statusLabel.text = qsTr("Ready")
@@ -173,10 +176,24 @@
Component.onCompleted: {
enginesComboBox.currentIndex = tts.availableEngines().indexOf(tts.engine)
+ // some engines initialize asynchronously
+ if (tts.state == TextToSpeech.Ready) {
+ engineReady()
+ } else {
+ tts.stateChanged.connect(root.engineReady)
+ }
+
+ tts.updateStateLabel(tts.state)
+ }
+
+ function engineReady() {
+ tts.stateChanged.disconnect(root.engineReady)
+ if (tts.state != TextToSpeech.Ready) {
+ tts.updateStateLabel(tts.state)
+ return;
+ }
updateLocales()
updateVoices()
-
- tts.onStateChanged(tts.state)
}
function updateLocales() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/examples/speech/quickspeech/doc/src/quickspeech.qdoc new/qtspeech-everywhere-src-6.6.1/examples/speech/quickspeech/doc/src/quickspeech.qdoc
--- old/qtspeech-everywhere-src-6.6.0/examples/speech/quickspeech/doc/src/quickspeech.qdoc 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/examples/speech/quickspeech/doc/src/quickspeech.qdoc 2023-11-20 22:06:39.000000000 +0100
@@ -31,7 +31,7 @@
Switch cases are used to update the Label \c statusLabel in the footer.
- \skipto onStateChanged: (state)
+ \skipto onStateChanged: updateStateLabel(state)
\printuntil }
\section1 Highlighting words as they are spoken
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/CMakeLists.txt new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/CMakeLists.txt
--- old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/CMakeLists.txt 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/CMakeLists.txt 2023-11-20 22:06:39.000000000 +0100
@@ -7,7 +7,7 @@
endif()
if(WIN32)
add_subdirectory(sapi)
- if(TARGET Qt::Multimedia AND NOT MINGW)
+ if(NOT MINGW)
add_subdirectory(winrt)
endif()
endif()
@@ -20,6 +20,6 @@
if(ANDROID)
add_subdirectory(android)
endif()
-if(QT_FEATURE_flite AND TARGET Qt::Multimedia)
+if(QT_FEATURE_flite)
add_subdirectory(flite)
endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/sapi/qtexttospeech_sapi.cpp new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/sapi/qtexttospeech_sapi.cpp
--- old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/sapi/qtexttospeech_sapi.cpp 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/sapi/qtexttospeech_sapi.cpp 2023-11-20 22:06:39.000000000 +0100
@@ -563,7 +563,7 @@
m_state = QTextToSpeech::Ready;
break;
case SPEI_WORD_BOUNDARY:
- emit sayingWord(currentText.sliced(event.lParam - textOffset, event.wParam),
+ emit sayingWord(currentText.sliced(event.lParam, event.wParam),
event.lParam - textOffset, event.wParam);
break;
// these are the other TTS events which might be interesting for us at some point
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/winrt/qtexttospeech_winrt.cpp new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/winrt/qtexttospeech_winrt.cpp
--- old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/winrt/qtexttospeech_winrt.cpp 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/winrt/qtexttospeech_winrt.cpp 2023-11-20 22:06:39.000000000 +0100
@@ -423,7 +423,8 @@
elapsedTimer.invalidate();
} else {
boundaryTimer.stop();
- playedTime += elapsedTimer.nsecsElapsed() / 1000;
+ if (elapsedTimer.isValid())
+ playedTime += elapsedTimer.nsecsElapsed() / 1000;
elapsedTimer.invalidate();
audioSink->suspend();
}
@@ -442,7 +443,8 @@
state = QTextToSpeech::Speaking;
break;
case QAudio::SuspendedState:
- state = QTextToSpeech::Paused;
+ if (audioSource->m_pause != AudioSource::NoPause)
+ state = QTextToSpeech::Paused;
break;
}
if (state != oldState)
@@ -546,11 +548,41 @@
void QTextToSpeechEngineWinRT::pause(QTextToSpeech::BoundaryHint boundaryHint)
{
- Q_UNUSED(boundaryHint);
Q_D(QTextToSpeechEngineWinRT);
- if (d->audioSource)
- d->audioSource->pause();
+ if (!d->audioSource)
+ return;
+
+ auto pauseBoundaryType = AudioSource::Boundary::Unknown;
+ switch (boundaryHint) {
+ case QTextToSpeech::BoundaryHint::Default:
+ d->audioSource->pause(0);
+ return;
+ case QTextToSpeech::BoundaryHint::Immediate:
+ d->audioSource->pause(0);
+ if (d->audioSink)
+ d->audioSink->suspend();
+ return;
+ case QTextToSpeech::BoundaryHint::Word:
+ pauseBoundaryType = AudioSource::Boundary::Word;
+ break;
+ case QTextToSpeech::BoundaryHint::Sentence:
+ pauseBoundaryType = AudioSource::Boundary::Sentence;
+ break;
+ case QTextToSpeech::BoundaryHint::Utterance:
+ // taken care off by engine-independent implementation
+ return;
+ }
+
+ // find the next boundary of the matching type
+ const auto nextBoundary = std::find_if(d->currentBoundary + 1, d->boundaries.constEnd(),
+ [pauseBoundaryType](auto &&it){
+ return it.type == pauseBoundaryType;
+ });
+ if (nextBoundary != d->boundaries.constEnd()) {
+ d->audioSource->pause(d->audioSource->format()
+ .bytesForDuration(nextBoundary->startTime));
+ }
}
void QTextToSpeechEngineWinRT::resume()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.cpp new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.cpp
--- old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.cpp 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.cpp 2023-11-20 22:06:39.000000000 +0100
@@ -107,7 +107,7 @@
Q_ASSERT(bufferByteAccess);
- const qint64 available = bytesInBuffer();
+ qint64 available = bytesInBuffer();
maxlen = qMin(available, maxlen);
if (!maxlen && atEnd())
@@ -127,6 +127,7 @@
pbyte += WaveHeaderLength;
m_bufferOffset += WaveHeaderLength;
maxlen -= WaveHeaderLength;
+ available -= WaveHeaderLength;
}
}
@@ -135,15 +136,34 @@
break;
case PauseRequested: {
Q_ASSERT(audioFormat.sampleFormat() == QAudioFormat::Int16);
- // we are dealing with artificially created sound, so we don't have
+
+ if (m_pauseRequestedAt) {
+ if (m_pauseRequestedAt <= m_bytesRead) {
+ // we missed the window, pause immediately
+ maxlen = 0;
+ } else if (m_pauseRequestedAt <= m_bytesRead + maxlen) {
+ maxlen = qMax(quint64(0), m_pauseRequestedAt - m_bytesRead) + 44;
+ } else {
+ // wait for the next chunk
+ break;
+ }
+ m_pause = Paused;
+ m_pauseRequestedAt = 0;
+ break;
+ }
+ // If no byte to pause at is specified, look for silence in the current
+ // chunk. We are dealing with artificially created sound, so we don't have
// to find a large enough window with overall low energy; we can just
- // look for a series (e.g. 1/20th of a second) of samples with value 0.
- const int silenceDuration = audioFormat.sampleRate() / 20;
+ // look for a series (e.g. 1/50th of a second) of samples with low
+ // absolute values.
+ const int silenceDuration = audioFormat.sampleRate() / 50;
const short *sample = reinterpret_cast<short*>(pbyte);
const qsizetype sampleCount = maxlen / sizeof(short);
+ if (sampleCount < silenceDuration)
+ break;
qint64 silenceCount = 0;
for (qint64 index = 0; index < sampleCount; ++index) {
- if (!sample[index]) {
+ if (qAbs(sample[index]) < 10) {
++silenceCount;
} else if (silenceCount > silenceDuration) {
// long enough silence found, only provide the data until we are in the
@@ -161,6 +181,9 @@
silenceCount = 0;
}
}
+ // no silence found - stop after this chunk
+ if (m_pause != Paused)
+ m_pause = Paused;
break;
}
case Paused:
@@ -180,6 +203,7 @@
else
m_bufferOffset += maxlen;
+ m_bytesRead += maxlen;
return maxlen;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.h new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.h
--- old/qtspeech-everywhere-src-6.6.0/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.h 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/plugins/tts/winrt/qtexttospeech_winrt_audiosource.h 2023-11-20 22:06:39.000000000 +0100
@@ -51,14 +51,16 @@
Paused
} m_pause = NoPause;
- void pause()
+ void pause(quint64 atByte)
{
m_pause = PauseRequested;
+ m_pauseRequestedAt = atByte;
}
void resume()
{
m_pause = NoPause;
+ m_pauseRequestedAt = 0;
if (bytesAvailable())
emit readyRead();
}
@@ -126,6 +128,8 @@
UINT32 m_bufferOffset = 0;
// RIFF header has been checked at the beginning of the stream
bool m_riffHeaderChecked = false;
+ quint64 m_bytesRead = 0;
+ quint64 m_pauseRequestedAt = 0;
void populateBoundaries();
QList<Boundary> boundaries;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/tts/configure.cmake new/qtspeech-everywhere-src-6.6.1/src/tts/configure.cmake
--- old/qtspeech-everywhere-src-6.6.0/src/tts/configure.cmake 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/tts/configure.cmake 2023-11-20 22:06:39.000000000 +0100
@@ -20,19 +20,13 @@
#### Features
-if (Flite_FOUND AND NOT TARGET Qt::Multimedia)
- message(WARNING
- "Flite was found, but Qt::Multimedia is not configured.\n"
- "The Flite engine will be disabled.")
-endif()
-
qt_feature("flite" PRIVATE
LABEL "Flite"
- CONDITION Flite_FOUND AND TARGET Qt::Multimedia
+ CONDITION Flite_FOUND
)
qt_feature("flite_alsa" PRIVATE
LABEL "Flite with ALSA"
- CONDITION Flite_FOUND AND ALSA_FOUND AND TARGET Qt::Multimedia
+ CONDITION Flite_FOUND AND ALSA_FOUND
)
qt_feature("speechd" PUBLIC
LABEL "Speech Dispatcher"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/src/tts/doc/qttexttospeech.qdocconf new/qtspeech-everywhere-src-6.6.1/src/tts/doc/qttexttospeech.qdocconf
--- old/qtspeech-everywhere-src-6.6.0/src/tts/doc/qttexttospeech.qdocconf 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/src/tts/doc/qttexttospeech.qdocconf 2023-11-20 22:06:39.000000000 +0100
@@ -56,3 +56,6 @@
navigation.landingpage = "Qt TextToSpeech"
navigation.cppclassespage = "Qt TextToSpeech C++ Classes"
navigation.qmltypespage = "Qt TextToSpeech QML Types"
+
+# Highlighted examples in Data Processing & IO category
+manifestmeta.highlighted.names = "QtTextToSpeech/Quick Speech"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/tests/auto/qtexttospeech/CMakeLists.txt new/qtspeech-everywhere-src-6.6.1/tests/auto/qtexttospeech/CMakeLists.txt
--- old/qtspeech-everywhere-src-6.6.0/tests/auto/qtexttospeech/CMakeLists.txt 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/tests/auto/qtexttospeech/CMakeLists.txt 2023-11-20 22:06:39.000000000 +0100
@@ -1,11 +1,6 @@
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
-if(NOT TARGET Qt::Multimedia)
- message(WARNING "The test case requires Qt::Multimedia to verify the presence of audio devices")
- return()
-endif()
-
qt_internal_add_test(tst_qtexttospeech
SOURCES
tst_qtexttospeech.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtspeech-everywhere-src-6.6.0/tests/auto/qtexttospeech/tst_qtexttospeech.cpp new/qtspeech-everywhere-src-6.6.1/tests/auto/qtexttospeech/tst_qtexttospeech.cpp
--- old/qtspeech-everywhere-src-6.6.0/tests/auto/qtexttospeech/tst_qtexttospeech.cpp 2023-10-04 00:00:46.000000000 +0200
+++ new/qtspeech-everywhere-src-6.6.1/tests/auto/qtexttospeech/tst_qtexttospeech.cpp 2023-11-20 22:06:39.000000000 +0100
@@ -901,11 +901,10 @@
void tst_QTextToSpeech::synthesize()
{
QFETCH_GLOBAL(QString, engine);
- if (engine != "mock" && !hasDefaultAudioOutput())
- QSKIP("No audio device present");
-
QFETCH(QString, text);
+ const bool canCheckDuration = engine == "mock" || hasDefaultAudioOutput();
+
QTextToSpeech tts(engine);
if (!(tts.engineCapabilities() & QTextToSpeech::Capability::Synthesize))
QSKIP("This engine doesn't support synthesize()");
@@ -934,13 +933,15 @@
}
});
- // first, measure how long it takes to speak the text
- tts.say(text);
- QTRY_VERIFY(running);
- QTRY_VERIFY(finished);
+ // first, measure how long it takes to speak the text. We can't do that if we
+ // can't play audio.
+ if (canCheckDuration) {
+ tts.say(text);
+ QTRY_VERIFY(running);
+ QTRY_VERIFY(finished);
+ }
running = false;
-
QAudioFormat pcmFormat;
QByteArray pcmData;
@@ -955,16 +956,20 @@
QTRY_VERIFY(finished);
QVERIFY(pcmFormat.isValid());
- // bytesForDuration takes micro seconds, we measured in milliseconds.
- const qint32 bytesExpected = pcmFormat.bytesForDuration(speechTime * 1000);
+ QVERIFY(!pcmData.isEmpty());
- // We should have as much data as the format requires for the time it took
- // to play the speech, +/- 10% as we can't measure the exact audio duration.
- QCOMPARE_GE(pcmData.size(), double(bytesExpected) * 0.9);
- if (engine == "flite") // flite is very unreliable
- QCOMPARE_LT(pcmData.size(), double(bytesExpected) * 1.5);
- else
- QCOMPARE_LT(pcmData.size(), double(bytesExpected) * 1.1);
+ if (canCheckDuration) {
+ // bytesForDuration takes micro seconds, we measured in milliseconds.
+ const qint32 bytesExpected = pcmFormat.bytesForDuration(speechTime * 1000);
+
+ // We should have as much data as the format requires for the time it took
+ // to play the speech, +/- 10% as we can't measure the exact audio duration.
+ QCOMPARE_GE(pcmData.size(), double(bytesExpected) * 0.9);
+ if (engine == "flite") // flite is very unreliable
+ QCOMPARE_LT(pcmData.size(), double(bytesExpected) * 1.5);
+ else
+ QCOMPARE_LT(pcmData.size(), double(bytesExpected) * 1.1);
+ }
}
/*!
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-shadertools for openSUSE:Factory checked in at 2023-12-04 23:00:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-shadertools (Old)
and /work/SRC/openSUSE:Factory/.qt6-shadertools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-shadertools"
Mon Dec 4 23:00:18 2023 rev:27 rq:1130429 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-shadertools/qt6-shadertools.changes 2023-10-13 23:15:18.540403589 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-shadertools.new.25432/qt6-shadertools.changes 2023-12-04 23:00:35.893650926 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:18 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtshadertools-everywhere-src-6.6.0.tar.xz
New:
----
qtshadertools-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-shadertools.spec ++++++
--- /var/tmp/diff_new_pack.wnmA2z/_old 2023-12-04 23:00:36.445670434 +0100
+++ /var/tmp/diff_new_pack.wnmA2z/_new 2023-12-04 23:00:36.445670434 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtshadertools-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-shadertools%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 ShaderTools library
License: GPL-3.0-or-later
++++++ qtshadertools-everywhere-src-6.6.0.tar.xz -> qtshadertools-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtshadertools-everywhere-src-6.6.0/.cmake.conf new/qtshadertools-everywhere-src-6.6.1/.cmake.conf
--- old/qtshadertools-everywhere-src-6.6.0/.cmake.conf 2023-10-02 05:05:36.000000000 +0200
+++ new/qtshadertools-everywhere-src-6.6.1/.cmake.conf 2023-11-20 06:28:59.000000000 +0100
@@ -1,4 +1,4 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_LEAN_HEADERS=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtshadertools-everywhere-src-6.6.0/.tag new/qtshadertools-everywhere-src-6.6.1/.tag
--- old/qtshadertools-everywhere-src-6.6.0/.tag 2023-10-02 05:05:36.000000000 +0200
+++ new/qtshadertools-everywhere-src-6.6.1/.tag 2023-11-20 06:28:59.000000000 +0100
@@ -1 +1 @@
-ded671b8c17f2a6b2f03cde3b9dad4910adda3cc
+aa5c5eeabd09e6af1aeeb11450fa54f2eeabd987
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtshadertools-everywhere-src-6.6.0/dependencies.yaml new/qtshadertools-everywhere-src-6.6.1/dependencies.yaml
--- old/qtshadertools-everywhere-src-6.6.0/dependencies.yaml 2023-10-02 05:05:36.000000000 +0200
+++ new/qtshadertools-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 06:28:59.000000000 +0100
@@ -1,4 +1,4 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtshadertools-everywhere-src-6.6.0/src/shadertools/doc/src/qtshadertools-build.qdoc new/qtshadertools-everywhere-src-6.6.1/src/shadertools/doc/src/qtshadertools-build.qdoc
--- old/qtshadertools-everywhere-src-6.6.0/src/shadertools/doc/src/qtshadertools-build.qdoc 2023-10-02 05:05:36.000000000 +0200
+++ new/qtshadertools-everywhere-src-6.6.1/src/shadertools/doc/src/qtshadertools-build.qdoc 2023-11-20 06:28:59.000000000 +0100
@@ -68,6 +68,9 @@
\c find_package for \c ShaderTools, otherwise \c qt6_add_shaders will not be
available.
+ \note The target that is passed as the first argument of the
+ \c qt6_add_shaders function must exist before the function is called.
+
\note Multiple \c qt6_add_shaders calls are supported. In complex
applications it is not unlikely that different sets of shaders need
different settings. The name after the project (\c{"exampleapp_shaders"} in
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-serialport for openSUSE:Factory checked in at 2023-12-04 23:00:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-serialport (Old)
and /work/SRC/openSUSE:Factory/.qt6-serialport.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-serialport"
Mon Dec 4 23:00:16 2023 rev:18 rq:1130428 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-serialport/qt6-serialport.changes 2023-10-13 23:15:17.588369059 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-serialport.new.25432/qt6-serialport.changes 2023-12-04 23:00:34.769611199 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:18 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtserialport-everywhere-src-6.6.0.tar.xz
New:
----
qtserialport-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-serialport.spec ++++++
--- /var/tmp/diff_new_pack.lJvFZG/_old 2023-12-04 23:00:35.425634384 +0100
+++ /var/tmp/diff_new_pack.lJvFZG/_new 2023-12-04 23:00:35.429634526 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtserialport-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-serialport%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 SerialPort library
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qtserialport-everywhere-src-6.6.0.tar.xz -> qtserialport-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/.cmake.conf new/qtserialport-everywhere-src-6.6.1/.cmake.conf
--- old/qtserialport-everywhere-src-6.6.0/.cmake.conf 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/.cmake.conf 2023-11-20 06:29:01.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/.tag new/qtserialport-everywhere-src-6.6.1/.tag
--- old/qtserialport-everywhere-src-6.6.0/.tag 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/.tag 2023-11-20 06:29:01.000000000 +0100
@@ -1 +1 @@
-5c352984a491f7d1316d45d079ddf9ee1755746d
+be2bad10749bfc31b29d711f59e020c7e86fdc94
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/dependencies.yaml new/qtserialport-everywhere-src-6.6.1/dependencies.yaml
--- old/qtserialport-everywhere-src-6.6.0/dependencies.yaml 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 06:29:01.000000000 +0100
@@ -1,4 +1,4 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport.cpp new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport.cpp
--- old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport.cpp 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport.cpp 2023-11-20 06:29:01.000000000 +0100
@@ -572,7 +572,7 @@
{
Q_D(QSerialPort);
d->dataBits.removeBindingUnlessInWrapper();
- const auto currentDataBits = d->dataBits.value();
+ const auto currentDataBits = d->dataBits.valueBypassingBindings();
if (!isOpen() || d->setDataBits(dataBits)) {
d->dataBits.setValueBypassingBindings(dataBits);
if (currentDataBits != dataBits) {
@@ -623,7 +623,7 @@
{
Q_D(QSerialPort);
d->parity.removeBindingUnlessInWrapper();
- const auto currentParity = d->parity.value();
+ const auto currentParity = d->parity.valueBypassingBindings();
if (!isOpen() || d->setParity(parity)) {
d->parity.setValueBypassingBindings(parity);
if (currentParity != parity) {
@@ -673,7 +673,7 @@
{
Q_D(QSerialPort);
d->stopBits.removeBindingUnlessInWrapper();
- const auto currentStopBits = d->stopBits.value();
+ const auto currentStopBits = d->stopBits.valueBypassingBindings();
if (!isOpen() || d->setStopBits(stopBits)) {
d->stopBits.setValueBypassingBindings(stopBits);
if (currentStopBits != stopBits) {
@@ -723,7 +723,7 @@
{
Q_D(QSerialPort);
d->flowControl.removeBindingUnlessInWrapper();
- const auto currentFlowControl = d->flowControl.value();
+ const auto currentFlowControl = d->flowControl.valueBypassingBindings();
if (!isOpen() || d->setFlowControl(flowControl)) {
d->flowControl.setValueBypassingBindings(flowControl);
if (currentFlowControl != flowControl) {
@@ -1143,7 +1143,7 @@
{
Q_D(QSerialPort);
d->isBreakEnabled.removeBindingUnlessInWrapper();
- const auto currentSet = d->isBreakEnabled.value();
+ const auto currentSet = d->isBreakEnabled.valueBypassingBindings();
if (isOpen()) {
if (d->setBreakEnabled(set)) {
d->isBreakEnabled.setValueBypassingBindings(set);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport_unix.cpp new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport_unix.cpp
--- old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport_unix.cpp 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport_unix.cpp 2023-11-20 06:29:01.000000000 +0100
@@ -849,6 +849,9 @@
if (mode & QIODevice::ReadOnly)
setReadNotificationEnabled(true);
+ // flush IO buffers
+ clear(QSerialPort::AllDirections);
+
return true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/CMakeLists.txt new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/CMakeLists.txt
--- old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/CMakeLists.txt 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/CMakeLists.txt 2023-11-20 06:29:01.000000000 +0100
@@ -11,4 +11,5 @@
LIBRARIES
Qt::SerialPort
Qt::Test
+ Qt::TestPrivate
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/tst_qserialport.cpp new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/tst_qserialport.cpp
--- old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/tst_qserialport.cpp 2023-10-02 05:05:41.000000000 +0200
+++ new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/tst_qserialport.cpp 2023-11-20 06:29:01.000000000 +0100
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include <QtTest/QtTest>
+#include <QtTest/private/qpropertytesthelper_p.h>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
@@ -1267,149 +1268,81 @@
// -- data bits
- QProperty<QSerialPort::DataBits> dbProp(QSerialPort::DataBits::Data6);
- QCOMPARE(dbProp.value(), QSerialPort::DataBits::Data6);
-
- sp.bindableDataBits().setBinding(Qt::makePropertyBinding(dbProp));
- QCOMPARE(sp.dataBits(), QSerialPort::DataBits::Data6);
-
- const QSignalSpy dataBitsChangedSpy(&sp, &QSerialPort::dataBitsChanged);
-
- dbProp = QSerialPort::DataBits::Data5;
- QCOMPARE(sp.dataBits(), QSerialPort::DataBits::Data5);
- QCOMPARE(dataBitsChangedSpy.size(), 1);
- QCOMPARE(dataBitsChangedSpy.at(0).value(0).toInt(), QSerialPort::DataBits::Data5);
-
- dbProp.setBinding(sp.bindableDataBits().makeBinding());
- sp.setDataBits(QSerialPort::DataBits::Data8);
- QCOMPARE(dbProp.value(), QSerialPort::DataBits::Data8);
-
- dbProp.setBinding([&] { return sp.dataBits(); });
- sp.setDataBits(QSerialPort::DataBits::Data7);
- QCOMPARE(dbProp.value(), QSerialPort::DataBits::Data7);
+ QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::DataBits::Data6,
+ QSerialPort::DataBits::Data5, "dataBits");
+ if (QTest::currentTestFailed()) {
+ qDebug("Failed property test for QSetialPort::dataBits");
+ return;
+ }
// -- parity
- QProperty<QSerialPort::Parity> parityProp(QSerialPort::Parity::SpaceParity);
- QCOMPARE(parityProp.value(), QSerialPort::Parity::SpaceParity);
-
- sp.bindableParity().setBinding(Qt::makePropertyBinding(parityProp));
- QCOMPARE(sp.parity(), QSerialPort::Parity::SpaceParity);
-
- const QSignalSpy parityChangedSpy(&sp, &QSerialPort::parityChanged);
-
- parityProp = QSerialPort::Parity::EvenParity;
- QCOMPARE(sp.parity(), QSerialPort::Parity::EvenParity);
- QCOMPARE(parityChangedSpy.size(), 1);
- QCOMPARE(parityChangedSpy.at(0).value(0).toInt(), QSerialPort::Parity::EvenParity);
-
- parityProp.setBinding(sp.bindableParity().makeBinding());
- sp.setParity(QSerialPort::Parity::NoParity);
- QCOMPARE(parityProp.value(), QSerialPort::Parity::NoParity);
-
- parityProp.setBinding([&] { return sp.parity(); });
- sp.setParity(QSerialPort::Parity::OddParity);
- QCOMPARE(parityProp.value(), QSerialPort::Parity::OddParity);
+ QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::Parity::SpaceParity,
+ QSerialPort::Parity::EvenParity, "parity");
+ if (QTest::currentTestFailed()) {
+ qDebug("Failed property test for QSetialPort::parity");
+ return;
+ }
// -- stop bits
- QProperty<QSerialPort::StopBits> sbProp(QSerialPort::StopBits::OneAndHalfStop);
- QCOMPARE(sbProp.value(), QSerialPort::StopBits::OneAndHalfStop);
-
- sp.bindableStopBits().setBinding(Qt::makePropertyBinding(sbProp));
- QCOMPARE(sp.stopBits(), QSerialPort::StopBits::OneAndHalfStop);
-
- const QSignalSpy stopBitsChangedSpy(&sp, &QSerialPort::stopBitsChanged);
-
- sbProp = QSerialPort::StopBits::OneStop;
- QCOMPARE(sp.stopBits(), QSerialPort::StopBits::OneStop);
- QCOMPARE(stopBitsChangedSpy.size(), 1);
- QCOMPARE(stopBitsChangedSpy.at(0).value(0).toInt(), QSerialPort::StopBits::OneStop);
-
- sbProp.setBinding(sp.bindableStopBits().makeBinding());
- sp.setStopBits(QSerialPort::StopBits::TwoStop);
- QCOMPARE(sbProp.value(), QSerialPort::StopBits::TwoStop);
-
- sbProp.setBinding([&] { return sp.stopBits(); });
- sp.setStopBits(QSerialPort::StopBits::OneAndHalfStop);
- QCOMPARE(sbProp.value(), QSerialPort::StopBits::OneAndHalfStop);
+ QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::StopBits::OneAndHalfStop,
+ QSerialPort::StopBits::TwoStop, "stopBits");
+ if (QTest::currentTestFailed()) {
+ qDebug("Failed property test for QSetialPort::stopBits");
+ return;
+ }
// -- flow control
- QProperty<QSerialPort::FlowControl> fcProp(QSerialPort::FlowControl::HardwareControl);
- QCOMPARE(fcProp.value(), QSerialPort::FlowControl::HardwareControl);
-
- sp.bindableFlowControl().setBinding(Qt::makePropertyBinding(fcProp));
- QCOMPARE(sp.flowControl(), QSerialPort::FlowControl::HardwareControl);
-
- const QSignalSpy flowControlChangedSpy(&sp, &QSerialPort::flowControlChanged);
-
- fcProp = QSerialPort::FlowControl::NoFlowControl;
- QCOMPARE(sp.flowControl(), QSerialPort::FlowControl::NoFlowControl);
- QCOMPARE(flowControlChangedSpy.size(), 1);
- QCOMPARE(flowControlChangedSpy.at(0).value(0).toInt(), QSerialPort::FlowControl::NoFlowControl);
-
- fcProp.setBinding(sp.bindableFlowControl().makeBinding());
- sp.setFlowControl(QSerialPort::FlowControl::SoftwareControl);
- QCOMPARE(fcProp.value(), QSerialPort::FlowControl::SoftwareControl);
-
- fcProp.setBinding([&] { return sp.flowControl(); });
- sp.setFlowControl(QSerialPort::FlowControl::NoFlowControl);
- QCOMPARE(fcProp.value(), QSerialPort::FlowControl::NoFlowControl);
+ QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::FlowControl::HardwareControl,
+ QSerialPort::FlowControl::SoftwareControl,
+ "flowControl");
+ if (QTest::currentTestFailed()) {
+ qDebug("Failed property test for QSetialPort::flowControl");
+ return;
+ }
// -- error
- QProperty<QSerialPort::SerialPortError> errorProp(QSerialPort::SerialPortError::PermissionError);
- QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::PermissionError);
-
- sp.bindableError().setBinding(Qt::makePropertyBinding(errorProp));
- QCOMPARE(sp.error(), QSerialPort::SerialPortError::NoError);
-
- const QSignalSpy errorChangedSpy(&sp, &QSerialPort::errorOccurred);
+ QTestPrivate::testReadOnlyPropertyBasics(
+ sp, QSerialPort::SerialPortError::NoError,
+ QSerialPort::SerialPortError::UnsupportedOperationError, "error",
+ [&sp]() { sp.open(QIODevice::Truncate); });
+ if (QTest::currentTestFailed()) {
+ qDebug("Failed property test for QSetialPort::error");
+ return;
+ }
- // this shall not change the error, we do not have a public setter
- errorProp = QSerialPort::SerialPortError::DeviceNotFoundError;
- QCOMPARE(sp.error(), QSerialPort::SerialPortError::NoError);
- QCOMPARE(errorChangedSpy.size(), 0);
-
- errorProp.setBinding(sp.bindableError().makeBinding());
- sp.clearError();
- QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::NoError);
- QCOMPARE(errorChangedSpy.size(), 1);
- QCOMPARE(errorChangedSpy.at(0).value(0).toInt(), QSerialPort::SerialPortError::NoError);
+ // -- break enabled
sp.setPortName(m_receiverPortName);
const bool portOpened = sp.open(QIODevice::ReadOnly);
- // -- break enabled
-
if (portOpened) {
- QProperty<bool> beProp(false);
- QCOMPARE(beProp.value(), false);
-
- sp.bindableIsBreakEnabled().setBinding(Qt::makePropertyBinding(beProp));
- QCOMPARE(sp.isBreakEnabled(), false);
-
- const QSignalSpy breakEnabledChangedSpy(&sp, &QSerialPort::breakEnabledChanged);
-
- beProp = true;
- QCOMPARE(sp.isBreakEnabled(), true);
- QCOMPARE(breakEnabledChangedSpy.size(), 1);
- QCOMPARE(breakEnabledChangedSpy.at(0).value(0).toBool(), true);
-
- beProp.setBinding(sp.bindableIsBreakEnabled().makeBinding());
- sp.setBreakEnabled(false);
- QCOMPARE(beProp.value(), false);
-
- beProp.setBinding([&] { return sp.isBreakEnabled(); });
- sp.setBreakEnabled(true);
- QCOMPARE(beProp.value(), true);
+ // To test the binding loop we need to create another instance of
+ // QSerialPort, open it, and set breakEnabled == true as a default
+ // value, so use a custom lambda for that.
+ QTestPrivate::testReadWritePropertyBasics<QSerialPort, bool>(
+ sp, true, false, "breakEnabled",
+ [name = this->m_senderPortName]() {
+ auto ptr = std::make_unique<QSerialPort>();
+ ptr->setPortName(name);
+ if (ptr->open(QIODevice::ReadOnly)) {
+ ptr->setBreakEnabled(true);
+ return ptr;
+ }
+ // skip binding loop test if we failed to open the port
+ return std::unique_ptr<QSerialPort>{};
+ });
+ if (QTest::currentTestFailed()) {
+ qDebug("Failed property test for QSetialPort::breakEnabled");
+ return;
+ }
} else {
// setting isBreakEnabled() will return false and raise an error
- const auto currErrorCount = errorChangedSpy.size();
sp.setBreakEnabled(true);
- QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::NotOpenError);
- QCOMPARE(errorChangedSpy.size(), currErrorCount + 1);
+ QCOMPARE(sp.error(), QSerialPort::SerialPortError::NotOpenError);
}
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-sensors for openSUSE:Factory checked in at 2023-12-04 23:00:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-sensors (Old)
and /work/SRC/openSUSE:Factory/.qt6-sensors.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-sensors"
Mon Dec 4 23:00:14 2023 rev:19 rq:1130426 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-sensors/qt6-sensors.changes 2023-10-13 23:15:14.252248055 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-sensors.new.25432/qt6-sensors.changes 2023-12-04 23:00:30.549462050 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:17 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtsensors-everywhere-src-6.6.0.tar.xz
New:
----
qtsensors-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-sensors.spec ++++++
--- /var/tmp/diff_new_pack.R6Vhlw/_old 2023-12-04 23:00:31.525496546 +0100
+++ /var/tmp/diff_new_pack.R6Vhlw/_new 2023-12-04 23:00:31.529496686 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtsensors
%define tar_name qtsensors-everywhere-src
@@ -28,7 +28,7 @@
%endif
#
Name: qt6-sensors%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt Sensors API to access sensor hardware
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qtsensors-everywhere-src-6.6.0.tar.xz -> qtsensors-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/.cmake.conf new/qtsensors-everywhere-src-6.6.1/.cmake.conf
--- old/qtsensors-everywhere-src-6.6.0/.cmake.conf 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/.cmake.conf 2023-11-20 12:56:28.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/.tag new/qtsensors-everywhere-src-6.6.1/.tag
--- old/qtsensors-everywhere-src-6.6.0/.tag 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/.tag 2023-11-20 12:56:28.000000000 +0100
@@ -1 +1 @@
-9e54af12a4764ac2b72e9842974811f4772d26a7
+f12330c66be0de91e77fedd6de77d512c9884fca
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/dependencies.yaml new/qtsensors-everywhere-src-6.6.1/dependencies.yaml
--- old/qtsensors-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 12:56:28.000000000 +0100
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Accelerometer.qml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Accelerometer.qml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Accelerometer.qml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Accelerometer.qml 2023-11-20 12:56:28.000000000 +0100
@@ -2,15 +2,12 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
pragma ComponentBehavior: Bound
import QtQuick
-import QtQuick.Controls
import QtQuick.Layouts
import QtSensors
Item {
id: root
- property alias headingFontSize: heading.font.pixelSize
- required property StackView parentStack
required property int fontSize
required property int imageSize
@@ -40,15 +37,6 @@
anchors.fill: parent
spacing: 10
- Text {
- id: heading
-
- Layout.fillWidth: true
- horizontalAlignment: Text.AlignHCenter
- text: "Accelerometer"
- wrapMode: Text.Wrap
- }
-
Image {
id: image
@@ -78,11 +66,5 @@
zText: "Z: " + accelerometer.z.toFixed(2)
zValue: 0.5 + (accelerometer.z / 100)
}
-
- Button {
- Layout.fillWidth: true
- onClicked: root.parentStack.pop()
- text: "Back"
- }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/CMakeLists.txt new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/CMakeLists.txt
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/CMakeLists.txt 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/CMakeLists.txt 2023-11-20 12:56:28.000000000 +0100
@@ -25,17 +25,16 @@
set_property(TARGET sensorsshowcase PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/android)
endif()
-if(APPLE)
- if(IOS)
- set_property(TARGET sensorsshowcase PROPERTY
- MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist"
- )
- endif()
-endif()
-# default search path for the config file is "qrc:/"
-qt_add_resources(sensorsshowcase "resources"
+if(APPLE AND IOS)
+ set_property(TARGET sensorsshowcase PROPERTY
+ MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist"
+ )
+else()
+ # default search path for the config file is "qrc:/"
+ qt_add_resources(sensorsshowcase "resources"
FILES qtquickcontrols2.conf)
+endif()
qt_add_qml_module(sensorsshowcase
URI SensorShowcaseModule
@@ -52,6 +51,8 @@
"images/compass.svg"
"images/magnet.svg"
"images/qt_logo.png"
+ SOURCES
+ sensorsupport.h
)
target_link_libraries(sensorsshowcase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Compass.qml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Compass.qml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Compass.qml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Compass.qml 2023-11-20 12:56:28.000000000 +0100
@@ -2,17 +2,15 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
pragma ComponentBehavior: Bound
import QtQuick
-import QtQuick.Controls
import QtQuick.Layouts
import QtSensors
Item {
id: root
- property alias headingFontSize: heading.font.pixelSize
- required property StackView parentStack
required property int fontSize
required property int imageSize
+ property alias isActive: compass.active
property real azimuth: 30
@@ -29,14 +27,6 @@
anchors.fill: parent
spacing: 10
- Text {
- id: heading
- Layout.preferredWidth: parent.width
- horizontalAlignment: Text.AlignHCenter
- wrapMode: Text.Wrap
- text: "Compass"
- }
-
Image {
id: arrow
@@ -67,11 +57,5 @@
text: "Azimuth: " + root.azimuth.toFixed(2) + "°"
font.pixelSize: root.fontSize
}
-
- Button {
- Layout.fillWidth: true
- onClicked: root.parentStack.pop()
- text: "Back"
- }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Gyroscope.qml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Gyroscope.qml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Gyroscope.qml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Gyroscope.qml 2023-11-20 12:56:28.000000000 +0100
@@ -9,8 +9,6 @@
Item {
id: root
- property alias headingFontSize: heading.font.pixelSize
- required property StackView parentStack
required property int fontSize
required property int imageSize
@@ -62,15 +60,6 @@
anchors.fill: parent
spacing: 10
- Text {
- id: heading
-
- Layout.fillWidth: true
- horizontalAlignment: Text.AlignHCenter
- text: "Gyroscope"
- wrapMode: Text.Wrap
- }
-
Image {
id: image
@@ -128,16 +117,12 @@
Button {
Layout.alignment: Qt.AlignHCenter
+ Layout.topMargin: 20
Layout.bottomMargin: 10
- Layout.topMargin: 10
+ Layout.preferredWidth: parent.width / 2
+ Layout.preferredHeight: 60
onClicked: root.resetRotations()
text: "Reset rotation"
}
-
- Button {
- Layout.fillWidth: true
- onClicked: root.parentStack.pop()
- text: "Back"
- }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Magnetometer.qml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Magnetometer.qml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Magnetometer.qml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Magnetometer.qml 2023-11-20 12:56:28.000000000 +0100
@@ -2,15 +2,12 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
pragma ComponentBehavior: Bound
import QtQuick
-import QtQuick.Controls
import QtQuick.Layouts
import QtSensors
Item {
id: root
- property alias headingFontSize: heading.font.pixelSize
- required property StackView parentStack
required property int fontSize
required property int imageSize
@@ -41,15 +38,6 @@
anchors.fill: parent
spacing: 10
- Text {
- id: heading
- Layout.fillWidth: true
- horizontalAlignment: Text.AlignHCenter
- wrapMode: Text.Wrap
- text: "Magnetometer"
- Layout.bottomMargin: 20
- }
-
Image {
id: image
@@ -76,11 +64,5 @@
zText: "Z: " + root.magnetometerZ.toFixed(9)
zValue: 0.5 + (root.magnetometerZ * root.barScaleFactor)
}
-
- Button {
- Layout.fillWidth: true
- onClicked: root.parentStack.pop()
- text: "Back"
- }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Main.qml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Main.qml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Main.qml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Main.qml 2023-11-20 12:56:28.000000000 +0100
@@ -1,6 +1,7 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
pragma ComponentBehavior: Bound
+
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -8,9 +9,7 @@
ApplicationWindow {
id: root
- readonly property int dynamicMargin: width / 12
- readonly property int defaultFontSize: 20
- readonly property int headingFontSize: 35
+ readonly property int defaultFontSize: 22
readonly property int imageSize: width / 2
width: 420
@@ -18,68 +17,97 @@
visible: true
title: "Sensors Showcase"
+ header : ToolBar {
+ RowLayout {
+ anchors.fill: parent
+ anchors.leftMargin: 10
+ anchors.rightMargin: 10
+ ToolButton {
+ id: back
+ text: qsTr("Back")
+ font.pixelSize: root.defaultFontSize - 4
+ visible: stack.depth > 1
+ onClicked: {
+ stack.pop();
+ heading.text = root.title;
+ }
+ Layout.alignment: Qt.AlignLeft
+ }
+ Label {
+ id: heading
+ text: root.title
+ font.pixelSize: root.defaultFontSize
+ font.weight: Font.Medium
+ verticalAlignment: Qt.AlignVCenter
+ Layout.alignment: Qt.AlignCenter
+ Layout.preferredHeight: 55
+ }
+ Item {
+ visible: back.visible
+ Layout.preferredWidth: back.width
+ }
+ }
+ }
+
StackView {
id: stack
// Pushes the object and forwards the properties
- function pusher(object : string) : void
- {
- stack.push(object, {
- parentStack: stack,
- fontSize: root.defaultFontSize,
- headingFontSize: root.headingFontSize,
- imageSize: root.imageSize
- })
+ function pusher(object : string) : void {
+ // Trim the suffix and set it as new heading
+ heading.text = object.split(".")[0]
+ return stack.push(object, {
+ fontSize: root.defaultFontSize,
+ imageSize: root.imageSize
+ })
}
anchors.fill: parent
- anchors.margins: root.dynamicMargin
+ anchors.margins: width / 12
initialItem: Item {
ColumnLayout {
id: initialItem
- anchors.bottomMargin: (root.width < root.height) ? 2 * root.dynamicMargin : 0
anchors.fill: parent
+ anchors.topMargin: 20
+ anchors.bottomMargin: 20
spacing: 5
- Text {
- Layout.bottomMargin: root.dynamicMargin
- Layout.preferredWidth: parent.width
- horizontalAlignment: Text.AlignHCenter
- font.bold: true
- font.pixelSize: root.headingFontSize
- text: "Sensors Showcase"
- wrapMode: Text.WordWrap
- }
-
component CustomButton: Button {
+ highlighted: true
+ font.pixelSize: root.defaultFontSize
+ font.letterSpacing: 1.5
+
Layout.alignment: Qt.AlignCenter
Layout.fillHeight: true
Layout.fillWidth: true
- font.pixelSize: root.defaultFontSize
- highlighted: true
}
CustomButton {
text: "Accelerometer"
onClicked: stack.pusher("Accelerometer.qml")
+ enabled: SensorSupport.hasAccelerometer()
}
CustomButton {
text: "Proximity"
onClicked: stack.pusher("Proximity.qml")
+ enabled: SensorSupport.hasProximity()
}
CustomButton {
text: "Compass"
onClicked: stack.pusher("Compass.qml")
+ enabled: SensorSupport.hasCompass()
}
CustomButton {
text: "Magnetometer"
onClicked: stack.pusher("Magnetometer.qml")
+ enabled: SensorSupport.hasMagnetometer()
}
CustomButton {
text: "Gyroscope"
onClicked: stack.pusher("Gyroscope.qml")
+ enabled: SensorSupport.hasGyroscope()
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Proximity.qml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Proximity.qml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/Proximity.qml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/Proximity.qml 2023-11-20 12:56:28.000000000 +0100
@@ -2,15 +2,12 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
pragma ComponentBehavior: Bound
import QtQuick
-import QtQuick.Controls
import QtQuick.Layouts
import QtSensors
Item {
id: root
- property alias headingFontSize: heading.font.pixelSize
- required property StackView parentStack
required property int imageSize
required property int fontSize
@@ -19,6 +16,7 @@
ProximitySensor {
id: proximity
onReadingChanged: root.near = (reading as ProximityReading).near
+ active: true
}
ColumnLayout {
@@ -27,14 +25,6 @@
anchors.fill: parent
spacing: 10
- Text {
- id: heading
- Layout.preferredWidth: parent.width
- horizontalAlignment: Text.AlignHCenter
- wrapMode: Text.Wrap
- text: "Proximity"
- }
-
Image {
id: image
@@ -57,28 +47,9 @@
}
Text {
- id: error
- visible: !proximity.active
- Layout.preferredWidth: parent.width
- horizontalAlignment: Text.AlignHCenter
- text: "The proximity sensor is not available on this device!"
- font.pixelSize: root.fontSize
- font.bold: true
- wrapMode: Text.Wrap
- color: "red"
- }
-
- Text {
- visible: proximity.active
Layout.fillHeight: true
font.pixelSize: root.fontSize
text: "Near: " + root.near
}
-
- Button {
- Layout.fillWidth: true
- onClicked: root.parentStack.pop()
- text: "Back"
- }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/AndroidManifest.xml new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/AndroidManifest.xml
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/AndroidManifest.xml 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/AndroidManifest.xml 2023-11-20 12:56:28.000000000 +0100
@@ -24,7 +24,8 @@
android:requestLegacyExternalStorage="true"
android:allowNativeHeapPointerTagging="false"
android:allowBackup="true"
- android:fullBackupOnly="false">
+ android:fullBackupOnly="false"
+ android:icon="@drawable/icon">
<activity
android:name="org.qtproject.qt.android.bindings.QtActivity"
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/res/drawable-hdpi/icon.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/res/drawable-hdpi/icon.png differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/res/drawable-ldpi/icon.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/res/drawable-ldpi/icon.png differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/res/drawable-mdpi/icon.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/res/drawable-mdpi/icon.png differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/res/drawable-xhdpi/icon.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/res/drawable-xhdpi/icon.png differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/res/drawable-xxhdpi/icon.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/res/drawable-xxhdpi/icon.png differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/android/res/drawable-xxxhdpi/icon.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/android/res/drawable-xxxhdpi/icon.png differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-gyroscope.webp and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-gyroscope.webp differ
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-mainview.webp and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-mainview.webp differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc 2023-11-20 12:56:28.000000000 +0100
@@ -7,6 +7,7 @@
\brief The Sensors Showcase example demonstrates sensor usage with visual examples.
\meta tag {sensors,quick,mobile}
\ingroup qtsensors-examples
+ \examplecategory {Mobile}
\image sensorsshowcase-mainview.webp
@@ -18,9 +19,14 @@
\section1 Main Menu
- The main view shows the title with the name of the application and a button for each
- subview laid out evenly by a \c ColumnLayout. The navigation between the subviews
- and the main menu is managed by a \c StackView.
+ The main view shows the title with the name of the application and a button
+ for each subview laid out evenly by a \c ColumnLayout. A \c StackView
+ manages the navigation between the subviews and the main menu. The
+ application checks the availability of the sensors during startup and
+ disables the buttons for the sensors that are not available.
+
+ \note To simplify the example, the sensor availability is checked only once
+ during the startup.
\section1 Accelerometer View
Binary files old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/images/qt_logo.png and new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/images/qt_logo.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/main.cpp new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/main.cpp
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/main.cpp 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/main.cpp 2023-11-20 12:56:28.000000000 +0100
@@ -1,8 +1,7 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include <QtGui/qguiapplication.h>
-#include <QtQml/qqmlapplicationengine.h>
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/qtquickcontrols2.conf new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/qtquickcontrols2.conf
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/qtquickcontrols2.conf 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/qtquickcontrols2.conf 2023-11-20 12:56:28.000000000 +0100
@@ -1,10 +1,6 @@
[Controls]
Style=Material
-[Universal]
-Background=Amber
-Accent=Orange
-
[Material]
-Background=Orange
-Accent=DeepOrange
+Background=#eafcf3
+Accent=#28c878
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/sensorsupport.h new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/sensorsupport.h
--- old/qtsensors-everywhere-src-6.6.0/examples/sensors/sensorsshowcase/sensorsupport.h 1970-01-01 01:00:00.000000000 +0100
+++ new/qtsensors-everywhere-src-6.6.1/examples/sensors/sensorsshowcase/sensorsupport.h 2023-11-20 12:56:28.000000000 +0100
@@ -0,0 +1,41 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+#ifndef SENSORSUPPORT_H
+#define SENSORSUPPORT_H
+
+#include <QObject>
+#include <QtQmlIntegration>
+#include <QtSensors/QtSensors>
+
+class SensorSupport : public QObject
+{
+ Q_OBJECT
+ QML_ELEMENT
+ QML_SINGLETON
+ QML_UNCREATABLE("SensorSupport is a utility class")
+public:
+ explicit SensorSupport(QObject *parent = nullptr) : QObject(parent) { }
+
+ Q_INVOKABLE static bool hasAccelerometer()
+ {
+ return !QSensor::sensorsForType(QAccelerometer::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasCompass()
+ {
+ return !QSensor::sensorsForType(QCompass::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasGyroscope()
+ {
+ return !QSensor::sensorsForType(QGyroscope::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasMagnetometer()
+ {
+ return !QSensor::sensorsForType(QMagnetometer::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasProximity()
+ {
+ return !QSensor::sensorsForType(QProximitySensor::sensorType).empty();
+ }
+};
+
+#endif // SENSORSUPPORT_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtsensors-everywhere-src-6.6.0/src/sensors/doc/qtsensors.qdocconf new/qtsensors-everywhere-src-6.6.1/src/sensors/doc/qtsensors.qdocconf
--- old/qtsensors-everywhere-src-6.6.0/src/sensors/doc/qtsensors.qdocconf 2023-10-03 20:26:46.000000000 +0200
+++ new/qtsensors-everywhere-src-6.6.1/src/sensors/doc/qtsensors.qdocconf 2023-11-20 12:56:28.000000000 +0100
@@ -45,6 +45,9 @@
depends += qtcore qtdoc qtgui qtquick qtcmake
+# Highlighted examples
+manifestmeta.highlighted.names = "QtSensors/Sensors Showcase"
+
navigation.landingpage = "Qt Sensors"
navigation.cppclassespage = "Qt Sensors C++ Classes"
navigation.qmltypespage = "Qt Sensors QML Types"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-quicktimeline for openSUSE:Factory checked in at 2023-12-04 23:00:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-quicktimeline (Old)
and /work/SRC/openSUSE:Factory/.qt6-quicktimeline.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-quicktimeline"
Mon Dec 4 23:00:11 2023 rev:25 rq:1130423 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-quicktimeline/qt6-quicktimeline.changes 2023-10-13 23:15:01.575788272 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-quicktimeline.new.25432/qt6-quicktimeline.changes 2023-12-04 23:00:23.677215591 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:16 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtquicktimeline-everywhere-src-6.6.0.tar.xz
New:
----
qtquicktimeline-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-quicktimeline.spec ++++++
--- /var/tmp/diff_new_pack.lhU0pN/_old 2023-12-04 23:00:24.337239879 +0100
+++ /var/tmp/diff_new_pack.lhU0pN/_new 2023-12-04 23:00:24.337239879 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtquicktimeline-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-quicktimeline%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 module for creating keyframe-based animations
License: GPL-3.0-or-later
++++++ qtquicktimeline-everywhere-src-6.6.0.tar.xz -> qtquicktimeline-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquicktimeline-everywhere-src-6.6.0/.cmake.conf new/qtquicktimeline-everywhere-src-6.6.1/.cmake.conf
--- old/qtquicktimeline-everywhere-src-6.6.0/.cmake.conf 2023-10-03 20:26:48.000000000 +0200
+++ new/qtquicktimeline-everywhere-src-6.6.1/.cmake.conf 2023-11-20 12:56:17.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquicktimeline-everywhere-src-6.6.0/.tag new/qtquicktimeline-everywhere-src-6.6.1/.tag
--- old/qtquicktimeline-everywhere-src-6.6.0/.tag 2023-10-03 20:26:48.000000000 +0200
+++ new/qtquicktimeline-everywhere-src-6.6.1/.tag 2023-11-20 12:56:17.000000000 +0100
@@ -1 +1 @@
-b2a8a25f7bb8953ee96b35734b265f7912466534
+dbd73f96d543948bac4bddd32d3da9394bcd9192
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquicktimeline-everywhere-src-6.6.0/dependencies.yaml new/qtquicktimeline-everywhere-src-6.6.1/dependencies.yaml
--- old/qtquicktimeline-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 20:26:48.000000000 +0200
+++ new/qtquicktimeline-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 12:56:17.000000000 +0100
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: true
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-quick3dphysics for openSUSE:Factory checked in at 2023-12-04 23:00:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-quick3dphysics (Old)
and /work/SRC/openSUSE:Factory/.qt6-quick3dphysics.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-quick3dphysics"
Mon Dec 4 23:00:09 2023 rev:11 rq:1130421 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-quick3dphysics/qt6-quick3dphysics.changes 2023-10-13 23:14:56.823615907 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-quick3dphysics.new.25432/qt6-quick3dphysics.changes 2023-12-04 23:00:18.605028940 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:14 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtquick3dphysics-everywhere-src-6.6.0.tar.xz
New:
----
qtquick3dphysics-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-quick3dphysics.spec ++++++
--- /var/tmp/diff_new_pack.qXkvt3/_old 2023-12-04 23:00:19.513062355 +0100
+++ /var/tmp/diff_new_pack.qXkvt3/_new 2023-12-04 23:00:19.517062502 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtquick3dphysics-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-quick3dphysics%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Quick3D Physics Extensions
License: GPL-3.0-only
++++++ qtquick3dphysics-everywhere-src-6.6.0.tar.xz -> qtquick3dphysics-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/.cmake.conf new/qtquick3dphysics-everywhere-src-6.6.1/.cmake.conf
--- old/qtquick3dphysics-everywhere-src-6.6.0/.cmake.conf 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/.cmake.conf 2023-11-20 17:37:17.000000000 +0100
@@ -1,2 +1,2 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/.tag new/qtquick3dphysics-everywhere-src-6.6.1/.tag
--- old/qtquick3dphysics-everywhere-src-6.6.0/.tag 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/.tag 2023-11-20 17:37:17.000000000 +0100
@@ -1 +1 @@
-26768a556754d5b7f6eab2a447ffb33508d830c4
+355c401dd2a3663395d879213722aeb95bf802ac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/dependencies.yaml new/qtquick3dphysics-everywhere-src-6.6.1/dependencies.yaml
--- old/qtquick3dphysics-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 17:37:17.000000000 +0100
@@ -1,13 +1,13 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: true
../qtquick3d:
- ref: 5bba89db0520ed6250ab854ae5b04db5886088b4
+ ref: 24dae0ed9828c84f2046276f086db7b558d48987
required: true
../qtshadertools:
- ref: ded671b8c17f2a6b2f03cde3b9dad4910adda3cc
+ ref: aa5c5eeabd09e6af1aeeb11450fa54f2eeabd987
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/src/3rdparty/PhysX/0001-PhysX-Check-for-SSE-to-define-__intXX_t.patch new/qtquick3dphysics-everywhere-src-6.6.1/src/3rdparty/PhysX/0001-PhysX-Check-for-SSE-to-define-__intXX_t.patch
--- old/qtquick3dphysics-everywhere-src-6.6.0/src/3rdparty/PhysX/0001-PhysX-Check-for-SSE-to-define-__intXX_t.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/qtquick3dphysics-everywhere-src-6.6.1/src/3rdparty/PhysX/0001-PhysX-Check-for-SSE-to-define-__intXX_t.patch 2023-11-20 17:37:17.000000000 +0100
@@ -0,0 +1,27 @@
+From 4245fd4922c9931fa2c19989fa8f0d2cad0512a0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem(a)gmail.com>
+Date: Fri, 1 Sep 2023 11:49:50 -0700
+Subject: [PATCH] PhysX: Check for SSE to define __intXX_t
+
+This helps to compile on x86 platforms as these defines are not
+available there
+---
+ .../PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h b/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
+index 847a21a..9a4fbb8 100644
+--- a/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
++++ b/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
+@@ -43,7 +43,7 @@ namespace shdfnd
+ namespace aos
+ {
+
+-#if PX_EMSCRIPTEN
++#if PX_EMSCRIPTEN || PX_SSE2
+ typedef int8_t __int8_t;
+ typedef int16_t __int16_t;
+ typedef int32_t __int32_t;
+--
+2.42.0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h new/qtquick3dphysics-everywhere-src-6.6.1/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
--- old/qtquick3dphysics-everywhere-src-6.6.0/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h 2023-11-20 17:37:17.000000000 +0100
@@ -43,7 +43,7 @@
namespace aos
{
-#if PX_EMSCRIPTEN
+#if PX_EMSCRIPTEN || PX_SSE2
typedef int8_t __int8_t;
typedef int16_t __int16_t;
typedef int32_t __int32_t;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/src/quick3dphysics/doc/qtquick3dphysics.qdocconf new/qtquick3dphysics-everywhere-src-6.6.1/src/quick3dphysics/doc/qtquick3dphysics.qdocconf
--- old/qtquick3dphysics-everywhere-src-6.6.0/src/quick3dphysics/doc/qtquick3dphysics.qdocconf 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/src/quick3dphysics/doc/qtquick3dphysics.qdocconf 2023-11-20 17:37:17.000000000 +0100
@@ -46,5 +46,8 @@
tagfile = qtquick3dphysics.tags
+# Highlighted examples in Data Visualization & 3D category
+manifestmeta.highlighted.names = "QtQuick3DPhysics/Qt Quick 3D Physics - CharacterController Example"
+
# Fail the documentation build if there are more warnings than the limit
warninglimit = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/src/quick3dphysics/physxnode/qabstractphysxnode.cpp new/qtquick3dphysics-everywhere-src-6.6.1/src/quick3dphysics/physxnode/qabstractphysxnode.cpp
--- old/qtquick3dphysics-everywhere-src-6.6.0/src/quick3dphysics/physxnode/qabstractphysxnode.cpp 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/src/quick3dphysics/physxnode/qabstractphysxnode.cpp 2023-11-20 17:37:17.000000000 +0100
@@ -23,10 +23,19 @@
QAbstractPhysXNode::QAbstractPhysXNode(QAbstractPhysicsNode *node) : frontendNode(node)
{
+ Q_ASSERT(node->m_backendObject == nullptr);
node->m_backendObject = this;
}
-QAbstractPhysXNode::~QAbstractPhysXNode() = default;
+QAbstractPhysXNode::~QAbstractPhysXNode() {
+ if (!frontendNode) {
+ Q_ASSERT(isRemoved);
+ return;
+ }
+
+ Q_ASSERT(frontendNode->m_backendObject == this);
+ frontendNode->m_backendObject = nullptr;
+}
bool QAbstractPhysXNode::cleanupIfRemoved(QPhysXWorld *physX)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtquick3dphysics-everywhere-src-6.6.0/src/quick3dphysics/qphysicsworld.cpp new/qtquick3dphysics-everywhere-src-6.6.1/src/quick3dphysics/qphysicsworld.cpp
--- old/qtquick3dphysics-everywhere-src-6.6.0/src/quick3dphysics/qphysicsworld.cpp 2023-10-03 22:42:51.000000000 +0200
+++ new/qtquick3dphysics-everywhere-src-6.6.1/src/quick3dphysics/qphysicsworld.cpp 2023-11-20 17:37:17.000000000 +0100
@@ -227,6 +227,8 @@
for (auto world : worldManager.worlds) {
world->m_newPhysicsNodes.removeAll(physicsNode);
if (physicsNode->m_backendObject) {
+ Q_ASSERT(physicsNode->m_backendObject->frontendNode == physicsNode);
+ physicsNode->m_backendObject->frontendNode = nullptr;
physicsNode->m_backendObject->isRemoved = true;
physicsNode->m_backendObject = nullptr;
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-quick3d for openSUSE:Factory checked in at 2023-12-04 23:00:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-quick3d (Old)
and /work/SRC/openSUSE:Factory/.qt6-quick3d.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-quick3d"
Mon Dec 4 23:00:05 2023 rev:19 rq:1130420 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-quick3d/qt6-quick3d.changes 2023-11-23 21:43:23.865567800 +0100
+++ /work/SRC/openSUSE:Factory/.qt6-quick3d.new.25432/qt6-quick3d.changes 2023-12-04 23:00:15.068898813 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:15 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtquick3d-everywhere-src-6.6.0.tar.xz
New:
----
qtquick3d-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-quick3d.spec ++++++
--- /var/tmp/diff_new_pack.eH6hKI/_old 2023-12-04 23:00:17.800999352 +0100
+++ /var/tmp/diff_new_pack.eH6hKI/_new 2023-12-04 23:00:17.804999499 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtquick3d-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-quick3d%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: API for creating 3D content and 3D user interfaces based on Qt Quick
License: GPL-3.0-or-later
++++++ qtquick3d-everywhere-src-6.6.0.tar.xz -> qtquick3d-everywhere-src-6.6.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt6-quick3d/qtquick3d-everywhere-src-6.6.0.tar.xz /work/SRC/openSUSE:Factory/.qt6-quick3d.new.25432/qtquick3d-everywhere-src-6.6.1.tar.xz differ: char 27, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-qt5compat for openSUSE:Factory checked in at 2023-12-04 23:00:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-qt5compat (Old)
and /work/SRC/openSUSE:Factory/.qt6-qt5compat.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-qt5compat"
Mon Dec 4 23:00:03 2023 rev:26 rq:1130419 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-qt5compat/qt6-qt5compat.changes 2023-10-13 23:14:53.119481556 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-qt5compat.new.25432/qt6-qt5compat.changes 2023-12-04 23:00:13.872854799 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:14 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qt5compat-everywhere-src-6.6.0.tar.xz
New:
----
qt5compat-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-qt5compat.spec ++++++
--- /var/tmp/diff_new_pack.6vVhos/_old 2023-12-04 23:00:14.708885565 +0100
+++ /var/tmp/diff_new_pack.6vVhos/_new 2023-12-04 23:00:14.712885712 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qt5compat-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-qt5compat%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Unsupported Qt 5 APIs for Qt 6
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qt5compat-everywhere-src-6.6.0.tar.xz -> qt5compat-everywhere-src-6.6.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt6-qt5compat/qt5compat-everywhere-src-6.6.0.tar.xz /work/SRC/openSUSE:Factory/.qt6-qt5compat.new.25432/qt5compat-everywhere-src-6.6.1.tar.xz differ: char 27, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-networkauth for openSUSE:Factory checked in at 2023-12-04 22:59:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-networkauth (Old)
and /work/SRC/openSUSE:Factory/.qt6-networkauth.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-networkauth"
Mon Dec 4 22:59:58 2023 rev:25 rq:1130416 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-networkauth/qt6-networkauth.changes 2023-10-13 23:14:47.399274081 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-networkauth.new.25432/qt6-networkauth.changes 2023-12-04 23:00:07.352614860 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:12 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtnetworkauth-everywhere-src-6.6.0.tar.xz
New:
----
qtnetworkauth-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-networkauth.spec ++++++
--- /var/tmp/diff_new_pack.GG0lX2/_old 2023-12-04 23:00:09.004675655 +0100
+++ /var/tmp/diff_new_pack.GG0lX2/_new 2023-12-04 23:00:09.004675655 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtnetworkauth
%define tar_name qtnetworkauth-everywhere-src
@@ -28,7 +28,7 @@
%endif
#
Name: qt6-networkauth%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Set of APIs to obtain limited access to online accounts and HTTP services
License: GPL-3.0-only WITH Qt-GPL-exception-1.0
++++++ qtnetworkauth-everywhere-src-6.6.0.tar.xz -> qtnetworkauth-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtnetworkauth-everywhere-src-6.6.0/.cmake.conf new/qtnetworkauth-everywhere-src-6.6.1/.cmake.conf
--- old/qtnetworkauth-everywhere-src-6.6.0/.cmake.conf 2023-10-02 05:05:49.000000000 +0200
+++ new/qtnetworkauth-everywhere-src-6.6.1/.cmake.conf 2023-11-20 06:28:50.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtnetworkauth-everywhere-src-6.6.0/.tag new/qtnetworkauth-everywhere-src-6.6.1/.tag
--- old/qtnetworkauth-everywhere-src-6.6.0/.tag 2023-10-02 05:05:49.000000000 +0200
+++ new/qtnetworkauth-everywhere-src-6.6.1/.tag 2023-11-20 06:28:50.000000000 +0100
@@ -1 +1 @@
-8c7a6264d1ae09d2d0143655642d6f6530701420
+7b77e486d7b61b970ea2f3b9d19e9079d287ccba
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtnetworkauth-everywhere-src-6.6.0/dependencies.yaml new/qtnetworkauth-everywhere-src-6.6.1/dependencies.yaml
--- old/qtnetworkauth-everywhere-src-6.6.0/dependencies.yaml 2023-10-02 05:05:49.000000000 +0200
+++ new/qtnetworkauth-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 06:28:50.000000000 +0100
@@ -1,4 +1,4 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtnetworkauth-everywhere-src-6.6.0/examples/oauth/redditclient/doc/src/qtnetworkauth-redditclient.qdoc new/qtnetworkauth-everywhere-src-6.6.1/examples/oauth/redditclient/doc/src/qtnetworkauth-redditclient.qdoc
--- old/qtnetworkauth-everywhere-src-6.6.0/examples/oauth/redditclient/doc/src/qtnetworkauth-redditclient.qdoc 2023-10-02 05:05:49.000000000 +0200
+++ new/qtnetworkauth-everywhere-src-6.6.1/examples/oauth/redditclient/doc/src/qtnetworkauth-redditclient.qdoc 2023-11-20 06:28:50.000000000 +0100
@@ -7,7 +7,6 @@
\title Reddit Example
\ingroup examples-qtnetworkauth
\brief Demonstrates authenticating with OAuth 2 to access Reddit.
- \excludefromcreator
\image redditclient-example.png Screenshot of the example
The \e {Reddit} example uses OAuth 2, as supported by
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-multimedia for openSUSE:Factory checked in at 2023-12-04 22:59:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-multimedia (Old)
and /work/SRC/openSUSE:Factory/.qt6-multimedia.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-multimedia"
Mon Dec 4 22:59:57 2023 rev:19 rq:1130415 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-multimedia/qt6-multimedia.changes 2023-10-13 23:14:46.391237518 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-multimedia.new.25432/qt6-multimedia.changes 2023-12-04 23:00:05.204535812 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:12 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtmultimedia-everywhere-src-6.6.0.tar.xz
New:
----
qtmultimedia-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-multimedia.spec ++++++
--- /var/tmp/diff_new_pack.sQwxgH/_old 2023-12-04 23:00:06.148570552 +0100
+++ /var/tmp/diff_new_pack.sQwxgH/_new 2023-12-04 23:00:06.148570552 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtmultimedia
%define tar_name qtmultimedia-everywhere-src
@@ -28,7 +28,7 @@
%endif
#
Name: qt6-multimedia%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Multimedia libraries
License: GPL-3.0-or-later
++++++ qtmultimedia-everywhere-src-6.6.0.tar.xz -> qtmultimedia-everywhere-src-6.6.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt6-multimedia/qtmultimedia-everywhere-src-6.6.0.tar.xz /work/SRC/openSUSE:Factory/.qt6-multimedia.new.25432/qtmultimedia-everywhere-src-6.6.1.tar.xz differ: char 27, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-mqtt for openSUSE:Factory checked in at 2023-12-04 22:59:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-mqtt (Old)
and /work/SRC/openSUSE:Factory/.qt6-mqtt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-mqtt"
Mon Dec 4 22:59:55 2023 rev:25 rq:1130414 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-mqtt/qt6-mqtt.changes 2023-10-13 23:14:45.555207195 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-mqtt.new.25432/qt6-mqtt.changes 2023-12-04 23:00:03.332466922 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:11 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtmqtt-everywhere-src-6.6.0.tar.xz
New:
----
qtmqtt-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-mqtt.spec ++++++
--- /var/tmp/diff_new_pack.CKNfwS/_old 2023-12-04 23:00:04.252500779 +0100
+++ /var/tmp/diff_new_pack.CKNfwS/_new 2023-12-04 23:00:04.256500925 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtmqtt-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-mqtt%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Module to implement MQTT protocol version 3.1 and 3.1.1
License: GPL-3.0-only WITH Qt-GPL-exception-1.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.CKNfwS/_old 2023-12-04 23:00:04.300502545 +0100
+++ /var/tmp/diff_new_pack.CKNfwS/_new 2023-12-04 23:00:04.304502692 +0100
@@ -1,9 +1,9 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="changesgenerate">disable</param>
- <param name="version">6.6.0</param>
+ <param name="version">6.6.1</param>
<param name="url">git://code.qt.io/qt/qtmqtt.git</param>
- <param name="revision">v6.6.0</param>
+ <param name="revision">v6.6.1</param>
<param name="scm">git</param>
<param name="filename">qtmqtt-everywhere-src</param>
</service>
++++++ qtmqtt-everywhere-src-6.6.0.tar.xz -> qtmqtt-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/.cmake.conf new/qtmqtt-everywhere-src-6.6.1/.cmake.conf
--- old/qtmqtt-everywhere-src-6.6.0/.cmake.conf 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/.cmake.conf 2023-11-20 12:56:56.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/dependencies.yaml new/qtmqtt-everywhere-src-6.6.1/dependencies.yaml
--- old/qtmqtt-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 12:56:56.000000000 +0100
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: true
Binary files old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/images/quickpublication.png and new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/images/quickpublication.png differ
Binary files old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/images/quicksubscription.png and new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/images/quicksubscription.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/quickpublication.qdoc new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/quickpublication.qdoc
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/quickpublication.qdoc 1970-01-01 01:00:00.000000000 +0100
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/quickpublication.qdoc 2023-11-20 12:56:56.000000000 +0100
@@ -0,0 +1,60 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \example quickpublication
+ \title Qt Quick Publication
+ \examplecategory {Connectivity}
+ \ingroup qtmqtt-examples
+ \brief Use Qt Quick Controls to create an application that can publish on MQTT
+ topics.
+
+ \image quickpublication.png
+
+ \e {Qt Quick Publication} demonstrates how to register QMqttClient as a QML type and
+ use it in a Qt Quick application.
+
+ \l {Qt MQTT} does not provide a QML API in its current version. However,
+ you can make the C++ classes of the module available to QML.
+
+ \section1 Creating a Client
+
+ Create the wrapper class \c QmlMqttClient that has QMqttClient as a member:
+ \quotefromfile quickpublication/qmlmqttclient.h
+ \skipto private
+ \printuntil }
+
+ Connect the wrapper methods to the methods of QMqttClient in the constructor:
+ \quotefromfile quickpublication/qmlmqttclient.cpp
+ \skipto QmlMqttClient
+ \printuntil }
+
+ A wrapper method has the same name as the wrapped method. In the simplest case,
+ it is just a single method call:
+
+ \skipto connectToHost
+ \printuntil }
+
+ It is also possible to customize a wrapper method by extending it with some additional
+ functionality:
+
+ \skipto setPort
+ \printuntil );
+
+ \section1 Registering Classes in QML
+
+ In the \c main.cpp file, load the QML type Main from the module
+ publication:
+
+ \quotefromfile quickpublication/main.cpp
+ \skipto (argc
+ \printuntil loadFromModule
+
+
+ Now use the MqttClient type in the \c Main.qml file to create an
+ MQTT client:
+
+ \quotefromfile quickpublication/Main.qml
+ \skipto MqttClient {
+ \printuntil }
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/quicksubscription.qdoc new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/quicksubscription.qdoc
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/quicksubscription.qdoc 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/quicksubscription.qdoc 2023-11-20 12:56:56.000000000 +0100
@@ -3,14 +3,15 @@
/*!
\example quicksubscription
- \title Quick MQTT Example
+ \title Qt Quick Subscription
+ \examplecategory {Connectivity}
\ingroup qtmqtt-examples
- \brief Registering QMqttClient to QML and using it in a Qt Quick user
- interface.
+ \brief Use Qt Quick Controls to create an application that can subscribe to MQTT
+ topics.
\image quicksubscription.png
- \e {Quick MQTT} demonstrates how to register QMqttClient as a QML type and
+ \e {Qt Quick Subscription} demonstrates how to register QMqttClient as a QML type and
use it in a Qt Quick application.
\l {Qt MQTT} does not provide a QML API in its current version. However,
@@ -18,23 +19,24 @@
\section1 Creating a Client
- We create a \c QmlMqttClient class with the QMqttClient class as a base
- class:
+ Connect to QMqttSubscription::messageReceived( ) to receive all messages
+ sent to the broker:
\quotefromfile quicksubscription/qmlmqttclient.cpp
- \skipto QmlMqttClient(
+ \skipto QmlMqttSubscription
\printuntil }
- We use the \c subscribe() function to create a subscription object:
+ Create a \c QmlMqttClient class with the QMqttClient class as a base
+ class:
+ \skipto QmlMqttClient(
\printuntil }
- We connect to QMqttSubscription::messageReceived( ) to receive all messages
- sent to the broker:
-
+ Use the \c subscribe() function to create a subscription object:
+ \skipto subscribe
\printuntil }
- We use an QMqttMessage object to store the payload of a received
+ Use a QMqttMessage object to store the payload of a received
message:
\skipto handleMessage
@@ -42,22 +44,17 @@
\section1 Registering Classes in QML
- In the \c main.cpp file, we register the \c QmlMqttClient class as a
- QML type, MqttClient:
+ In the \c main.cpp file, load the QML type Main from the module
+ subscription:
\quotefromfile quicksubscription/main.cpp
- \skipto main(int
- \printuntil qmlRegisterType
-
- In addition, we register the \c QmlMqttSubscription class as an uncreatable
- type:
-
- \printuntil qmlRegisterUncreatableType
+ \skipto (argc
+ \printuntil loadFromModule
- We can now use the MqttClient type in the \c main.qml file to create an
+ Now use the MqttClient type in the \c Main.qml file to create an
MQTT client:
- \quotefromfile quicksubscription/main.qml
+ \quotefromfile quicksubscription/Main.qml
\skipto MqttClient {
\printuntil }
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/simpleclient.qdoc new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/simpleclient.qdoc
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/doc/simpleclient.qdoc 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/doc/simpleclient.qdoc 2023-11-20 12:56:56.000000000 +0100
@@ -52,5 +52,5 @@
\l {MQTT Subscriptions} example.
For an example of how to use the QMqttClient class in a Qt Quick
- application, see \l {Quick MQTT Example}.
+ application, see \l {Qt Quick Subscription}.
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/quickpublication/Main.qml new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/quickpublication/Main.qml
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/quickpublication/Main.qml 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/quickpublication/Main.qml 2023-11-20 12:56:56.000000000 +0100
@@ -10,7 +10,7 @@
visible: true
width: 640
height: 480
- title: qsTr("Qt Quick MQTT Publish Example")
+ title: qsTr("Qt Quick Publication")
id: root
MqttClient {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/quicksubscription/Main.qml new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/quicksubscription/Main.qml
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/quicksubscription/Main.qml 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/quicksubscription/Main.qml 2023-11-20 12:56:56.000000000 +0100
@@ -1,16 +1,16 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-import QtQuick 2.8
-import QtQuick.Window 2.2
-import QtQuick.Controls 2.1
-import QtQuick.Layouts 1.1
+import QtQuick
+import QtQuick.Window
+import QtQuick.Controls
+import QtQuick.Layouts
Window {
visible: true
width: 640
height: 480
- title: qsTr("Qt Quick MQTT Subscription Example")
+ title: qsTr("Qt Quick Subscription")
id: root
property var tempSubscription: 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/simpleclient/mainwindow.cpp new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/simpleclient/mainwindow.cpp
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/simpleclient/mainwindow.cpp 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/simpleclient/mainwindow.cpp 2023-11-20 12:56:56.000000000 +0100
@@ -8,6 +8,8 @@
#include <QtMqtt/QMqttClient>
#include <QtWidgets/QMessageBox>
+using namespace Qt::StringLiterals;
+
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
@@ -23,18 +25,17 @@
connect(m_client, &QMqttClient::messageReceived, this, [this](const QByteArray &message, const QMqttTopicName &topic) {
const QString content = QDateTime::currentDateTime().toString()
- + QLatin1String(" Received Topic: ")
+ + " Received Topic: "_L1
+ topic.name()
- + QLatin1String(" Message: ")
+ + " Message: "_L1
+ message
- + QLatin1Char('\n');
+ + u'\n';
ui->editLog->insertPlainText(content);
});
connect(m_client, &QMqttClient::pingResponseReceived, this, [this]() {
const QString content = QDateTime::currentDateTime().toString()
- + QLatin1String(" PingResponse")
- + QLatin1Char('\n');
+ + "PingResponse\n"_L1;
ui->editLog->insertPlainText(content);
});
@@ -71,9 +72,9 @@
void MainWindow::updateLogStateChange()
{
const QString content = QDateTime::currentDateTime().toString()
- + QLatin1String(": State Change")
+ + ": State Change"_L1
+ QString::number(m_client->state())
- + QLatin1Char('\n');
+ + u'\n';
ui->editLog->insertPlainText(content);
}
@@ -92,14 +93,15 @@
void MainWindow::on_buttonPublish_clicked()
{
if (m_client->publish(ui->lineEditTopic->text(), ui->lineEditMessage->text().toUtf8()) == -1)
- QMessageBox::critical(this, QLatin1String("Error"), QLatin1String("Could not publish message"));
+ QMessageBox::critical(this, u"Error"_s, u"Could not publish message"_s);
}
void MainWindow::on_buttonSubscribe_clicked()
{
auto subscription = m_client->subscribe(ui->lineEditTopic->text());
if (!subscription) {
- QMessageBox::critical(this, QLatin1String("Error"), QLatin1String("Could not subscribe. Is there a valid connection?"));
+ QMessageBox::critical(this, u"Error"_s,
+ u"Could not subscribe. Is there a valid connection?"_s);
return;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/subscriptions/mainwindow.cpp new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/subscriptions/mainwindow.cpp
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/subscriptions/mainwindow.cpp 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/subscriptions/mainwindow.cpp 2023-11-20 12:56:56.000000000 +0100
@@ -9,6 +9,8 @@
#include <QtMqtt/QMqttClient>
#include <QtWidgets/QMessageBox>
+using namespace Qt::StringLiterals;
+
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
@@ -24,18 +26,17 @@
connect(m_client, &QMqttClient::messageReceived, this, [this](const QByteArray &message, const QMqttTopicName &topic) {
const QString content = QDateTime::currentDateTime().toString()
- + QLatin1String(" Received Topic: ")
+ + " Received Topic: "_L1
+ topic.name()
- + QLatin1String(" Message: ")
+ + " Message: "_L1
+ message
- + QLatin1Char('\n');
+ + u'\n';
ui->editLog->insertPlainText(content);
});
connect(m_client, &QMqttClient::pingResponseReceived, this, [this]() {
const QString content = QDateTime::currentDateTime().toString()
- + QLatin1String(" PingResponse")
- + QLatin1Char('\n');
+ + " PingResponse\n"_L1;
ui->editLog->insertPlainText(content);
});
@@ -79,9 +80,9 @@
void MainWindow::updateLogStateChange()
{
const QString content = QDateTime::currentDateTime().toString()
- + QLatin1String(": State Change")
+ + ": State Change"_L1
+ QString::number(m_client->state())
- + QLatin1Char('\n');
+ + u'\n';
ui->editLog->insertPlainText(content);
}
@@ -105,7 +106,7 @@
static_cast<quint8>(ui->spinQoS_2->text().toUInt()),
ui->checkBoxRetain->isChecked())
== -1)
- QMessageBox::critical(this, QLatin1String("Error"), QLatin1String("Could not publish message"));
+ QMessageBox::critical(this, u"Error"_s, u"Could not publish message"_s);
}
void MainWindow::on_buttonSubscribe_clicked()
@@ -113,7 +114,8 @@
auto subscription = m_client->subscribe(ui->lineEditTopic->text(),
static_cast<quint8>(ui->spinQoS->text().toUInt()));
if (!subscription) {
- QMessageBox::critical(this, QLatin1String("Error"), QLatin1String("Could not subscribe. Is there a valid connection?"));
+ QMessageBox::critical(this, u"Error"_s,
+ u"Could not subscribe. Is there a valid connection?"_s);
return;
}
auto subWindow = new SubscriptionWindow(subscription);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/subscriptions/subscriptionwindow.cpp new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/subscriptions/subscriptionwindow.cpp
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/subscriptions/subscriptionwindow.cpp 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/subscriptions/subscriptionwindow.cpp 2023-11-20 12:56:56.000000000 +0100
@@ -4,6 +4,8 @@
#include "subscriptionwindow.h"
#include "ui_subscriptionwindow.h"
+using namespace Qt::StringLiterals;
+
SubscriptionWindow::SubscriptionWindow(QMqttSubscription *sub, QWidget *parent) :
QWidget(parent),
ui(new Ui::SubscriptionWindow),
@@ -37,22 +39,22 @@
{
switch (state) {
case QMqttSubscription::Unsubscribed:
- ui->labelStatus->setText(QLatin1String("Unsubscribed"));
+ ui->labelStatus->setText(u"Unsubscribed"_s);
break;
case QMqttSubscription::SubscriptionPending:
- ui->labelStatus->setText(QLatin1String("Pending"));
+ ui->labelStatus->setText(u"Pending"_s);
break;
case QMqttSubscription::Subscribed:
- ui->labelStatus->setText(QLatin1String("Subscribed"));
+ ui->labelStatus->setText(u"Subscribed"_s);
break;
case QMqttSubscription::Error:
- ui->labelStatus->setText(QLatin1String("Error"));
+ ui->labelStatus->setText(u"Error"_s);
break;
case QMqttSubscription::UnsubscriptionPending:
- ui->labelStatus->setText(QLatin1String("Pending Unsubscription"));
+ ui->labelStatus->setText(u"Pending Unsubscription"_s);
break;
default:
- ui->labelStatus->setText(QLatin1String("--Unknown--"));
+ ui->labelStatus->setText(u"--Unknown--"_s);
break;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/websocketsubscription/main.cpp new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/websocketsubscription/main.cpp
--- old/qtmqtt-everywhere-src-6.6.0/examples/mqtt/websocketsubscription/main.cpp 2023-10-03 20:26:55.000000000 +0200
+++ new/qtmqtt-everywhere-src-6.6.1/examples/mqtt/websocketsubscription/main.cpp 2023-11-20 12:56:56.000000000 +0100
@@ -7,32 +7,33 @@
#include <QtCore/QCommandLineParser>
#include <QtCore/QLoggingCategory>
+using namespace Qt::StringLiterals;
+
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QCoreApplication::setApplicationVersion("1.0");
QCommandLineParser parser;
- parser.setApplicationDescription(QLatin1String("Websocket MQTT subscription tool"));
+ parser.setApplicationDescription(u"Websocket MQTT subscription tool"_s);
auto help = parser.addHelpOption();
// Use http://www.hivemq.com/demos/websocket-client/ in browser to publish
- QCommandLineOption urlOption(QStringList() << "host" << "url" << "broker",
- QStringLiteral("Host to connect to, eg ws://broker.hivemq.com:8000/mqtt"),
- "host");
+ QCommandLineOption urlOption(QStringList{ u"host"_s, u"url"_s, u"broker"_s },
+ u"Host to connect to, eg ws://broker.hivemq.com:8000/mqtt"_s,
+ u"host"_s);
parser.addOption(urlOption);
- QCommandLineOption subscriptionOption(QStringList() << "t" << "topic",
- QStringLiteral("Topic to subscribe to"), "topic");
+ QCommandLineOption subscriptionOption(QStringList{ u"t"_s, u"topic"_s },
+ u"Topic to subscribe to"_s, u"topic"_s);
parser.addOption(subscriptionOption);
- QCommandLineOption debugOption(QStringList() << "d" << "debug",
- QStringLiteral("Enable Debug mode"));
+ QCommandLineOption debugOption(QStringList{ u"d"_s, u"debug"_s }, u"Enable Debug mode"_s);
parser.addOption(debugOption);
- QCommandLineOption versionOption(QStringList() << "v" << "version",
- QStringLiteral("MQTT protocol version.\n3: MQTT 3.1\n4: MQTT 3.1.1"),
- "version", "3");
+ QCommandLineOption versionOption(QStringList{ u"v"_s, u"version"_s },
+ u"MQTT protocol version.\n3: MQTT 3.1\n4: MQTT 3.1.1"_s,
+ u"version"_s, u"3"_s);
parser.addOption(versionOption);
parser.process(a.arguments());
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-lottie for openSUSE:Factory checked in at 2023-12-04 22:59:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-lottie (Old)
and /work/SRC/openSUSE:Factory/.qt6-lottie.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-lottie"
Mon Dec 4 22:59:53 2023 rev:23 rq:1130413 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-lottie/qt6-lottie.changes 2023-10-13 23:14:44.699176146 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-lottie.new.25432/qt6-lottie.changes 2023-12-04 23:00:01.844412163 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:11 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtlottie-everywhere-src-6.6.0.tar.xz
New:
----
qtlottie-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-lottie.spec ++++++
--- /var/tmp/diff_new_pack.rDzcrK/_old 2023-12-04 23:00:02.684443075 +0100
+++ /var/tmp/diff_new_pack.rDzcrK/_new 2023-12-04 23:00:02.684443075 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtlottie
%define tar_name qtlottie-everywhere-src
@@ -28,7 +28,7 @@
%endif
#
Name: qt6-lottie%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: QML API for rendering graphics and animation
# LICENSE.GPL3-EXCEPT only applies to the conan recipe which is not used
++++++ qtlottie-everywhere-src-6.6.0.tar.xz -> qtlottie-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.6.0/.cmake.conf new/qtlottie-everywhere-src-6.6.1/.cmake.conf
--- old/qtlottie-everywhere-src-6.6.0/.cmake.conf 2023-10-03 20:26:20.000000000 +0200
+++ new/qtlottie-everywhere-src-6.6.1/.cmake.conf 2023-11-20 12:56:23.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.6.0/.tag new/qtlottie-everywhere-src-6.6.1/.tag
--- old/qtlottie-everywhere-src-6.6.0/.tag 2023-10-03 20:26:20.000000000 +0200
+++ new/qtlottie-everywhere-src-6.6.1/.tag 2023-11-20 12:56:23.000000000 +0100
@@ -1 +1 @@
-710cb58faae0ebb8b8e552b01688645edb9920ea
+37f1ae8351ee62b40a19e8df3cb08e3b313ded70
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.6.0/dependencies.yaml new/qtlottie-everywhere-src-6.6.1/dependencies.yaml
--- old/qtlottie-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 20:26:20.000000000 +0200
+++ new/qtlottie-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 12:56:23.000000000 +0100
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: true
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-imageformats for openSUSE:Factory checked in at 2023-12-04 22:59:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-imageformats (Old)
and /work/SRC/openSUSE:Factory/.qt6-imageformats.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-imageformats"
Mon Dec 4 22:59:48 2023 rev:25 rq:1130410 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-imageformats/qt6-imageformats.changes 2023-10-13 23:14:41.087045132 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-imageformats.new.25432/qt6-imageformats.changes 2023-12-04 22:59:54.276133656 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:10 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtimageformats-everywhere-src-6.6.0.tar.xz
New:
----
qtimageformats-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-imageformats.spec ++++++
--- /var/tmp/diff_new_pack.2Pi9nW/_old 2023-12-04 22:59:55.748187826 +0100
+++ /var/tmp/diff_new_pack.2Pi9nW/_new 2023-12-04 22:59:55.748187826 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtimageformats
%define tar_name qtimageformats-everywhere-src
@@ -28,7 +28,7 @@
%endif
#
Name: qt6-imageformats%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 ImageFormat Plugins
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qtimageformats-everywhere-src-6.6.0.tar.xz -> qtimageformats-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtimageformats-everywhere-src-6.6.0/.cmake.conf new/qtimageformats-everywhere-src-6.6.1/.cmake.conf
--- old/qtimageformats-everywhere-src-6.6.0/.cmake.conf 2023-10-02 05:05:47.000000000 +0200
+++ new/qtimageformats-everywhere-src-6.6.1/.cmake.conf 2023-11-20 06:28:48.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtimageformats-everywhere-src-6.6.0/.tag new/qtimageformats-everywhere-src-6.6.1/.tag
--- old/qtimageformats-everywhere-src-6.6.0/.tag 2023-10-02 05:05:47.000000000 +0200
+++ new/qtimageformats-everywhere-src-6.6.1/.tag 2023-11-20 06:28:48.000000000 +0100
@@ -1 +1 @@
-4993279e9ee56381a4fefbeb0c95685af98551f6
+64278e72cd3f796f5883626b024c4561797445d7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtimageformats-everywhere-src-6.6.0/dependencies.yaml new/qtimageformats-everywhere-src-6.6.1/dependencies.yaml
--- old/qtimageformats-everywhere-src-6.6.0/dependencies.yaml 2023-10-02 05:05:47.000000000 +0200
+++ new/qtimageformats-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 06:28:48.000000000 +0100
@@ -1,4 +1,4 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtimageformats-everywhere-src-6.6.0/src/plugins/imageformats/macheif/CMakeLists.txt new/qtimageformats-everywhere-src-6.6.1/src/plugins/imageformats/macheif/CMakeLists.txt
--- old/qtimageformats-everywhere-src-6.6.0/src/plugins/imageformats/macheif/CMakeLists.txt 2023-10-02 05:05:47.000000000 +0200
+++ new/qtimageformats-everywhere-src-6.6.1/src/plugins/imageformats/macheif/CMakeLists.txt 2023-11-20 06:28:48.000000000 +0100
@@ -5,9 +5,10 @@
## QMacHeifPlugin Plugin:
#####################################################################
-find_library(FWCoreFoundation CoreFoundation)
-find_library(FWCoreGraphics CoreGraphics)
-find_library(FWImageIO ImageIO)
+qt_internal_find_apple_system_framework(FWCoreFoundation
+ CoreFoundation)
+qt_internal_find_apple_system_framework(FWCoreGraphics CoreGraphics)
+qt_internal_find_apple_system_framework(FWImageIO ImageIO)
qt_internal_add_plugin(QMacHeifPlugin
OUTPUT_NAME qmacheif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-grpc for openSUSE:Factory checked in at 2023-12-04 22:59:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-grpc (Old)
and /work/SRC/openSUSE:Factory/.qt6-grpc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-grpc"
Mon Dec 4 22:59:46 2023 rev:7 rq:1130408 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-grpc/qt6-grpc.changes 2023-10-13 23:14:38.998969396 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-grpc.new.25432/qt6-grpc.changes 2023-12-04 22:59:50.852007651 +0100
@@ -1,0 +2,8 @@
+Mon Nov 27 14:00:09 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+- Add upstream changes:
+ * 0001-Fix-re-initializing-a-moved-from-QProtobufMessage-us.patch
+
+-------------------------------------------------------------------
Old:
----
qtgrpc-everywhere-src-6.6.0.tar.xz
New:
----
0001-Fix-re-initializing-a-moved-from-QProtobufMessage-us.patch
qtgrpc-everywhere-src-6.6.1.tar.xz
BETA DEBUG BEGIN:
New:- Add upstream changes:
* 0001-Fix-re-initializing-a-moved-from-QProtobufMessage-us.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-grpc.spec ++++++
--- /var/tmp/diff_new_pack.QmsFJ5/_old 2023-12-04 22:59:51.560033706 +0100
+++ /var/tmp/diff_new_pack.QmsFJ5/_new 2023-12-04 22:59:51.564033853 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtgrpc
%define tar_name qtgrpc-everywhere-src
@@ -28,12 +28,14 @@
%endif
#
Name: qt6-grpc%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: gRPC and Protobuf generator and bindings for Qt framework
License: GPL-3.0-or-later
URL: https://www.qt.io
Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version…
+# PATCH-FIX-UPSTREAM
+Patch0: 0001-Fix-re-initializing-a-moved-from-QProtobufMessage-us.patch
BuildRequires: pkgconfig
BuildRequires: qt6-core-private-devel
BuildRequires: cmake(Qt6Core) = %{real_version}
@@ -44,8 +46,7 @@
BuildRequires: cmake(Qt6Widgets) = %{real_version}
BuildRequires: pkgconfig(grpc++)
BuildRequires: pkgconfig(libprotobuf-c)
-# qtgrpc is not compatible with protobuf 23 and protobuf-c is not compatible with 22 either
-BuildRequires: pkgconfig(protobuf) < 22
+BuildRequires: pkgconfig(protobuf)
%if "%{qt6_flavor}" == "docs"
BuildRequires: qt6-tools
%{qt6_doc_packages}
++++++ 0001-Fix-re-initializing-a-moved-from-QProtobufMessage-us.patch ++++++
From 0ce7f59cc15da9759d55e6a6b332d2a1bd7f78b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim(a)qt.io>
Date: Fri, 17 Nov 2023 15:32:14 +0100
Subject: [PATCH] Fix re-initializing a moved-from QProtobufMessage using copy
It was expecting the data-pointer was not nullptr, but after moving out
it is.
Fixes: QTBUG-119227
Change-Id: I3a8907dd0e16b33604481d9d6c382c238b067676
Reviewed-by: Alexey Edelev <alexey.edelev(a)qt.io>
(cherry picked from commit 0bc538fa9a544255753bfc387e6b620a10b6d1fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot(a)qt-project.org>
---
src/protobuf/qprotobufmessage.cpp | 6 ++++-
.../basic/tst_protobuf_basictypes.cpp | 26 +++++++++++++++++++
2 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/protobuf/qprotobufmessage.cpp b/src/protobuf/qprotobufmessage.cpp
index 124ec50..2e29b43 100644
--- a/src/protobuf/qprotobufmessage.cpp
+++ b/src/protobuf/qprotobufmessage.cpp
@@ -148,7 +148,11 @@ QProtobufMessage::QProtobufMessage(const QProtobufMessage &other)
*/
QProtobufMessage &QProtobufMessage::operator=(const QProtobufMessage &other)
{
- if (this != &other)
+ if (!other.d_ptr)
+ delete std::exchange(d_ptr, {}); // delete d_ptr if other.d_ptr is null
+ else if (!d_ptr)
+ d_ptr = new QProtobufMessagePrivate(*other.d_ptr);
+ else if (this != &other)
*d_ptr = *other.d_ptr;
return *this;
}
diff --git a/tests/auto/protobuf/basic/tst_protobuf_basictypes.cpp b/tests/auto/protobuf/basic/tst_protobuf_basictypes.cpp
index 83d3c6e..b2e8270 100644
--- a/tests/auto/protobuf/basic/tst_protobuf_basictypes.cpp
+++ b/tests/auto/protobuf/basic/tst_protobuf_basictypes.cpp
@@ -62,6 +62,18 @@ void QtProtobufTypesGenerationTest::EmptyMessageTest()
QProtobufMessagePointer rawMessage(
QProtobufMessage::constructByName("qtprotobufnamespace.tests.EmptyMessage"));
QVERIFY(reinterpret_cast<qtprotobufnamespace::tests::EmptyMessage*>(rawMessage.get()) != nullptr);
+
+ // Move from and reuse. This should compile and run:
+ qtprotobufnamespace::tests::EmptyMessage from;
+ qtprotobufnamespace::tests::EmptyMessage to = std::move(from);
+ from = to;
+ QCOMPARE(from, to);
+
+ qtprotobufnamespace::tests::EmptyMessage bucket = std::move(to);
+ bucket = std::move(from);
+
+ from = to;
+ QCOMPARE(from, to);
}
void QtProtobufTypesGenerationTest::BoolMessageTest()
@@ -77,6 +89,20 @@ void QtProtobufTypesGenerationTest::BoolMessageTest()
QCOMPARE(SimpleBoolMessage::TestFieldBoolProtoFieldNumber, 1);
QCOMPARE(test.propertyOrdering.getMessageFullName(),
"qtprotobufnamespace.tests.SimpleBoolMessage");
+
+ // Move from and reuse
+ qtprotobufnamespace::tests::SimpleBoolMessage from;
+ qtprotobufnamespace::tests::SimpleBoolMessage to = std::move(from);
+ from = to;
+ QCOMPARE(from.testFieldBool(), to.testFieldBool());
+ // Changes in one should not be visible in the other:
+ to.setTestFieldBool(!to.testFieldBool());
+ QCOMPARE_NE(from.testFieldBool(), to.testFieldBool());
+
+ from = to;
+ to.setProperty(propertyName, QVariant::fromValue(!to.testFieldBool()));
+ QCOMPARE_NE(from.testFieldBool(), to.testFieldBool());
+
}
void QtProtobufTypesGenerationTest::IntMessageTest()
--
2.42.1
++++++ qtgrpc-everywhere-src-6.6.0.tar.xz -> qtgrpc-everywhere-src-6.6.1.tar.xz ++++++
++++ 5948 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-declarative for openSUSE:Factory checked in at 2023-12-04 22:59:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-declarative (Old)
and /work/SRC/openSUSE:Factory/.qt6-declarative.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-declarative"
Mon Dec 4 22:59:42 2023 rev:33 rq:1130406 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-declarative/qt6-declarative.changes 2023-10-13 23:15:51.893613331 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-declarative.new.25432/qt6-declarative.changes 2023-12-04 22:59:46.679854119 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:08 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtdeclarative-everywhere-src-6.6.0.tar.xz
New:
----
qtdeclarative-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-declarative.spec ++++++
--- /var/tmp/diff_new_pack.S7A8Fu/_old 2023-12-04 22:59:48.383916827 +0100
+++ /var/tmp/diff_new_pack.S7A8Fu/_new 2023-12-04 22:59:48.383916827 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtdeclarative-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-declarative%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Declarative Libraries and tools
License: GPL-2.0-only OR GPL-3.0-or-later OR LGPL-3.0-only
++++++ qtdeclarative-everywhere-src-6.6.0.tar.xz -> qtdeclarative-everywhere-src-6.6.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt6-declarative/qtdeclarative-everywhere-src-6.6.0.tar.xz /work/SRC/openSUSE:Factory/.qt6-declarative.new.25432/qtdeclarative-everywhere-src-6.6.1.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-connectivity for openSUSE:Factory checked in at 2023-12-04 22:59:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-connectivity (Old)
and /work/SRC/openSUSE:Factory/.qt6-connectivity.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-connectivity"
Mon Dec 4 22:59:38 2023 rev:19 rq:1130404 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-connectivity/qt6-connectivity.changes 2023-10-13 23:14:35.594845927 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-connectivity.new.25432/qt6-connectivity.changes 2023-12-04 22:59:42.471699263 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:07 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtconnectivity-everywhere-src-6.6.0.tar.xz
New:
----
qtconnectivity-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-connectivity.spec ++++++
--- /var/tmp/diff_new_pack.eofhVf/_old 2023-12-04 22:59:43.295729586 +0100
+++ /var/tmp/diff_new_pack.eofhVf/_new 2023-12-04 22:59:43.299729733 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define tar_name qtconnectivity-everywhere-src
%define tar_suffix %{nil}
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-connectivity%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 connectivity tools and libraries
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ qtconnectivity-everywhere-src-6.6.0.tar.xz -> qtconnectivity-everywhere-src-6.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/.cmake.conf new/qtconnectivity-everywhere-src-6.6.1/.cmake.conf
--- old/qtconnectivity-everywhere-src-6.6.0/.cmake.conf 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/.cmake.conf 2023-11-20 12:56:26.000000000 +0100
@@ -1,3 +1,3 @@
-set(QT_REPO_MODULE_VERSION "6.6.0")
+set(QT_REPO_MODULE_VERSION "6.6.1")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/.tag new/qtconnectivity-everywhere-src-6.6.1/.tag
--- old/qtconnectivity-everywhere-src-6.6.0/.tag 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/.tag 2023-11-20 12:56:26.000000000 +0100
@@ -1 +1 @@
-e5a5b47da00ffa5018a8c587999beab3527e7b9e
+02626fe90cdd19f64b773a7ab5c276b0d3fef0d3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/dependencies.yaml new/qtconnectivity-everywhere-src-6.6.1/dependencies.yaml
--- old/qtconnectivity-everywhere-src-6.6.0/dependencies.yaml 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 12:56:26.000000000 +0100
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c
+ ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94
required: true
../qtdeclarative:
- ref: e559d5cf2b66c4a973f83f173d57676a21d287ef
+ ref: 30cb9f48bacdd8092b2264e6067476cafb2d7e39
required: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/src/android/bluetooth/src/org/qtproject/qt/android/bluetooth/QtBluetoothLE.java new/qtconnectivity-everywhere-src-6.6.1/src/android/bluetooth/src/org/qtproject/qt/android/bluetooth/QtBluetoothLE.java
--- old/qtconnectivity-everywhere-src-6.6.0/src/android/bluetooth/src/org/qtproject/qt/android/bluetooth/QtBluetoothLE.java 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/src/android/bluetooth/src/org/qtproject/qt/android/bluetooth/QtBluetoothLE.java 2023-11-20 12:56:26.000000000 +0100
@@ -257,6 +257,9 @@
private synchronized void handleOnConnectionStateChange(BluetoothGatt gatt,
int status, int newState) {
+
+ Log.d(TAG, "Connection state changes to: " + newState + ", status: " + status
+ + ", qtObject: " + (qtObject != 0));
if (qtObject == 0)
return;
@@ -1077,11 +1080,14 @@
handleForTimeout.set(HANDLE_FOR_RESET);
readWriteQueue.clear();
+ pendingJob = null;
}
// This function is called from Qt thread
public synchronized boolean discoverServiceDetails(String serviceUuid, boolean fullDiscovery)
{
+ Log.d(TAG, "Discover service details for: " + serviceUuid + ", fullDiscovery: "
+ + fullDiscovery + ", BluetoothGatt: " + (mBluetoothGatt != null));
try {
if (mBluetoothGatt == null)
return false;
@@ -1471,6 +1477,10 @@
*/
private synchronized void performNextIO()
{
+ Log.d(TAG, "Perform next BTLE IO, job queue size: " + readWriteQueue.size()
+ + ", a job is pending: " + (pendingJob != null) + ", BluetoothGatt: "
+ + (mBluetoothGatt != null));
+
if (mBluetoothGatt == null)
return;
@@ -1534,7 +1544,7 @@
}
if (nextJob.jobType != IoJobType.Mtu && nextJob.jobType != IoJobType.Rssi) {
- Log.w(TAG, "Performing queued job, handle: " + handle + " " + nextJob.jobType + " (" +
+ Log.d(TAG, "Performing queued job, handle: " + handle + " " + nextJob.jobType + " (" +
(nextJob.requestedWriteType == BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE) +
") ValueKnown: " + nextJob.entry.valueKnown + " Skipping: " + skip +
" " + nextJob.entry.type);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/src/bluetooth/android/jni_android.cpp new/qtconnectivity-everywhere-src-6.6.1/src/bluetooth/android/jni_android.cpp
--- old/qtconnectivity-everywhere-src-6.6.0/src/bluetooth/android/jni_android.cpp 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/src/bluetooth/android/jni_android.cpp 2023-11-20 12:56:26.000000000 +0100
@@ -18,6 +18,7 @@
typedef QHash<QByteArray, QJniObject> JCachedStringFields;
Q_GLOBAL_STATIC(JCachedStringFields, cachedStringFields)
+Q_GLOBAL_STATIC(QMutex, stringCacheMutex);
/*
* This function operates on the assumption that each
@@ -25,6 +26,7 @@
*/
QJniObject valueFromStaticFieldCache(const char *key, const char *className, const char *fieldName)
{
+ QMutexLocker lock(stringCacheMutex());
JCachedStringFields::iterator it = cachedStringFields()->find(key);
if (it == cachedStringFields()->end()) {
QJniEnvironment env;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/src/bluetooth/qbluetoothlocaldevice_bluez.cpp new/qtconnectivity-everywhere-src-6.6.1/src/bluetooth/qbluetoothlocaldevice_bluez.cpp
--- old/qtconnectivity-everywhere-src-6.6.0/src/bluetooth/qbluetoothlocaldevice_bluez.cpp 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/src/bluetooth/qbluetoothlocaldevice_bluez.cpp 2023-11-20 12:56:26.000000000 +0100
@@ -169,6 +169,7 @@
if (d_ptr->pairingTarget) {
qCDebug(QT_BT_BLUEZ) << "Cancelling pending pairing request to" << d_ptr->pairingTarget->address();
QDBusPendingReply<> cancelReply = d_ptr->pairingTarget->CancelPairing();
+ d_ptr->pairingRequestCanceled = true;
cancelReply.waitForFinished();
delete d_ptr->pairingTarget;
d_ptr->pairingTarget = nullptr;
@@ -641,12 +642,19 @@
if (reply.isError()) {
qCWarning(QT_BT_BLUEZ) << "Failed to create pairing" << reply.error().name();
- if (reply.error().name() != QStringLiteral("org.bluez.Error.AuthenticationCanceled"))
+ const bool canceledByUs =
+ (reply.error().name() == QStringLiteral("org.bluez.Error.AuthenticationCanceled"))
+ && pairingRequestCanceled;
+ if (!canceledByUs)
emit q->errorOccurred(QBluetoothLocalDevice::PairingError);
+
+ pairingRequestCanceled = false;
watcher->deleteLater();
return;
}
+ pairingRequestCanceled = false;
+
if (adapter) {
if (!pairingTarget) {
qCWarning(QT_BT_BLUEZ) << "Pairing target expected but found null pointer.";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/src/bluetooth/qbluetoothlocaldevice_p.h new/qtconnectivity-everywhere-src-6.6.1/src/bluetooth/qbluetoothlocaldevice_p.h
--- old/qtconnectivity-everywhere-src-6.6.0/src/bluetooth/qbluetoothlocaldevice_p.h 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/src/bluetooth/qbluetoothlocaldevice_p.h 2023-11-20 12:56:26.000000000 +0100
@@ -120,6 +120,7 @@
QTimer *pairingDiscoveryTimer = nullptr;
QBluetoothLocalDevice::HostMode currentMode;
int pendingHostModeChange;
+ bool pairingRequestCanceled = false;
public slots:
void pairingCompleted(QDBusPendingCallWatcher *);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/src/nfc/doc/src/nfc-overview.qdoc new/qtconnectivity-everywhere-src-6.6.1/src/nfc/doc/src/nfc-overview.qdoc
--- old/qtconnectivity-everywhere-src-6.6.0/src/nfc/doc/src/nfc-overview.qdoc 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/src/nfc/doc/src/nfc-overview.qdoc 2023-11-20 12:56:26.000000000 +0100
@@ -7,7 +7,7 @@
\title Qt NFC Overview
\page qtnfc-overview.html
\brief Provides access to NFC enabled devices.
-\ingroup explanation
+\ingroup explanations-networkingandconnectivity
\tableofcontents
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtconnectivity-everywhere-src-6.6.0/src/nfc/qnearfieldmanager_ios.mm new/qtconnectivity-everywhere-src-6.6.1/src/nfc/qnearfieldmanager_ios.mm
--- old/qtconnectivity-everywhere-src-6.6.0/src/nfc/qnearfieldmanager_ios.mm 2023-10-03 20:26:50.000000000 +0200
+++ new/qtconnectivity-everywhere-src-6.6.1/src/nfc/qnearfieldmanager_ios.mm 2023-11-20 12:56:26.000000000 +0100
@@ -143,6 +143,7 @@
isSessionScheduled = true;
return true;
}
+ isSessionScheduled = false;
if (accessMethod == QNearFieldTarget::TagTypeSpecificAccess) {
startSession();
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-charts for openSUSE:Factory checked in at 2023-12-04 22:59:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-charts (Old)
and /work/SRC/openSUSE:Factory/.qt6-charts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-charts"
Mon Dec 4 22:59:36 2023 rev:23 rq:1130402 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-charts/qt6-charts.changes 2023-10-13 23:14:31.342691698 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-charts.new.25432/qt6-charts.changes 2023-12-04 22:59:38.059536899 +0100
@@ -1,0 +2,6 @@
+Mon Nov 27 14:00:06 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1:
+ * https://www.qt.io/blog/qt-6.6.1-released
+
+-------------------------------------------------------------------
Old:
----
qtcharts-everywhere-src-6.6.0.tar.xz
New:
----
qtcharts-everywhere-src-6.6.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-charts.spec ++++++
--- /var/tmp/diff_new_pack.n3GNOq/_old 2023-12-04 22:59:39.055573551 +0100
+++ /var/tmp/diff_new_pack.n3GNOq/_new 2023-12-04 22:59:39.055573551 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 6.6.0
+%define real_version 6.6.1
%define short_version 6.6
%define short_name qtcharts
%define tar_name qtcharts-everywhere-src
@@ -28,7 +28,7 @@
%endif
#
Name: qt6-charts%{?pkg_suffix}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Qt 6 Charts library
License: GPL-3.0-or-later
++++++ qtcharts-everywhere-src-6.6.0.tar.xz -> qtcharts-everywhere-src-6.6.1.tar.xz ++++++
++++ 1793 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-elastic-transport for openSUSE:Factory checked in at 2023-12-04 22:59:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-elastic-transport (Old)
and /work/SRC/openSUSE:Factory/.python-elastic-transport.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-elastic-transport"
Mon Dec 4 22:59:22 2023 rev:6 rq:1130493 version:8.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-elastic-transport/python-elastic-transport.changes 2023-05-10 16:16:41.650325081 +0200
+++ /work/SRC/openSUSE:Factory/.python-elastic-transport.new.25432/python-elastic-transport.changes 2023-12-04 22:59:24.779048187 +0100
@@ -1,0 +2,10 @@
+Sat Dec 2 17:07:21 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 8.10.0:
+ * Support urllib3 2.x in addition to urllib3 1.26.x (#121)
+ * Add 409 to `NOT_DEAD_NODE_HTTP_STATUSES` (#120)
+ * Fixed an issue where a large number of consecutive failures
+ to connect to a node would raise an `OverflowError`.
+ * Fixed an issue to ensure that `ApiResponse` can be pickled.
+
+-------------------------------------------------------------------
Old:
----
elastic-transport-python-8.4.0.tar.gz
New:
----
elastic-transport-python-8.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-elastic-transport.spec ++++++
--- /var/tmp/diff_new_pack.jWlB6J/_old 2023-12-04 22:59:26.187100002 +0100
+++ /var/tmp/diff_new_pack.jWlB6J/_new 2023-12-04 22:59:26.199100443 +0100
@@ -16,10 +16,9 @@
#
-%define skip_python2 1
%{?sle15_python_module_pythons}
Name: python-elastic-transport
-Version: 8.4.0
+Version: 8.10.0
Release: 0
Summary: Transport classes and utilities shared among Python Elastic client libraries
License: Apache-2.0
@@ -29,8 +28,7 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-certifi
-# Removed upper limit to work with urllib3 >= 2.0.0 -- gh#elastic/elastic-transport-python#102
-Requires: (python-urllib3 >= 1.26.2)
+Requires: python-urllib3
BuildArch: noarch
%if 0%{python_version_nodots} < 37
Requires: python-dataclasses
@@ -45,7 +43,7 @@
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module trustme}
-BuildRequires: %{python_module urllib3 >= 1.26.2}
+BuildRequires: %{python_module urllib3}
# /SECTION
%python_subpackages
++++++ elastic-transport-python-8.4.0.tar.gz -> elastic-transport-python-8.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/.github/workflows/backport.yml new/elastic-transport-python-8.10.0/.github/workflows/backport.yml
--- old/elastic-transport-python-8.4.0/.github/workflows/backport.yml 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/.github/workflows/backport.yml 2023-10-30 06:12:20.000000000 +0100
@@ -1,16 +1,26 @@
name: Backport
on:
- pull_request:
+ pull_request_target:
types:
- closed
- labeled
jobs:
backport:
- runs-on: ubuntu-latest
name: Backport
+ runs-on: ubuntu-latest
+ # Only react to merged PRs for security reasons.
+ # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-work….
+ if: >
+ github.event.pull_request.merged
+ && (
+ github.event.action == 'closed'
+ || (
+ github.event.action == 'labeled'
+ && contains(github.event.label.name, 'backport')
+ )
+ )
steps:
- - name: Backport
- uses: tibdex/backport@v1
+ - uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e # v2.0.4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/.github/workflows/ci.yml new/elastic-transport-python-8.10.0/.github/workflows/ci.yml
--- old/elastic-transport-python-8.4.0/.github/workflows/ci.yml 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/.github/workflows/ci.yml 2023-10-30 06:12:20.000000000 +0100
@@ -10,15 +10,13 @@
- name: Checkout repository
uses: actions/checkout@v1
- name: Set up Python 3.x
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install dependencies
- run: |
- python3 -m pip install setuptools wheel twine
+ run: python3 -m pip install setuptools wheel twine
- name: Build dists
- run: |
- python3 utils/build-dists.py
+ run: python3 utils/build-dists.py
lint:
runs-on: ubuntu-latest
@@ -26,23 +24,27 @@
- name: Checkout Repository
uses: actions/checkout@v1
- name: Set up Python 3.x
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install dependencies
- run: |
- python3 -m pip install nox
+ run: python3 -m pip install nox
- name: Lint the code
run: nox -s lint
+ env:
+ # Workaround for development versions
+ # https://github.com/aio-libs/aiohttp/issues/7675
+ AIOHTTP_NO_EXTENSIONS: 1
test:
strategy:
fail-fast: false
matrix:
- python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11-dev"]
+ python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
+ os: ["ubuntu-latest"]
experimental: [false]
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
name: test-${{ matrix.python-version }}
continue-on-error: ${{ matrix.experimental }}
steps:
@@ -54,11 +56,10 @@
with:
python-version: ${{ matrix.python-version }}
- - name: Set up Python 3.7 to run nox
- if: matrix.python-version != '3.7'
+ - name: Set up Python 3.x to run nox
uses: actions/setup-python@v2
with:
- python-version: 3.7
+ python-version: 3.x
- name: Install Dependencies
run: python -m pip install --upgrade nox
@@ -67,10 +68,7 @@
run: "nox -rs test-${PYTHON_VERSION%-dev}"
env:
PYTHON_VERSION: ${{ matrix.python-version }}
- # TEMPORARY for 3.11
- # https://github.com/aio-libs/aiohttp/issues/6600
+ # Required for development versions of Python
AIOHTTP_NO_EXTENSIONS: 1
- # https://github.com/aio-libs/frozenlist/issues/285
FROZENLIST_NO_EXTENSIONS: 1
- # https://github.com/aio-libs/yarl/issues/680
YARL_NO_EXTENSIONS: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/.readthedocs.yml new/elastic-transport-python-8.10.0/.readthedocs.yml
--- old/elastic-transport-python-8.4.0/.readthedocs.yml 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/.readthedocs.yml 2023-10-30 06:12:20.000000000 +0100
@@ -1,12 +1,20 @@
version: 2
-sphinx:
- configuration: docs/sphinx/conf.py
+
+build:
+ os: ubuntu-22.04
+ tools:
+ # To work around https://github.com/aio-libs/aiohttp/issues/7675, we need
+ # to set AIOHTTP_NO_EXTENSIONS to 1 but it has to be done in
+ # https://readthedocs.org/dashboard/elastic-transport-python/environmentvaria…
+ # because of https://github.com/readthedocs/readthedocs.org/issues/6311
+ python: "3"
python:
- version: "3.8"
install:
- method: pip
path: .
extra_requirements:
- develop
- - requirements: docs/sphinx/requirements.txt
+
+sphinx:
+ fail_on_warning: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/CHANGELOG.md new/elastic-transport-python-8.10.0/CHANGELOG.md
--- old/elastic-transport-python-8.4.0/CHANGELOG.md 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/CHANGELOG.md 2023-10-30 06:12:20.000000000 +0100
@@ -1,5 +1,21 @@
# Changelog
+## 8.10.0
+
+- Support urllib3 2.x in addition to urllib3 1.26.x ([#121](https://github.com/elastic/elastic-transport-python/pull/121))
+- Add 409 to `NOT_DEAD_NODE_HTTP_STATUSES` ([#120](https://github.com/elastic/elastic-transport-python/pull/120))
+
+## 8.4.1
+
+- Fixed an issue where a large number of consecutive failures to connect to a node would raise an `OverflowError`.
+- Fixed an issue to ensure that `ApiResponse` can be pickled.
+
+## 8.4.0
+
+### Added
+
+- Added method for clients to use default ports for URL scheme.
+
## 8.1.2
### Fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/README.md new/elastic-transport-python-8.10.0/README.md
--- old/elastic-transport-python-8.4.0/README.md 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/README.md 2023-10-30 06:12:20.000000000 +0100
@@ -2,7 +2,7 @@
[![PyPI](https://img.shields.io/pypi/v/elastic-transport)](https://pypi.org/elastic-transport)
[![Python Versions](https://img.shields.io/pypi/pyversions/elastic-transport)](https:…
-[![PyPI Downloads](https://pepy.tech/badge/elastic-transport)](https://pepy.tech/project/elastic-transport)
+[![PyPI Downloads](https://static.pepy.tech/badge/elastic-transport)](https://pepy.tech/project/elastic-transport)
[![CI Status](https://img.shields.io/github/workflow/status/elastic/elastic-trans…
Transport classes and utilities shared among Python Elastic client libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/docs/sphinx/requirements.txt new/elastic-transport-python-8.10.0/docs/sphinx/requirements.txt
--- old/elastic-transport-python-8.4.0/docs/sphinx/requirements.txt 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/docs/sphinx/requirements.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-sphinx
-furo
-sphinx-autodoc-typehints
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_async_transport.py new/elastic-transport-python-8.10.0/elastic_transport/_async_transport.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_async_transport.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_async_transport.py 2023-10-30 06:12:20.000000000 +0100
@@ -244,7 +244,6 @@
errors: List[Exception] = []
for attempt in range(max_retries + 1):
-
# If we sniff before requests are made we want to do so before
# 'node_pool.get()' is called so our sniffed nodes show up in the pool.
if self._sniff_before_requests:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_node/_http_requests.py new/elastic-transport-python-8.10.0/elastic_transport/_node/_http_requests.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_node/_http_requests.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_node/_http_requests.py 2023-10-30 06:12:20.000000000 +0100
@@ -61,7 +61,6 @@
block: bool = False,
**pool_kwargs: Any,
) -> None:
-
if self._node_config.scheme == "https":
ssl_context = ssl_context_from_node_config(self._node_config)
pool_kwargs.setdefault("ssl_context", ssl_context)
@@ -71,7 +70,6 @@
# about the fingerprint of the certificates, not whether they form
# a verified chain to a trust anchor.
if self._node_config.ssl_assert_fingerprint:
-
# Manually disable these in the right order on the SSLContext
# so urllib3 won't think we want conflicting things.
ssl_context.check_hostname = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_node/_http_urllib3.py new/elastic-transport-python-8.10.0/elastic_transport/_node/_http_urllib3.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_node/_http_urllib3.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_node/_http_urllib3.py 2023-10-30 06:12:20.000000000 +0100
@@ -21,6 +21,11 @@
import warnings
from typing import Any, Dict, Optional, Union
+try:
+ from importlib import metadata
+except ImportError:
+ import importlib_metadata as metadata # type: ignore[import,no-redef]
+
import urllib3
from urllib3.exceptions import ConnectTimeoutError, NewConnectionError, ReadTimeoutError
from urllib3.util.retry import Retry
@@ -47,7 +52,7 @@
class Urllib3HttpNode(BaseNode):
"""Default synchronous node class using the ``urllib3`` library via HTTP"""
- _CLIENT_META_HTTP_CLIENT = ("ur", client_meta_version(urllib3.__version__))
+ _CLIENT_META_HTTP_CLIENT = ("ur", client_meta_version(metadata.version("urllib3")))
def __init__(self, config: NodeConfig):
super().__init__(config)
@@ -70,7 +75,6 @@
# about the fingerprint of the certificates, not whether they form
# a verified chain to a trust anchor.
elif config.ssl_assert_fingerprint:
-
# Manually disable these in the right order on the SSLContext
# so urllib3 won't think we want conflicting things.
ssl_context.check_hostname = False
@@ -137,7 +141,6 @@
headers: Optional[HttpHeaders] = None,
request_timeout: Union[DefaultType, Optional[float]] = DEFAULT,
) -> NodeApiResponse:
-
if self.path_prefix:
target = f"{self.path_prefix}{target}"
@@ -161,13 +164,13 @@
else:
body_to_send = None
- response = self.pool.urlopen( # type: ignore[no-untyped-call]
+ response = self.pool.urlopen(
method,
target,
body=body_to_send,
retries=Retry(False),
headers=request_headers,
- **kw,
+ **kw, # type: ignore[arg-type]
)
response_headers = HttpHeaders(response.headers)
data = response.data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_node/_urllib3_chain_certs.py new/elastic-transport-python-8.10.0/elastic_transport/_node/_urllib3_chain_certs.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_node/_urllib3_chain_certs.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_node/_urllib3_chain_certs.py 2023-10-30 06:12:20.000000000 +0100
@@ -36,7 +36,21 @@
__all__ = ["HTTPSConnectionPool"]
+class HTTPSConnection(urllib3.connection.HTTPSConnection):
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
+ self._elastic_assert_fingerprint: Optional[str] = None
+ super().__init__(*args, **kwargs)
+
+ def connect(self) -> None:
+ super().connect()
+ # Hack to prevent a warning within HTTPSConnectionPool._validate_conn()
+ if self._elastic_assert_fingerprint:
+ self.is_verified = True
+
+
class HTTPSConnectionPool(urllib3.HTTPSConnectionPool):
+ ConnectionCls = HTTPSConnection
+
"""HTTPSConnectionPool implementation which supports ``assert_fingerprint``
on certificates within the chain instead of only the leaf cert using private
APIs in CPython 3.10+
@@ -60,18 +74,26 @@
f", should be one of '{valid_lengths}'"
)
- if assert_fingerprint:
- # Falsey but not None. This is a hack to skip fingerprinting by urllib3
- # but still set 'is_verified=True' within HTTPSConnectionPool._validate_conn()
- kwargs["assert_fingerprint"] = ""
+ if self._elastic_assert_fingerprint:
+ # Skip fingerprinting by urllib3 as we'll do it ourselves
+ kwargs["assert_fingerprint"] = None
super().__init__(*args, **kwargs)
- def _validate_conn(self, conn: urllib3.connection.HTTPSConnection) -> None:
+ def _new_conn(self) -> HTTPSConnection:
+ """
+ Return a fresh :class:`urllib3.connection.HTTPSConnection`.
+ """
+ conn: HTTPSConnection = super()._new_conn() # type: ignore[assignment]
+ # Tell our custom connection if we'll assert fingerprint ourselves
+ conn._elastic_assert_fingerprint = self._elastic_assert_fingerprint
+ return conn
+
+ def _validate_conn(self, conn: HTTPSConnection) -> None: # type: ignore[override]
"""
Called right before a request is made, after the socket is created.
"""
- super(HTTPSConnectionPool, self)._validate_conn(conn) # type: ignore[misc]
+ super(HTTPSConnectionPool, self)._validate_conn(conn)
if self._elastic_assert_fingerprint:
hash_func = _HASHES_BY_LENGTH[len(self._elastic_assert_fingerprint)]
@@ -89,7 +111,7 @@
# See: https://github.com/python/cpython/pull/25467
fingerprints = [
hash_func(cert.public_bytes(_ENCODING_DER)).digest()
- for cert in conn.sock._sslobj.get_verified_chain()
+ for cert in conn.sock._sslobj.get_verified_chain() # type: ignore[union-attr]
]
except RERAISE_EXCEPTIONS: # pragma: nocover
raise
@@ -100,7 +122,7 @@
# Only add the peercert in front of the chain if it's not there for some reason.
# This is to make sure old behavior of 'ssl_assert_fingerprint' still works.
- peercert_fingerprint = hash_func(conn.sock.getpeercert(True)).digest()
+ peercert_fingerprint = hash_func(conn.sock.getpeercert(True)).digest() # type: ignore[union-attr]
if peercert_fingerprint not in fingerprints: # pragma: nocover
fingerprints.insert(0, peercert_fingerprint)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_node_pool.py new/elastic-transport-python-8.10.0/elastic_transport/_node_pool.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_node_pool.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_node_pool.py 2023-10-30 06:12:20.000000000 +0100
@@ -238,10 +238,13 @@
pass
consecutive_failures = self._dead_consecutive_failures[node.config] + 1
self._dead_consecutive_failures[node.config] = consecutive_failures
- timeout = min(
- self._dead_node_backoff_factor * (2 ** (consecutive_failures - 1)),
- self._max_dead_node_backoff,
- )
+ try:
+ timeout = min(
+ self._dead_node_backoff_factor * (2 ** (consecutive_failures - 1)),
+ self._max_dead_node_backoff,
+ )
+ except OverflowError:
+ timeout = self._max_dead_node_backoff
self._dead_nodes.put((now + timeout, node))
_logger.warning(
"Node %r has failed for %i times in a row, putting on %i second timeout",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_response.py new/elastic-transport-python-8.10.0/elastic_transport/_response.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_response.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_response.py 2023-10-30 06:12:20.000000000 +0100
@@ -23,6 +23,7 @@
Iterator,
List,
NoReturn,
+ Tuple,
TypeVar,
Union,
overload,
@@ -97,6 +98,12 @@
def __getattr__(self, attr: str) -> Any:
return getattr(self._body, attr)
+ def __getstate__(self) -> Tuple[_BodyType, ApiResponseMeta]:
+ return self._body, self._meta
+
+ def __setstate__(self, state: Tuple[_BodyType, ApiResponseMeta]) -> None:
+ self._body, self._meta = state
+
def __len__(self) -> int:
return len(self._body)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_transport.py new/elastic-transport-python-8.10.0/elastic_transport/_transport.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_transport.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_transport.py 2023-10-30 06:12:20.000000000 +0100
@@ -68,7 +68,7 @@
# 'errors' for marking a node as dead. These errors typically
# mean everything is fine server-wise and instead the API call
# in question responded successfully.
-NOT_DEAD_NODE_HTTP_STATUSES = {None, 400, 401, 402, 403, 404}
+NOT_DEAD_NODE_HTTP_STATUSES = {None, 400, 401, 402, 403, 404, 409}
DEFAULT_CLIENT_META_SERVICE = ("et", client_meta_version(__version__))
_logger = logging.getLogger("elastic_transport.transport")
@@ -314,7 +314,6 @@
errors: List[Exception] = []
for attempt in range(max_retries + 1):
-
# If we sniff before requests are made we want to do so before
# 'node_pool.get()' is called so our sniffed nodes show up in the pool.
if self._sniff_before_requests:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/_version.py new/elastic-transport-python-8.10.0/elastic_transport/_version.py
--- old/elastic-transport-python-8.4.0/elastic_transport/_version.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/_version.py 2023-10-30 06:12:20.000000000 +0100
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-__version__ = "8.4.0"
+__version__ = "8.10.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/elastic_transport/client_utils.py new/elastic-transport-python-8.10.0/elastic_transport/client_utils.py
--- old/elastic-transport-python-8.4.0/elastic_transport/client_utils.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/elastic_transport/client_utils.py 2023-10-30 06:12:20.000000000 +0100
@@ -136,17 +136,17 @@
def to_str(
value: Union[str, bytes], encoding: str = "utf-8", errors: str = "strict"
) -> str:
- if type(value) == bytes:
+ if isinstance(value, bytes):
return value.decode(encoding, errors)
- return value # type: ignore[return-value]
+ return value
def to_bytes(
value: Union[str, bytes], encoding: str = "utf-8", errors: str = "strict"
) -> bytes:
- if type(value) == str:
+ if isinstance(value, str):
return value.encode(encoding, errors)
- return value # type: ignore[return-value]
+ return value
# Python 3.7 added '~' to the safe list for urllib.parse.quote()
@@ -198,7 +198,7 @@
# Only fill in a default port for HTTP and HTTPS
# when we know the scheme is one of those two.
- parsed_port: Optional[int] = parsed_url.port # type: ignore[assignment]
+ parsed_port: Optional[int] = parsed_url.port
if (
parsed_url.port is None
and parsed_url.scheme is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/noxfile.py new/elastic-transport-python-8.10.0/noxfile.py
--- old/elastic-transport-python-8.4.0/noxfile.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/noxfile.py 2023-10-30 06:12:20.000000000 +0100
@@ -29,7 +29,7 @@
@nox.session()
def format(session):
- session.install("black", "isort", "pyupgrade")
+ session.install("black~=23.0", "isort", "pyupgrade")
session.run("black", "--target-version=py36", *SOURCE_FILES)
session.run("isort", *SOURCE_FILES)
session.run("python", "utils/license-headers.py", "fix", *SOURCE_FILES)
@@ -40,7 +40,16 @@
@nox.session
def lint(session):
session.install(
- "flake8", "black", "isort", "mypy", "types-requests", "types-certifi"
+ "flake8",
+ "black~=23.0",
+ "isort",
+ "mypy==1.5.1",
+ "types-requests",
+ "types-certifi",
+ )
+ # https://github.com/python/typeshed/issues/10786
+ session.run(
+ "python", "-m", "pip", "uninstall", "--yes", "types-urllib3", silent=True
)
session.install(".[develop]")
session.run("black", "--check", "--target-version=py36", *SOURCE_FILES)
@@ -50,7 +59,7 @@
session.run("mypy", "--strict", "--show-error-codes", "elastic_transport/")
-(a)nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"])
+(a)nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"])
def test(session):
session.install(".[develop]")
session.run(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/setup.py new/elastic-transport-python-8.10.0/setup.py
--- old/elastic-transport-python-8.4.0/setup.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/setup.py 2023-10-30 06:12:20.000000000 +0100
@@ -37,10 +37,8 @@
long_description=long_description,
long_description_content_type="text/markdown",
version=version,
- author="Elastic",
- author_email="support(a)elastic.co",
- maintainer="Seth Michael Larson",
- maintainer_email="seth.larson(a)elastic.co",
+ author="Elastic Client Library Maintainers",
+ author_email="client-libs(a)elastic.co",
url="https://github.com/elastic/elastic-transport-python",
project_urls={
"Source Code": "https://github.com/elastic/elastic-transport-python",
@@ -50,9 +48,10 @@
package_data={"elastic_transport": ["py.typed"]},
packages=packages,
install_requires=[
- "urllib3>=1.26.2, <2",
+ "urllib3>=1.26.2, <3",
"certifi",
"dataclasses; python_version<'3.7'",
+ "importlib-metadata; python_version<'3.8'",
],
python_requires=">=3.6",
extras_require={
@@ -66,6 +65,10 @@
"mock",
"requests",
"aiohttp",
+ # Override Read the Docs default (sphinx<2)
+ "sphinx>2",
+ "furo",
+ "sphinx-autodoc-typehints",
],
},
classifiers=[
@@ -80,6 +83,8 @@
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/tests/test_logging.py new/elastic-transport-python-8.10.0/tests/test_logging.py
--- old/elastic-transport-python-8.4.0/tests/test_logging.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/tests/test_logging.py 2023-10-30 06:12:20.000000000 +0100
@@ -72,7 +72,7 @@
"< HTTP/1.1 200 OK",
"< Access-Control-Allow-Credentials: true",
"< Access-Control-Allow-Origin: *",
- "< Connection: keep-alive",
+ "< Connection: close",
"< Content-Type: application/json",
"< {",
' "args": {}, ',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/tests/test_node_pool.py new/elastic-transport-python-8.10.0/tests/test_node_pool.py
--- old/elastic-transport-python-8.4.0/tests/test_node_pool.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/tests/test_node_pool.py 2023-10-30 06:12:20.000000000 +0100
@@ -193,6 +193,12 @@
assert pool._dead_nodes.queue == [(3.5, node)]
assert pool.get() is node
+ pool.mark_dead(node, _now=0)
+
+ pool._dead_consecutive_failures = {node.config: 13292}
+ assert pool._dead_nodes.queue == [(3.5, node)]
+
+ assert pool.get() is node
pool.mark_live(node)
assert pool._dead_consecutive_failures == {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.4.0/tests/test_response.py new/elastic-transport-python-8.10.0/tests/test_response.py
--- old/elastic-transport-python-8.4.0/tests/test_response.py 2022-08-25 16:46:42.000000000 +0200
+++ new/elastic-transport-python-8.10.0/tests/test_response.py 2023-10-30 06:12:20.000000000 +0100
@@ -15,6 +15,8 @@
# specific language governing permissions and limitations
# under the License.
+import pickle
+
import pytest
from elastic_transport import (
@@ -139,3 +141,19 @@
resp = ObjectApiResponse(meta=meta, body={}, body_cls=int)
assert resp == {}
+
+
+(a)pytest.mark.parametrize(
+ "response_cls, body",
+ [
+ (TextApiResponse, "Hello World"),
+ (BinaryApiResponse, b"Hello World"),
+ (ObjectApiResponse, {"Hello": "World"}),
+ (ListApiResponse, ["Hello", "World"]),
+ ],
+)
+def test_pickle(response_cls, body):
+ resp = response_cls(meta=meta, body=body)
+ pickled_resp = pickle.loads(pickle.dumps(resp))
+ assert pickled_resp == resp
+ assert pickled_resp.meta == resp.meta
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Cycler for openSUSE:Factory checked in at 2023-12-04 22:59:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Cycler (Old)
and /work/SRC/openSUSE:Factory/.python-Cycler.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Cycler"
Mon Dec 4 22:59:20 2023 rev:8 rq:1130487 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Cycler/python-Cycler.changes 2023-04-22 22:03:34.442333353 +0200
+++ /work/SRC/openSUSE:Factory/.python-Cycler.new.25432/python-Cycler.changes 2023-12-04 22:59:23.663007118 +0100
@@ -1,0 +2,9 @@
+Sat Dec 2 16:19:20 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.12.1:
+ * The major new feature in this release is the addition of type
+ hints.
+ * Furthermore, the minimum supported version of Python is now
+ 3.8.
+
+-------------------------------------------------------------------
Old:
----
cycler-0.11.0.tar.gz
New:
----
cycler-0.12.1-gz.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Cycler.spec ++++++
--- /var/tmp/diff_new_pack.J0xEQv/_old 2023-12-04 22:59:24.331031701 +0100
+++ /var/tmp/diff_new_pack.J0xEQv/_new 2023-12-04 22:59:24.331031701 +0100
@@ -16,18 +16,17 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
-%global skip_python2 1
%{?sle15_python_module_pythons}
Name: python-Cycler
-Version: 0.11.0
+Version: 0.12.1
Release: 0
Summary: Composable style cycles
License: BSD-3-Clause
URL: https://github.com/matplotlib/cycler
-Source: https://files.pythonhosted.org/packages/source/c/cycler/cycler-%{version}.t…
+Source: https://github.com/matplotlib/cycler/archive/refs/tags/v%{version}.tar.gz#/…
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: python-rpm-macros
BuildArch: noarch
%python_subpackages
@@ -46,10 +45,10 @@
%setup -q -n cycler-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%check
%pytest
@@ -57,5 +56,6 @@
%files %{python_files}
%doc README.rst
%license LICENSE
-%{python_sitelib}/*
+%{python_sitelib}/cycler
+%{python_sitelib}/cycler-%{version}.dist-info
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2023-12-03 21:41:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Sun Dec 3 21:41:24 2023 rev:2623 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.icjuVD/_old 2023-12-03 21:41:27.961816763 +0100
+++ /var/tmp/diff_new_pack.icjuVD/_new 2023-12-03 21:41:27.961816763 +0100
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20231202
+Version: 20231203
Release: 0
Summary: openSUSE Aeon
License: GPL-2.0-or-later
@@ -172,9 +172,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Aeon
-Provides: product(Aeon) = 20231202-0
+Provides: product(Aeon) = 20231203-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231202
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231203
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Aeon)
@@ -190,7 +190,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Aeon) = 20231202-0
+Provides: product_flavor(Aeon) = 20231203-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -255,11 +255,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20231202</version>
+ <version>20231203</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20231202</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20231203</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.icjuVD/_old 2023-12-03 21:41:27.993817938 +0100
+++ /var/tmp/diff_new_pack.icjuVD/_new 2023-12-03 21:41:27.997818085 +0100
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20231202
+Version: 20231203
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -177,9 +177,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = MicroOS
-Provides: product(MicroOS) = 20231202-0
+Provides: product(MicroOS) = 20231203-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231202
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231203
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(MicroOS)
@@ -195,7 +195,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(MicroOS) = 20231202-0
+Provides: product_flavor(MicroOS) = 20231203-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description dvd
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(MicroOS) = 20231202-0
+Provides: product_flavor(MicroOS) = 20231203-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -276,11 +276,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20231202</version>
+ <version>20231203</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20231202</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20231203</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.icjuVD/_old 2023-12-03 21:41:28.041819701 +0100
+++ /var/tmp/diff_new_pack.icjuVD/_new 2023-12-03 21:41:28.041819701 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20231202)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20231203)
#
# Copyright (c) 2023 openSUSE.
#
@@ -16,7 +16,7 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon%{?betaversion: %{betaversion}}
-Version: 20231202
+Version: 20231203
#!BcntSyncTag: openSUSE-Addon-NonOss
Release: 0
License: BSD-3-Clause
@@ -25,9 +25,9 @@
Provides: %name-%version
Provides: product() = openSUSE%2DAddon%2DNonOss
-Provides: product(openSUSE-Addon-NonOss) = 20231202-0
+Provides: product(openSUSE-Addon-NonOss) = 20231203-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231202
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231203
AutoReqProv: on
@@ -50,10 +50,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231202</version>
+ <version>20231203</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231202</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231203</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.icjuVD/_old 2023-12-03 21:41:28.065820583 +0100
+++ /var/tmp/diff_new_pack.icjuVD/_new 2023-12-03 21:41:28.069820729 +0100
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20231202
+Version: 20231203
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -181,7 +181,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20231202-0
+Provides: product(openSUSE) = 20231203-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -195,7 +195,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231202
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231203
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -209,7 +209,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -224,7 +224,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -239,7 +239,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -254,7 +254,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -269,7 +269,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -284,7 +284,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -299,7 +299,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -314,7 +314,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -329,7 +329,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -344,7 +344,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -359,7 +359,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -374,7 +374,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -389,7 +389,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -404,7 +404,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -419,7 +419,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -434,7 +434,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -449,7 +449,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -464,7 +464,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -479,7 +479,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20231202-0
+Provides: product_flavor(openSUSE) = 20231203-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -559,10 +559,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231202</version>
+ <version>20231203</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20231202</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20231203</cpeid>
<productline>openSUSE</productline>
<register>
<target>openSUSE-Tumbleweed-x86_64</target>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2023-12-03 21:04:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sun Dec 3 21:04:23 2023 rev:2388 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_3825.2.packages.zst
factory_20231202.packages.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libcfile for openSUSE:Factory checked in at 2023-12-03 20:50:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcfile (Old)
and /work/SRC/openSUSE:Factory/.libcfile.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcfile"
Sun Dec 3 20:50:05 2023 rev:16 rq:1130601 version:20220106
Changes:
--------
--- /work/SRC/openSUSE:Factory/libcfile/libcfile.changes 2022-11-28 11:06:06.459473987 +0100
+++ /work/SRC/openSUSE:Factory/.libcfile.new.25432/libcfile.changes 2023-12-03 20:50:23.781265057 +0100
@@ -1,0 +2,5 @@
+Sun Dec 3 12:33:02 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Add signature and keyring
+
+-------------------------------------------------------------------
New:
----
libcfile-alpha-20220106.tar.gz.asc
libcfile.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcfile.spec ++++++
--- /var/tmp/diff_new_pack.ZfhYwM/_old 2023-12-03 20:50:24.377286952 +0100
+++ /var/tmp/diff_new_pack.ZfhYwM/_new 2023-12-03 20:50:24.377286952 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libcfile
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,6 +25,8 @@
Group: Development/Libraries/C and C++
URL: https://github.com/libyal/libcfile
Source: https://github.com/libyal/libcfile/releases/download/%version/%name-alpha-%…
+Source2: https://github.com/libyal/libcfile/releases/download/%version/%name-alpha-%…
+Source3: %name.keyring
BuildRequires: c_compiler
BuildRequires: pkg-config
BuildRequires: pkgconfig(libcerror) >= 20220101
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dsda-doom for openSUSE:Factory checked in at 2023-12-03 20:50:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dsda-doom (Old)
and /work/SRC/openSUSE:Factory/.dsda-doom.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dsda-doom"
Sun Dec 3 20:50:03 2023 rev:4 rq:1130600 version:0.27.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/dsda-doom/dsda-doom.changes 2023-11-19 20:17:04.957283222 +0100
+++ /work/SRC/openSUSE:Factory/.dsda-doom.new.25432/dsda-doom.changes 2023-12-03 20:50:22.621222446 +0100
@@ -1,0 +2,7 @@
+Sun Dec 3 16:22:11 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 0.27.5
+ * DSDAHUD lumps are "merged" now so only redefined huds are changed
+ * Fixed umapinfo bunny scroller crash
+
+-------------------------------------------------------------------
Old:
----
v0.27.4.tar.gz
New:
----
v0.27.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dsda-doom.spec ++++++
--- /var/tmp/diff_new_pack.hRkxyG/_old 2023-12-03 20:50:23.585257858 +0100
+++ /var/tmp/diff_new_pack.hRkxyG/_new 2023-12-03 20:50:23.589258005 +0100
@@ -17,7 +17,7 @@
Name: dsda-doom
-Version: 0.27.4
+Version: 0.27.5
Release: 0
Summary: DOOM source port with Hexen support and demo compatibility
License: GPL-2.0-or-later
++++++ v0.27.4.tar.gz -> v0.27.5.tar.gz ++++++
/work/SRC/openSUSE:Factory/dsda-doom/v0.27.4.tar.gz /work/SRC/openSUSE:Factory/.dsda-doom.new.25432/v0.27.5.tar.gz differ: char 30, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gpsbabel for openSUSE:Factory checked in at 2023-12-03 20:50:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpsbabel (Old)
and /work/SRC/openSUSE:Factory/.gpsbabel.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpsbabel"
Sun Dec 3 20:50:01 2023 rev:37 rq:1130604 version:1.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gpsbabel/gpsbabel.changes 2022-05-25 20:35:40.364320621 +0200
+++ /work/SRC/openSUSE:Factory/.gpsbabel.new.25432/gpsbabel.changes 2023-12-03 20:50:21.565183655 +0100
@@ -1,0 +2,10 @@
+Sun Dec 3 01:56:28 UTC 2023 - Simon Vogl <simon.vogl(a)gmx.net>
+
+- Update to 1.9.0
+ * no changelog available
+- Add new upstream dependencies
+ * cmake
+ * libqt5-qttranslations
+- Change build system from QMake to CMake
+
+-------------------------------------------------------------------
Old:
----
gpsbabel-1.8.0.pdf
gpsbabel_1_8_0.tar.gz
New:
----
gpsbabel-1.9.0.pdf
gpsbabel_1_9_0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpsbabel.spec ++++++
--- /var/tmp/diff_new_pack.ztclep/_old 2023-12-03 20:50:22.401214365 +0100
+++ /var/tmp/diff_new_pack.ztclep/_new 2023-12-03 20:50:22.405214512 +0100
@@ -1,7 +1,7 @@
#
# spec file for package gpsbabel
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,19 +18,21 @@
%global translationdir %{_datadir}/qt5/translations
Name: gpsbabel
-Version: 1.8.0
+Version: 1.9.0
Release: 0
Summary: Converts GPS waypoint, route and track data from one format type to another
License: GPL-2.0-or-later
Group: Hardware/Other
URL: http://www.gpsbabel.org/
-Source: https://github.com/GPSBabel/gpsbabel/archive/refs/tags/%{name}_1_8_0.tar.gz
+Source: https://github.com/GPSBabel/gpsbabel/archive/refs/tags/%{name}_1_9_0.tar.gz
Source1: http://www.gpsbabel.org/htmldoc-%{version}/%{name}-%{version}.pdf
Source2: %{name}.png
Source21: style3.css
# No automatic phone home by default (RHBZ 668865)
Patch4: 0004-gpsbabel-1.4.3-nosolicitation.patch
+BuildRequires: cmake
BuildRequires: libqt5-qtbase-devel
+BuildRequires: libqt5-qttranslations
BuildRequires: libusb-1_0-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
@@ -74,7 +76,7 @@
Qt GUI interface for GPSBabel
%prep
-%autosetup -p1 -n gpsbabel-gpsbabel_1_8_0
+%autosetup -p1 -n gpsbabel-gpsbabel_1_9_0
# Use system shapelib instead of bundled partial shapelib
rm -rf shapelib
@@ -89,38 +91,33 @@
gui/gpsbabel.desktop
%build
-%qmake5 PREFIX=%{_prefix} WITH_LIBUSB=system WITH_SHAPELIB=pkgconfig WITH_ZLIB=pkgconfig
-make %{?_smp_mflags}
-cp %{SOURCE1} %{name}.pdf
-
-pushd gui
-CFLAGS="%{optflags}" \
-%qmake5 PREFIX=%{_prefix}
-lrelease-qt5 *.ts
-make %{?_smp_mflags}
-popd
+%cmake \
+ -DGPSBABEL_WITH_LIBUSB=system \
+ -DGPSBABEL_WITH_ZLIB=pkgconfig \
+ -DGPSBABEL_WITH_SHAPELIB=pkgconfig
+%cmake_build
+cp %{SOURCE1} ../%{name}.pdf
%install
-make %{?_smp_mflags} DESTDIR=%{buildroot} install
+pushd build
-make -C gui DESTDIR=%{buildroot} install
+make %{?_smp_mflags} DESTDIR=%{buildroot} preinstall
+make -C gui DESTDIR=%{buildroot} preinstall
install -m 0755 -d %{buildroot}/%{_bindir}
install -m 0755 -p gpsbabel %{buildroot}/%{_bindir}
-install -m 0755 -p gui/objects/gpsbabelfe %{buildroot}/%{_bindir}
+install -m 0755 -p gui/GPSBabelFE/gpsbabelfe %{buildroot}/%{_bindir}
install -m 0755 -d %{buildroot}/%{_datadir}/%{name}
-install -m 0644 -p gui/gmapbase.html %{buildroot}/%{_datadir}/%{name}/
+install -m 0644 -p ../gui/gmapbase.html %{buildroot}/%{_datadir}/%{name}/
install -m 0755 -d %{buildroot}/%{translationdir}
-install -m 0644 -p gui/gpsbabelfe_*.qm %{buildroot}/%{translationdir}/
-install -m 0644 -p gui/coretool/gpsbabel_*.qm %{buildroot}/%{translationdir}/
install -m 0755 -d %{buildroot}/%{_datadir}/applications
-install -m 0644 gui/gpsbabel.desktop %{buildroot}/%{_datadir}/applications
+install -m 0644 ../gui/gpsbabel.desktop %{buildroot}/%{_datadir}/applications
install -m 0755 -d %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/
install -m 0644 -p %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/
-%find_lang %{name} --with-qt --all-name
+popd
%post gui
%icon_theme_cache_post
@@ -139,8 +136,6 @@
%{_datadir}/applications/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*
-%dir %{translationdir}/
-%{translationdir}/*
%dir %{_datadir}/icons/hicolor/256x256/
%dir %{_datadir}/icons/hicolor/256x256/apps/
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
++++++ gpsbabel-1.8.0.pdf -> gpsbabel-1.9.0.pdf ++++++
(binary differes)
++++++ gpsbabel_1_8_0.tar.gz -> gpsbabel_1_9_0.tar.gz ++++++
/work/SRC/openSUSE:Factory/gpsbabel/gpsbabel_1_8_0.tar.gz /work/SRC/openSUSE:Factory/.gpsbabel.new.25432/gpsbabel_1_9_0.tar.gz differ: char 16, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libregf for openSUSE:Factory checked in at 2023-12-03 20:49:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libregf (Old)
and /work/SRC/openSUSE:Factory/.libregf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libregf"
Sun Dec 3 20:49:56 2023 rev:34 rq:1130583 version:20231203
Changes:
--------
--- /work/SRC/openSUSE:Factory/libregf/libregf.changes 2023-11-06 21:13:59.178619687 +0100
+++ /work/SRC/openSUSE:Factory/.libregf.new.25432/libregf.changes 2023-12-03 20:50:18.785081534 +0100
@@ -1,0 +2,6 @@
+Sun Dec 3 12:28:45 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231203
+ * Build system changes only
+
+-------------------------------------------------------------------
Old:
----
libregf-alpha-20231029.tar.gz
New:
----
libregf-alpha-20231203.tar.gz
libregf-alpha-20231203.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libregf.spec ++++++
--- /var/tmp/diff_new_pack.7ESEHT/_old 2023-12-03 20:50:19.457106219 +0100
+++ /var/tmp/diff_new_pack.7ESEHT/_new 2023-12-03 20:50:19.457106219 +0100
@@ -20,14 +20,14 @@
%define lname libregf1
Name: libregf
-Version: 20231029
+Version: 20231203
Release: 0
Summary: Library to access Windows REGF-type Registry files
License: GFDL-1.3-or-later AND LGPL-3.0-or-later
Group: Productivity/File utilities
URL: https://github.com/libyal/libregf
Source: https://github.com/libyal/libregf/releases/download/%version/libregf-alpha-…
-#Source2: https://github.com/libyal/libregf/releases/download/%version/libregf-alpha-…
+Source2: https://github.com/libyal/libregf/releases/download/%version/libregf-alpha-…
Source3: %name.keyring
Source11: Windows_NT_Registry_File_REGF_format.pdf
BuildRequires: %{python_module devel}
@@ -48,8 +48,8 @@
BuildRequires: pkgconfig(libfdata) >= 20230319
BuildRequires: pkgconfig(libfdatetime) >= 20220112
BuildRequires: pkgconfig(libfguid) >= 20220113
-BuildRequires: pkgconfig(libfwnt) >= 20220922
-BuildRequires: pkgconfig(libfwsi) >= 20230710
+BuildRequires: pkgconfig(libfwnt) >= 20231124
+BuildRequires: pkgconfig(libfwsi) >= 20231130
BuildRequires: pkgconfig(libuna) >= 20230710
%python_subpackages
# Various notes: https://en.opensuse.org/libyal
++++++ libregf-alpha-20231029.tar.gz -> libregf-alpha-20231203.tar.gz ++++++
++++ 6671 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/Makefile.am new/libregf-20231203/Makefile.am
--- old/libregf-20231029/Makefile.am 2023-10-29 08:58:38.000000000 +0100
+++ new/libregf-20231203/Makefile.am 2023-12-03 10:13:33.000000000 +0100
@@ -20,8 +20,6 @@
libregf \
regftools \
pyregf \
- pyregf-python2 \
- pyregf-python3 \
po \
manuals \
tests \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/common/config.h new/libregf-20231203/common/config.h
--- old/libregf-20231029/common/config.h 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/common/config.h 2023-12-03 10:32:02.000000000 +0100
@@ -548,7 +548,7 @@
#define PACKAGE_NAME "libregf"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libregf 20231029"
+#define PACKAGE_STRING "libregf 20231203"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libregf"
@@ -557,7 +557,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "20231029"
+#define PACKAGE_VERSION "20231203"
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
@@ -586,7 +586,7 @@
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
-#define VERSION "20231029"
+#define VERSION "20231203"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/configure.ac new/libregf-20231203/configure.ac
--- old/libregf-20231029/configure.ac 2023-10-29 08:51:50.000000000 +0100
+++ new/libregf-20231203/configure.ac 2023-12-03 10:13:33.000000000 +0100
@@ -2,7 +2,7 @@
AC_INIT(
[libregf],
- [20231029],
+ [20231203],
[joachim.metz(a)gmail.com])
AC_CONFIG_SRCDIR(
@@ -116,7 +116,7 @@
AX_PYTHON_CHECK_ENABLE
AS_IF(
- [test "x${ac_cv_enable_python}" != xno || test "x${ac_cv_enable_python2}" != xno || test "x${ac_cv_enable_python3}" != xno],
+ [test "x${ac_cv_enable_python}" != xno],
[dnl Headers included in pyregf/pyregf_error.c
AC_CHECK_HEADERS([stdarg.h varargs.h])
@@ -189,8 +189,6 @@
AC_CONFIG_FILES([libfwnt/Makefile])
AC_CONFIG_FILES([libregf/Makefile])
AC_CONFIG_FILES([pyregf/Makefile])
-AC_CONFIG_FILES([pyregf-python2/Makefile])
-AC_CONFIG_FILES([pyregf-python3/Makefile])
AC_CONFIG_FILES([regftools/Makefile])
AC_CONFIG_FILES([po/Makefile.in])
AC_CONFIG_FILES([po/Makevars])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/dpkg/changelog new/libregf-20231203/dpkg/changelog
--- old/libregf-20231029/dpkg/changelog 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/dpkg/changelog 2023-12-03 10:32:02.000000000 +0100
@@ -1,5 +1,5 @@
-libregf (20231029-1) unstable; urgency=low
+libregf (20231203-1) unstable; urgency=low
* Auto-generated
- -- Joachim Metz <joachim.metz(a)gmail.com> Sun, 29 Oct 2023 09:48:23 +0100
+ -- Joachim Metz <joachim.metz(a)gmail.com> Sun, 03 Dec 2023 10:32:01 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/dpkg/rules new/libregf-20231203/dpkg/rules
--- old/libregf-20231029/dpkg/rules 2023-10-29 08:51:50.000000000 +0100
+++ new/libregf-20231203/dpkg/rules 2023-12-03 10:13:37.000000000 +0100
@@ -11,7 +11,7 @@
.PHONY: override_dh_auto_configure
override_dh_auto_configure:
- dh_auto_configure -- --enable-python3 CFLAGS="-g"
+ dh_auto_configure -- --enable-python CFLAGS="-g"
.PHONY: override_dh_install
override_dh_install:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/include/libregf/definitions.h new/libregf-20231203/include/libregf/definitions.h
--- old/libregf-20231029/include/libregf/definitions.h 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/include/libregf/definitions.h 2023-12-03 10:32:02.000000000 +0100
@@ -24,11 +24,11 @@
#include <libregf/types.h>
-#define LIBREGF_VERSION 20231029
+#define LIBREGF_VERSION 20231203
/* The libregf version string
*/
-#define LIBREGF_VERSION_STRING "20231029"
+#define LIBREGF_VERSION_STRING "20231203"
/* The libregf file access
* bit 1 set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/Makefile.am new/libregf-20231203/libfwnt/Makefile.am
--- old/libregf-20231029/libfwnt/Makefile.am 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/Makefile.am 2023-12-03 10:31:37.000000000 +0100
@@ -38,9 +38,11 @@
Makefile.in
distclean: clean
- /bin/rm -f Makefile
+ -rm -f Makefile
-splint:
+sources-local: $(BUILT_SOURCES)
+
+splint-local:
@echo "Running splint on libfwnt ..."
-splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(libfwnt_la_SOURCES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_access_control_entry.c new/libregf-20231203/libfwnt/libfwnt_access_control_entry.c
--- old/libregf-20231029/libfwnt/libfwnt_access_control_entry.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_access_control_entry.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Access Control Entry (ACE) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_access_control_entry.h new/libregf-20231203/libfwnt/libfwnt_access_control_entry.h
--- old/libregf-20231029/libfwnt/libfwnt_access_control_entry.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_access_control_entry.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Access Contol Entry (ACE) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_access_control_list.c new/libregf-20231203/libfwnt/libfwnt_access_control_list.c
--- old/libregf-20231029/libfwnt/libfwnt_access_control_list.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_access_control_list.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Access Control List (ACL) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_access_control_list.h new/libregf-20231203/libfwnt/libfwnt_access_control_list.h
--- old/libregf-20231029/libfwnt/libfwnt_access_control_list.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_access_control_list.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Access Contol List (ACL) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_bit_stream.c new/libregf-20231203/libfwnt/libfwnt_bit_stream.c
--- old/libregf-20231029/libfwnt/libfwnt_bit_stream.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_bit_stream.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Bit-stream functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_bit_stream.h new/libregf-20231203/libfwnt/libfwnt_bit_stream.h
--- old/libregf-20231029/libfwnt/libfwnt_bit_stream.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_bit_stream.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Bit-stream functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_debug.c new/libregf-20231203/libfwnt/libfwnt_debug.c
--- old/libregf-20231029/libfwnt/libfwnt_debug.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_debug.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Debug functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_debug.h new/libregf-20231203/libfwnt/libfwnt_debug.h
--- old/libregf-20231029/libfwnt/libfwnt_debug.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_debug.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Debug functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_definitions.h new/libregf-20231203/libfwnt/libfwnt_definitions.h
--- old/libregf-20231029/libfwnt/libfwnt_definitions.h 2023-10-29 09:47:56.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_definitions.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* The internal definitions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
@@ -36,11 +36,11 @@
#else
#include <byte_stream.h>
-#define LIBFWNT_VERSION 20220922
+#define LIBFWNT_VERSION 20231124
/* The version string
*/
-#define LIBFWNT_VERSION_STRING "20220922"
+#define LIBFWNT_VERSION_STRING "20231124"
/* The endian definitions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_error.c new/libregf-20231203/libfwnt/libfwnt_error.c
--- old/libregf-20231029/libfwnt/libfwnt_error.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_error.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Error functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_error.h new/libregf-20231203/libfwnt/libfwnt_error.h
--- old/libregf-20231029/libfwnt/libfwnt_error.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_error.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Error functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_extern.h new/libregf-20231203/libfwnt/libfwnt_extern.h
--- old/libregf-20231029/libfwnt/libfwnt_extern.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_extern.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* The internal extern definition
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_huffman_tree.c new/libregf-20231203/libfwnt/libfwnt_huffman_tree.c
--- old/libregf-20231029/libfwnt/libfwnt_huffman_tree.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_huffman_tree.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Huffman tree functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_huffman_tree.h new/libregf-20231203/libfwnt/libfwnt_huffman_tree.h
--- old/libregf-20231029/libfwnt/libfwnt_huffman_tree.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_huffman_tree.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Huffman tree functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_libcdata.h new/libregf-20231203/libfwnt/libfwnt_libcdata.h
--- old/libregf-20231029/libfwnt/libfwnt_libcdata.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_libcdata.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* The libcdata header wrapper
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_libcerror.h new/libregf-20231203/libfwnt/libfwnt_libcerror.h
--- old/libregf-20231029/libfwnt/libfwnt_libcerror.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_libcerror.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* The libcerror header wrapper
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_libcnotify.h new/libregf-20231203/libfwnt/libfwnt_libcnotify.h
--- old/libregf-20231029/libfwnt/libfwnt_libcnotify.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_libcnotify.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* The libcnotify header wrapper
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_locale_identifier.c new/libregf-20231203/libfwnt/libfwnt_locale_identifier.c
--- old/libregf-20231029/libfwnt/libfwnt_locale_identifier.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_locale_identifier.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Locale identifier (LCID) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_locale_identifier.h new/libregf-20231203/libfwnt/libfwnt_locale_identifier.h
--- old/libregf-20231029/libfwnt/libfwnt_locale_identifier.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_locale_identifier.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Locale identifier (LCID) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_lznt1.c new/libregf-20231203/libfwnt/libfwnt_lznt1.c
--- old/libregf-20231029/libfwnt/libfwnt_lznt1.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_lznt1.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* LZNT1 (de)compression functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_lznt1.h new/libregf-20231203/libfwnt/libfwnt_lznt1.h
--- old/libregf-20231029/libfwnt/libfwnt_lznt1.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_lznt1.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* LZNT1 (de)compression functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_lzx.c new/libregf-20231203/libfwnt/libfwnt_lzx.c
--- old/libregf-20231029/libfwnt/libfwnt_lzx.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_lzx.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* LZX (un)compression functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_lzx.h new/libregf-20231203/libfwnt/libfwnt_lzx.h
--- old/libregf-20231029/libfwnt/libfwnt_lzx.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_lzx.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* LZX (un)compression functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_lzxpress.c new/libregf-20231203/libfwnt/libfwnt_lzxpress.c
--- old/libregf-20231029/libfwnt/libfwnt_lzxpress.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_lzxpress.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* LZXPRESS (de)compression functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_lzxpress.h new/libregf-20231203/libfwnt/libfwnt_lzxpress.h
--- old/libregf-20231029/libfwnt/libfwnt_lzxpress.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_lzxpress.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* LZXPRESS (de)compression functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_notify.c new/libregf-20231203/libfwnt/libfwnt_notify.c
--- old/libregf-20231029/libfwnt/libfwnt_notify.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_notify.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Notification functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_notify.h new/libregf-20231203/libfwnt/libfwnt_notify.h
--- old/libregf-20231029/libfwnt/libfwnt_notify.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_notify.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Notification functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_security_descriptor.c new/libregf-20231203/libfwnt/libfwnt_security_descriptor.c
--- old/libregf-20231029/libfwnt/libfwnt_security_descriptor.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_security_descriptor.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Security Descriptor functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_security_descriptor.h new/libregf-20231203/libfwnt/libfwnt_security_descriptor.h
--- old/libregf-20231029/libfwnt/libfwnt_security_descriptor.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_security_descriptor.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Security Descriptor functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_security_identifier.c new/libregf-20231203/libfwnt/libfwnt_security_identifier.c
--- old/libregf-20231029/libfwnt/libfwnt_security_identifier.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_security_identifier.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Security Identifier (SID) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_security_identifier.h new/libregf-20231203/libfwnt/libfwnt_security_identifier.h
--- old/libregf-20231029/libfwnt/libfwnt_security_identifier.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_security_identifier.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Windows NT Security Identifier (SID) functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_support.c new/libregf-20231203/libfwnt/libfwnt_support.c
--- old/libregf-20231029/libfwnt/libfwnt_support.c 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_support.c 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Support functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_support.h new/libregf-20231203/libfwnt/libfwnt_support.h
--- old/libregf-20231029/libfwnt/libfwnt_support.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_support.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Support functions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_types.h new/libregf-20231203/libfwnt/libfwnt_types.h
--- old/libregf-20231029/libfwnt/libfwnt_types.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_types.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* The internal type definitions
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libfwnt/libfwnt_unused.h new/libregf-20231203/libfwnt/libfwnt_unused.h
--- old/libregf-20231029/libfwnt/libfwnt_unused.h 2023-10-29 09:47:55.000000000 +0100
+++ new/libregf-20231203/libfwnt/libfwnt_unused.h 2023-12-03 10:31:37.000000000 +0100
@@ -1,7 +1,7 @@
/*
* Definitions to silence compiler warnings about unused function attributes/parameters.
*
- * Copyright (C) 2009-2022, Joachim Metz <joachim.metz(a)gmail.com>
+ * Copyright (C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libregf/libregf.rc new/libregf-20231203/libregf/libregf.rc
--- old/libregf-20231029/libregf/libregf.rc 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/libregf/libregf.rc 2023-12-03 10:32:02.000000000 +0100
@@ -22,12 +22,12 @@
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "Library to access the Windows NT Registry File (REGF) format\0"
- VALUE "FileVersion", "20231029" "\0"
+ VALUE "FileVersion", "20231203" "\0"
VALUE "InternalName", "libregf.dll\0"
VALUE "LegalCopyright", "(C) 2009-2023, Joachim Metz <joachim.metz(a)gmail.com>\0"
VALUE "OriginalFilename", "libregf.dll\0"
VALUE "ProductName", "libregf\0"
- VALUE "ProductVersion", "20231029" "\0"
+ VALUE "ProductVersion", "20231203" "\0"
VALUE "Comments", "For more information visit https://github.com/libyal/libregf/\0"
END
END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libregf/libregf_definitions.h new/libregf-20231203/libregf/libregf_definitions.h
--- old/libregf-20231029/libregf/libregf_definitions.h 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/libregf/libregf_definitions.h 2023-12-03 10:32:02.000000000 +0100
@@ -37,11 +37,11 @@
* for local use of libregf
*/
#else
-#define LIBREGF_VERSION 20231029
+#define LIBREGF_VERSION 20231203
/* The libregf version string
*/
-#define LIBREGF_VERSION_STRING "20231029"
+#define LIBREGF_VERSION_STRING "20231203"
/* The libregf file access
* bit 1 set to 1 for read access
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libregf.spec new/libregf-20231203/libregf.spec
--- old/libregf-20231029/libregf.spec 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/libregf.spec 2023-12-03 10:32:02.000000000 +0100
@@ -1,5 +1,5 @@
Name: libregf
-Version: 20231029
+Version: 20231203
Release: 1
Summary: Library to access the Windows NT Registry File (REGF) format
Group: System Environment/Libraries
@@ -32,7 +32,7 @@
Summary: Python 3 bindings for libregf
Group: System Environment/Libraries
Requires: libregf = %{version}-%{release} python3
-BuildRequires: python3-devel
+BuildRequires: python3-devel python3-setuptools
%description -n libregf-python3
Python 3 bindings for libregf
@@ -50,7 +50,7 @@
%setup -q
%build
-%configure --prefix=/usr --libdir=%{_libdir} --mandir=%{_mandir} --enable-python3
+%configure --prefix=/usr --libdir=%{_libdir} --mandir=%{_mandir} --enable-python
make %{?_smp_mflags}
%install
@@ -95,6 +95,6 @@
%{_mandir}/man1/*
%changelog
-* Sun Oct 29 2023 Joachim Metz <joachim.metz(a)gmail.com> 20231029-1
+* Sun Dec 3 2023 Joachim Metz <joachim.metz(a)gmail.com> 20231203-1
- Auto-generated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/libregf.spec.in new/libregf-20231203/libregf.spec.in
--- old/libregf-20231029/libregf.spec.in 2023-10-29 08:51:50.000000000 +0100
+++ new/libregf-20231203/libregf.spec.in 2023-12-03 10:13:33.000000000 +0100
@@ -32,7 +32,7 @@
Summary: Python 3 bindings for libregf
Group: System Environment/Libraries
Requires: libregf = %{version}-%{release} python3
-BuildRequires: python3-devel
+BuildRequires: python3-devel python3-setuptools
%description -n libregf-python3
Python 3 bindings for libregf
@@ -50,7 +50,7 @@
%setup -q
%build
-%configure --prefix=/usr --libdir=%{_libdir} --mandir=%{_mandir} --enable-python3
+%configure --prefix=/usr --libdir=%{_libdir} --mandir=%{_mandir} --enable-python
make %{?_smp_mflags}
%install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/m4/python.m4 new/libregf-20231203/m4/python.m4
--- old/libregf-20231029/m4/python.m4 2023-09-23 15:19:20.000000000 +0200
+++ new/libregf-20231203/m4/python.m4 2023-12-03 10:13:36.000000000 +0100
@@ -1,6 +1,6 @@
dnl Functions for Python bindings
dnl
-dnl Version: 20230923
+dnl Version: 20231119
dnl Function to check if the python binary is available
dnl "python${PYTHON_VERSION} python python# python#.#"
@@ -28,60 +28,6 @@
[$PYTHON])
])
-dnl Function to check if the python2 binary is available
-dnl "python2 python2.#"
-AC_DEFUN([AX_PROG_PYTHON2],
- [ax_python2_progs="python2 python2.7 python2.6 python2.5"
- AC_CHECK_PROGS(
- [PYTHON2],
- [$ax_python2_progs])
- AS_IF(
- [test "x${PYTHON2}" != x],
- [ax_prog_python2_version=`${PYTHON2} -c "import sys; sys.stdout.write('%d.%d' % (sys.version_info[[0]], sys.version_info[[1]]))" 2>/dev/null`;
- AC_SUBST(
- [PYTHON2_VERSION],
- [$ax_prog_python2_version])
-
- ax_prog_python2_platform=`${PYTHON2} -c "import sys; sys.stdout.write(sys.platform)" 2>/dev/null`;
- AC_SUBST(
- [PYTHON2_PLATFORM],
- [$ax_prog_python2_platform])
- ],
- [AC_MSG_ERROR(
- [Unable to find python2])
- ])
- AC_SUBST(
- [PYTHON2],
- [$PYTHON2])
- ])
-
-dnl Function to check if the python3 binary is available
-dnl "python3 python3.#"
-AC_DEFUN([AX_PROG_PYTHON3],
- [ax_python3_progs="python3 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0"
- AC_CHECK_PROGS(
- [PYTHON3],
- [$ax_python3_progs])
- AS_IF(
- [test "x${PYTHON3}" != x],
- [ax_prog_python3_version=`${PYTHON3} -c "import sys; sys.stdout.write('%d.%d' % (sys.version_info[[0]], sys.version_info[[1]]))" 2>/dev/null`;
- AC_SUBST(
- [PYTHON3_VERSION],
- [$ax_prog_python3_version])
-
- ax_prog_python3_platform=`${PYTHON3} -c "import sys; sys.stdout.write(sys.platform)" 2>/dev/null`;
- AC_SUBST(
- [PYTHON3_PLATFORM],
- [$ax_prog_python3_platform])
- ],
- [AC_MSG_ERROR(
- [Unable to find python3])
- ])
- AC_SUBST(
- [PYTHON3],
- [$PYTHON3])
- ])
-
dnl Function to check if the python-config binary is available
dnl "python${PYTHON_VERSION}-config python-config"
AC_DEFUN([AX_PROG_PYTHON_CONFIG],
@@ -107,42 +53,6 @@
[$PYTHON_CONFIG])
])
-dnl Function to check if the python2-config binary is available
-AC_DEFUN([AX_PROG_PYTHON2_CONFIG],
- [AS_IF(
- [test "x${PYTHON2_CONFIG}" = x],
- [AC_CHECK_PROGS(
- [PYTHON2_CONFIG],
- [python2-config python2.7-config python2.6-config python2.5-config])
- ])
- AS_IF(
- [test "x${PYTHON2_CONFIG}" = x],
- [AC_MSG_ERROR(
- [Unable to find python2-config])
- ])
- AC_SUBST(
- [PYTHON2_CONFIG],
- [$PYTHON2_CONFIG])
- ])
-
-dnl Function to check if the python3-config binary is available
-AC_DEFUN([AX_PROG_PYTHON3_CONFIG],
- [AS_IF(
- [test "x${PYTHON3_CONFIG}" = x],
- [AC_CHECK_PROGS(
- [PYTHON3_CONFIG],
- [python3-config python3.12-config python3.11-config python3.10-config python3.9-config python3.8-config python3.7-config python3.6-config python3.5-config python3.4-config python3.3-config python3.2-config python3.1-config python3.0-config])
- ])
- AS_IF(
- [test "x${PYTHON3_CONFIG}" = x],
- [AC_MSG_ERROR(
- [Unable to find python3-config])
- ])
- AC_SUBST(
- [PYTHON3_CONFIG],
- [$PYTHON3_CONFIG])
- ])
-
dnl Function to detect if a Python build environment is available
AC_DEFUN([AX_PYTHON_CHECK],
[AX_PROG_PYTHON
@@ -254,228 +164,6 @@
])
])
-dnl Function to detect if a Python 2 build environment is available
-AC_DEFUN([AX_PYTHON2_CHECK],
- [AX_PROG_PYTHON2
- AX_PROG_PYTHON2_CONFIG
-
- AS_IF(
- [test "x${PYTHON2_CONFIG}" != x],
- [dnl Check for Python 2 includes
- PYTHON2_INCLUDES=`${PYTHON2_CONFIG} --includes 2>/dev/null`;
-
- AC_MSG_CHECKING(
- [for Python verison 2 includes])
- AC_MSG_RESULT(
- [$PYTHON2_INCLUDES])
-
- dnl Check for Python 2 libraries
- PYTHON2_LDFLAGS=`${PYTHON2_CONFIG} --ldflags 2>/dev/null`;
-
- AC_MSG_CHECKING(
- [for Python 2 libraries])
- AC_MSG_RESULT(
- [$PYTHON2_LDFLAGS])
-
- dnl For CygWin add the -no-undefined linker flag
- AS_CASE(
- [$host_os],
- [cygwin*],[PYTHON2_LDFLAGS="${PYTHON2_LDFLAGS} -no-undefined"],
- [*],[])
-
- dnl Check for the existence of Python.h
- BACKUP_CPPFLAGS="${CPPFLAGS}"
- CPPFLAGS="${CPPFLAGS} ${PYTHON2_INCLUDES}"
-
- AC_CHECK_HEADERS(
- [Python.h],
- [ac_cv_header_python2_h=yes],
- [ac_cv_header_python2_h=no])
-
- CPPFLAGS="${BACKUP_CPPFLAGS}"
- ])
-
- AS_IF(
- [test "x${ac_cv_header_python2_h}" != xyes],
- [ac_cv_enable_python2=no],
- [ac_cv_enable_python2=$PYTHON2_VERSION
- AC_SUBST(
- [PYTHON2_CPPFLAGS],
- [$PYTHON2_INCLUDES])
-
- AC_SUBST(
- [PYTHON2_LDFLAGS],
- [$PYTHON2_LDFLAGS])
-
- dnl Check for Python prefix
- AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python2_prefix="\${prefix}"],
- [ax_python2_prefix=`${PYTHON2_CONFIG} --prefix 2>/dev/null`])
-
- AC_SUBST(
- [PYTHON2_PREFIX],
- [$ax_python2_prefix])
-
- dnl Check for Python exec-prefix
- AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python2_exec_prefix="\${exec_prefix}"],
- [ax_python2_exec_prefix=`${PYTHON2_CONFIG} --exec-prefix 2>/dev/null`])
-
- AC_SUBST(
- [PYTHON2_EXEC_PREFIX],
- [$ax_python2_exec_prefix])
-
- dnl Check for Python 2 library directory
- ax_python2_pythondir_suffix=`${PYTHON2} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib(0, 0, prefix=''))" 2>/dev/null`;
-
- AS_IF(
- [test "x${ac_cv_with_pythondir2}" = x || test "x${ac_cv_with_pythondir2}" = xno],
- [AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python2_pythondir="${ax_python_prefix}/${ax_python2_pythondir_suffix}"],
- [ax_python2_pythondir=`${PYTHON2} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib()) " 2>/dev/null`])],
- [ax_python2_pythondir=$ac_cv_with_pythondir2])
-
- AC_SUBST(
- [pythondir2],
- [$ax_python2_pythondir])
-
- dnl Check for Python 2 platform specific library directory
- ax_python2_pyexecdir_suffix=`${PYTHON2} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib(1, 0, prefix=''))" 2>/dev/null`;
- ax_python2_library_dir=`${PYTHON2} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib(True)) " 2>/dev/null`;
-
- AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python2_pyexecdir="${ax_python2_exec_prefix}/${ax_python2_pyexecdir_suffix}"],
- [ax_python2_pyexecdir=$ax_python2_library_dir])
-
- AC_SUBST(
- [pyexecdir2],
- [$ax_python2_pyexecdir])
-
- AC_SUBST(
- [PYTHON2_LIBRARY_DIR],
- [$ax_python2_pyexecdir_suffix])
-
- AC_SUBST(
- [PYTHON2_PACKAGE_DIR],
- [$ax_python2_library_dir])
- ])
- ])
-
-dnl Function to detect if a Python 3 build environment is available
-AC_DEFUN([AX_PYTHON3_CHECK],
- [AX_PROG_PYTHON3
- AX_PROG_PYTHON3_CONFIG
-
- AS_IF(
- [test "x${PYTHON3_CONFIG}" != x],
- [dnl Check for Python 3 includes
- PYTHON3_INCLUDES=`${PYTHON3_CONFIG} --includes 2>/dev/null`;
-
- AC_MSG_CHECKING(
- [for Python verison 3 includes])
- AC_MSG_RESULT(
- [$PYTHON3_INCLUDES])
-
- dnl Check for Python 3 libraries
- PYTHON3_LDFLAGS=`${PYTHON3_CONFIG} --ldflags 2>/dev/null`;
-
- AC_MSG_CHECKING(
- [for Python 3 libraries])
- AC_MSG_RESULT(
- [$PYTHON3_LDFLAGS])
-
- dnl For CygWin add the -no-undefined linker flag
- AS_CASE(
- [$host_os],
- [cygwin*],[PYTHON3_LDFLAGS="${PYTHON3_LDFLAGS} -no-undefined"],
- [*],[])
-
- dnl Check for the existence of Python.h
- BACKUP_CPPFLAGS="${CPPFLAGS}"
- CPPFLAGS="${CPPFLAGS} ${PYTHON3_INCLUDES}"
-
- AC_CHECK_HEADERS(
- [Python.h],
- [ac_cv_header_python3_h=yes],
- [ac_cv_header_python3_h=no])
-
- CPPFLAGS="${BACKUP_CPPFLAGS}"
- ])
-
- AS_IF(
- [test "x${ac_cv_header_python3_h}" != xyes],
- [ac_cv_enable_python3=no],
- [ac_cv_enable_python3=$PYTHON3_VERSION
- AC_SUBST(
- [PYTHON3_CPPFLAGS],
- [$PYTHON3_INCLUDES])
-
- AC_SUBST(
- [PYTHON3_LDFLAGS],
- [$PYTHON3_LDFLAGS])
-
- dnl Check for Python prefix
- AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python3_prefix="\${prefix}"],
- [ax_python3_prefix=`${PYTHON3_CONFIG} --prefix 2>/dev/null`])
-
- AC_SUBST(
- [PYTHON3_PREFIX],
- [$ax_python3_prefix])
-
- dnl Check for Python exec-prefix
- AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python3_exec_prefix="\${exec_prefix}"],
- [ax_python3_exec_prefix=`${PYTHON3_CONFIG} --exec-prefix 2>/dev/null`])
-
- AC_SUBST(
- [PYTHON3_EXEC_PREFIX],
- [$ax_python3_exec_prefix])
-
- dnl Check for Python 3 library directory
- ax_python3_pythondir_suffix=`${PYTHON3} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib(0, 0, prefix=''))" 2>/dev/null`;
-
- AS_IF(
- [test "x${ac_cv_with_pythondir3}" = x || test "x${ac_cv_with_pythondir3}" = xno],
- [AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python3_pythondir="${ax_python_prefix}/${ax_python3_pythondir_suffix}"],
- [ax_python3_pythondir=`${PYTHON3} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib()) " 2>/dev/null`])],
- [ax_python3_pythondir=$ac_cv_with_pythondir3])
-
- AC_SUBST(
- [pythondir3],
- [$ax_python3_pythondir])
-
- dnl Check for Python 3 platform specific library directory
- ax_python3_pyexecdir_suffix=`${PYTHON3} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib(1, 0, prefix=''))" 2>/dev/null`;
- ax_python3_library_dir=`${PYTHON3} -c "import sys; import distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_lib(True)) " 2>/dev/null`;
-
- AS_IF(
- [test "x${ac_cv_with_pyprefix}" = x || test "x${ac_cv_with_pyprefix}" = xno],
- [ax_python3_pyexecdir="${ax_python3_exec_prefix}/${ax_python3_pyexecdir_suffix}"],
- [ax_python3_pyexecdir=$ax_python3_library_dir])
-
- AC_SUBST(
- [pyexecdir3],
- [$ax_python3_pyexecdir])
-
- AC_SUBST(
- [PYTHON3_LIBRARY_DIR],
- [$ax_python3_pyexecdir_suffix])
-
- AC_SUBST(
- [PYTHON3_PACKAGE_DIR],
- [$ax_python3_library_dir])
- ])
- ])
-
dnl Function to determine the prefix of pythondir
AC_DEFUN([AX_PYTHON_CHECK_PYPREFIX],
[AX_COMMON_ARG_WITH(
@@ -502,74 +190,17 @@
[no],
[no])
- AX_COMMON_ARG_ENABLE(
- [python2],
- [python2],
- [build Python 2 bindings],
- [no])
- AX_COMMON_ARG_WITH(
- [pythondir2],
- [pythondir2],
- [use to specify the Python 2 directory (pythondir2)],
- [no],
- [no])
-
- AX_COMMON_ARG_ENABLE(
- [python3],
- [python3],
- [build Python 3 bindings],
- [no])
- AX_COMMON_ARG_WITH(
- [pythondir3],
- [pythondir3],
- [use to specify the Python 3 directory (pythondir3)],
- [no],
- [no])
-
AS_IF(
[test "x${ac_cv_enable_python}" != xno],
[AX_PYTHON_CHECK])
- AS_IF(
- [test "x${ac_cv_enable_python2}" != xno],
- [AX_PYTHON2_CHECK])
-
- AS_IF(
- [test "x${ac_cv_enable_python3}" != xno],
- [AX_PYTHON3_CHECK])
-
AM_CONDITIONAL(
HAVE_PYTHON,
[test "x${ac_cv_enable_python}" != xno])
AM_CONDITIONAL(
- HAVE_PYTHON2,
- [test "x${ac_cv_enable_python2}" != xno])
-
- AM_CONDITIONAL(
- HAVE_PYTHON3,
- [test "x${ac_cv_enable_python3}" != xno])
-
- AM_CONDITIONAL(
HAVE_PYTHON_TESTS,
- [test "x${ac_cv_enable_python}" != xno || test "x${ac_cv_enable_python2}" != xno || test "x${ac_cv_enable_python3}" != xno])
-
- AS_IF(
- [test "x${ac_cv_enable_python}" = xno],
- [AS_IF(
- [test "x${ac_cv_enable_python2}" != xno || test "x${ac_cv_enable_python3}" != xno],
- [AS_IF(
- [test "x${ac_cv_enable_python2}" != xno],
- [ac_cv_enable_python=${ac_cv_enable_python2}],
- [ac_cv_enable_python=""])
- AS_IF(
- [test "x${ac_cv_enable_python3}" != xno],
- [AS_IF(
- [test "x${ac_cv_enable_python}" != x],
- [ac_cv_enable_python="${ac_cv_enable_python}, "])
- ac_cv_enable_python="${ac_cv_enable_python}${ac_cv_enable_python3}"])
- ])
- ])
+ [test "x${ac_cv_enable_python}" != xno])
])
])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/pyregf-python2/Makefile.am new/libregf-20231203/pyregf-python2/Makefile.am
--- old/libregf-20231029/pyregf-python2/Makefile.am 2023-10-29 08:58:38.000000000 +0100
+++ new/libregf-20231203/pyregf-python2/Makefile.am 1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-# Note that we cannot use: AUTOMAKE_OPTIONS = subdir-objects
-# subdir-objects will compile the source files to a single version of Python.
-# Since subdir-objects is being deprecated we copy the source files instead.
-am__installdirs = "$(DESTDIR)$(pyexecdir2)"
-pyexecdir = $(pyexecdir2)
-
-if HAVE_PYTHON2
-AM_CFLAGS = \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/common \
- @LIBCERROR_CPPFLAGS@ \
- @LIBCDATA_CPPFLAGS@ \
- @LIBCLOCALE_CPPFLAGS@ \
- @LIBCSPLIT_CPPFLAGS@ \
- @LIBUNA_CPPFLAGS@ \
- @LIBCFILE_CPPFLAGS@ \
- @LIBCPATH_CPPFLAGS@ \
- @LIBBFIO_CPPFLAGS@ \
- @LIBREGF_DLL_IMPORT@
-
-am_pyregf_la_rpath = -rpath $(pyexecdir2)
-
-BUILT_SOURCES = \
- pyregf.c pyregf.h \
- pyregf_codepage.c pyregf_codepage.h \
- pyregf_datetime.c pyregf_datetime.h \
- pyregf_error.c pyregf_error.h \
- pyregf_file.c pyregf_file.h \
- pyregf_file_object_io_handle.c pyregf_file_object_io_handle.h \
- pyregf_file_types.c pyregf_file_types.h \
- pyregf_integer.c pyregf_integer.h \
- pyregf_key.c pyregf_key.h \
- pyregf_keys.c pyregf_keys.h \
- pyregf_libbfio.h \
- pyregf_libcerror.h \
- pyregf_libclocale.h \
- pyregf_libregf.h \
- pyregf_multi_string.c pyregf_multi_string.h \
- pyregf_python.h \
- pyregf_unused.h \
- pyregf_value.c pyregf_value.h \
- pyregf_value_types.c pyregf_value_types.h \
- pyregf_values.c pyregf_values.h
-
-pyexec_LTLIBRARIES = pyregf.la
-
-nodist_pyregf_la_SOURCES = $(BUILT_SOURCES)
-
-pyregf_la_LIBADD = \
- @LIBCERROR_LIBADD@ \
- ../libregf/libregf.la \
- @LIBBFIO_LIBADD@ \
- @LIBCPATH_LIBADD@ \
- @LIBCFILE_LIBADD@ \
- @LIBCSPLIT_LIBADD@ \
- @LIBCLOCALE_LIBADD@ \
- @LIBCDATA_LIBADD@
-
-pyregf_la_CPPFLAGS = $(PYTHON2_CPPFLAGS)
-pyregf_la_LDFLAGS = -module -avoid-version $(PYTHON2_LDFLAGS)
-
-$(BUILT_SOURCES):
- /bin/cp -f $(top_srcdir)/pyregf/$@ $@
-
-endif
-
-MAINTAINERCLEANFILES = \
- Makefile.in
-
-clean-local:
- -rm -f pyregf*.[ch]
-
-distclean: clean
- -rm -f Makefile
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/pyregf-python3/Makefile.am new/libregf-20231203/pyregf-python3/Makefile.am
--- old/libregf-20231029/pyregf-python3/Makefile.am 2023-10-29 08:58:38.000000000 +0100
+++ new/libregf-20231203/pyregf-python3/Makefile.am 1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-# Note that we cannot use: AUTOMAKE_OPTIONS = subdir-objects
-# subdir-objects will compile the source files to a single version of Python.
-# Since subdir-objects is being deprecated we copy the source files instead.
-am__installdirs = "$(DESTDIR)$(pyexecdir3)"
-pyexecdir = $(pyexecdir3)
-
-if HAVE_PYTHON3
-AM_CFLAGS = \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/common \
- @LIBCERROR_CPPFLAGS@ \
- @LIBCDATA_CPPFLAGS@ \
- @LIBCLOCALE_CPPFLAGS@ \
- @LIBCSPLIT_CPPFLAGS@ \
- @LIBUNA_CPPFLAGS@ \
- @LIBCFILE_CPPFLAGS@ \
- @LIBCPATH_CPPFLAGS@ \
- @LIBBFIO_CPPFLAGS@ \
- @LIBREGF_DLL_IMPORT@
-
-am_pyregf_la_rpath = -rpath $(pyexecdir3)
-
-BUILT_SOURCES = \
- pyregf.c pyregf.h \
- pyregf_codepage.c pyregf_codepage.h \
- pyregf_datetime.c pyregf_datetime.h \
- pyregf_error.c pyregf_error.h \
- pyregf_file.c pyregf_file.h \
- pyregf_file_object_io_handle.c pyregf_file_object_io_handle.h \
- pyregf_file_types.c pyregf_file_types.h \
- pyregf_integer.c pyregf_integer.h \
- pyregf_key.c pyregf_key.h \
- pyregf_keys.c pyregf_keys.h \
- pyregf_libbfio.h \
- pyregf_libcerror.h \
- pyregf_libclocale.h \
- pyregf_libregf.h \
- pyregf_multi_string.c pyregf_multi_string.h \
- pyregf_python.h \
- pyregf_unused.h \
- pyregf_value.c pyregf_value.h \
- pyregf_value_types.c pyregf_value_types.h \
- pyregf_values.c pyregf_values.h
-
-pyexec_LTLIBRARIES = pyregf.la
-
-nodist_pyregf_la_SOURCES = $(BUILT_SOURCES)
-
-pyregf_la_LIBADD = \
- @LIBCERROR_LIBADD@ \
- ../libregf/libregf.la \
- @LIBBFIO_LIBADD@ \
- @LIBCPATH_LIBADD@ \
- @LIBCFILE_LIBADD@ \
- @LIBCSPLIT_LIBADD@ \
- @LIBCLOCALE_LIBADD@ \
- @LIBCDATA_LIBADD@
-
-pyregf_la_CPPFLAGS = $(PYTHON3_CPPFLAGS)
-pyregf_la_LDFLAGS = -module -avoid-version $(PYTHON3_LDFLAGS)
-
-$(BUILT_SOURCES):
- /bin/cp -f $(top_srcdir)/pyregf/$@ $@
-
-endif
-
-MAINTAINERCLEANFILES = \
- Makefile.in
-
-clean-local:
- -rm -f pyregf*.[ch]
-
-distclean: clean
- -rm -f Makefile
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/regftools/regftools_signal.c new/libregf-20231203/regftools/regftools_signal.c
--- old/libregf-20231029/regftools/regftools_signal.c 2023-10-29 08:57:50.000000000 +0100
+++ new/libregf-20231203/regftools/regftools_signal.c 2023-12-03 10:13:34.000000000 +0100
@@ -40,7 +40,7 @@
/* Signal handler for Ctrl+C or Ctrl+Break signals
*/
BOOL WINAPI regftools_signal_handler(
- unsigned long signal )
+ regftools_signal_t signal )
{
static char *function = "regftools_signal_handler";
@@ -112,7 +112,7 @@
regftools_signal_signal_handler = signal_handler;
if( SetConsoleCtrlHandler(
- regftools_signal_handler,
+ (PHANDLER_ROUTINE) regftools_signal_handler,
TRUE ) == 0 )
{
libcerror_error_set(
@@ -179,7 +179,7 @@
static char *function = "regftools_signal_detach";
if( SetConsoleCtrlHandler(
- regftools_signal_handler,
+ (PHANDLER_ROUTINE) regftools_signal_handler,
FALSE ) == 0 )
{
libcerror_error_set(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/setup.cfg new/libregf-20231203/setup.cfg
--- old/libregf-20231029/setup.cfg 2023-10-29 09:48:25.000000000 +0100
+++ new/libregf-20231203/setup.cfg 2023-12-03 10:32:02.000000000 +0100
@@ -1,8 +1,9 @@
[metadata]
name = libregf-python
-version = 20231029
+version = 20231203
description = Python bindings module for libregf
long_description = Python bindings module for libregf
+long_description_content_type = text/plain
author = Joachim Metz
author_email = joachim.metz(a)gmail.com
license = GNU Lesser General Public License v3 or later (LGPLv3+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/setup.cfg.in new/libregf-20231203/setup.cfg.in
--- old/libregf-20231029/setup.cfg.in 2023-10-29 08:51:50.000000000 +0100
+++ new/libregf-20231203/setup.cfg.in 2023-12-03 10:13:33.000000000 +0100
@@ -3,6 +3,7 @@
version = @VERSION@
description = Python bindings module for libregf
long_description = Python bindings module for libregf
+long_description_content_type = text/plain
author = Joachim Metz
author_email = joachim.metz(a)gmail.com
license = GNU Lesser General Public License v3 or later (LGPLv3+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libregf-20231029/tests/test_runner.sh new/libregf-20231203/tests/test_runner.sh
--- old/libregf-20231029/tests/test_runner.sh 2023-10-29 08:51:58.000000000 +0100
+++ new/libregf-20231203/tests/test_runner.sh 2023-12-03 10:13:35.000000000 +0100
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Bash functions to run an executable for testing.
#
-# Version: 20231013
+# Version: 20231119
#
# When CHECK_WITH_ASAN is set to a non-empty value the test executable
# is run with asan, otherwise it is run without.
@@ -15,7 +15,7 @@
# When CHECK_WITH_VALGRIND is set to a non-empty value the test executable
# is run with valgrind, otherwise it is run without.
#
-# PYTHON and PYTHON_VERSION are used to determine the Python interpreter.
+# PYTHON is used to determine the Python interpreter.
EXIT_SUCCESS=0;
EXIT_FAILURE=1;
@@ -227,9 +227,6 @@
# Searches for the path to the binary variant of the Python module
#
-# Globals:
-# PYTHON_VERSION
-#
# Arguments:
# a string containing the path of the test executable
#
@@ -246,20 +243,10 @@
TEST_EXECUTABLE=`dirname ${TEST_EXECUTABLE}`;
TEST_EXECUTABLE=`dirname ${TEST_EXECUTABLE}`;
- PYTHON_VERSION=`echo ${PYTHON_VERSION} | cut -c1`;
-
- local PYTHON_MODULE_PATH="${TEST_EXECUTABLE}/${PYTHON_MODULE_NAME}-python${PYTHON_VERSION}/.libs";
+ local PYTHON_MODULE_PATH="${TEST_EXECUTABLE}/${PYTHON_MODULE_NAME}/.libs";
if ! test -d "${PYTHON_MODULE_PATH}";
then
- PYTHON_MODULE_PATH="../${PYTHON_MODULE_NAME}-python${PYTHON_VERSION}/.libs";
- fi
- if ! test -d "${PYTHON_MODULE_PATH}";
- then
- PYTHON_MODULE_PATH="${TEST_EXECUTABLE}/${PYTHON_MODULE_NAME}/.libs";
- fi
- if ! test -d "${PYTHON_MODULE_PATH}";
- then
PYTHON_MODULE_PATH="../${PYTHON_MODULE_NAME}/.libs";
fi
echo "${PYTHON_MODULE_PATH}";
@@ -422,7 +409,6 @@
# CHECK_WITH_GDB
# CHECK_WITH_STDERR
# CHECK_WITH_VALGRIND
-# PYTHON_VERSION
#
# Arguments:
# a string containing the test description
@@ -459,7 +445,7 @@
if test ${IS_PYTHON_SCRIPT} -eq 0 && test -z ${PYTHON};
then
- local PYTHON=`which python${PYTHON_VERSION} 2> /dev/null`;
+ local PYTHON=`which python 2> /dev/null`;
if ! test -x ${PYTHON};
then
@@ -743,7 +729,6 @@
# CHECK_WITH_GDB
# CHECK_WITH_STDERR
# CHECK_WITH_VALGRIND
-# PYTHON_VERSION
#
# Arguments:
# a string containing the path of the test executable
@@ -780,7 +765,7 @@
if test ${IS_PYTHON_SCRIPT} -eq 0 && test -z ${PYTHON};
then
- local PYTHON=`which python${PYTHON_VERSION} 2> /dev/null`;
+ local PYTHON=`which python 2> /dev/null`;
if ! test -x ${PYTHON};
then
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libscca for openSUSE:Factory checked in at 2023-12-03 20:49:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libscca (Old)
and /work/SRC/openSUSE:Factory/.libscca.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libscca"
Sun Dec 3 20:49:55 2023 rev:15 rq:1130582 version:20231203
Changes:
--------
--- /work/SRC/openSUSE:Factory/libscca/libscca.changes 2023-08-09 17:25:32.489487938 +0200
+++ /work/SRC/openSUSE:Factory/.libscca.new.25432/libscca.changes 2023-12-03 20:50:17.457032750 +0100
@@ -1,0 +2,6 @@
+Sun Dec 3 12:38:28 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231203
+ * 6-byte UTF-8 (RFC 2279) support
+
+-------------------------------------------------------------------
Old:
----
libscca-alpha-20230716.tar.gz
libscca-alpha-20230716.tar.gz.asc
New:
----
libscca-alpha-20231203.tar.gz
libscca-alpha-20231203.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libscca.spec ++++++
--- /var/tmp/diff_new_pack.wcR50t/_old 2023-12-03 20:50:17.933050236 +0100
+++ /var/tmp/diff_new_pack.wcR50t/_new 2023-12-03 20:50:17.933050236 +0100
@@ -18,7 +18,7 @@
%define lname libscca1
Name: libscca
-Version: 20230716
+Version: 20231203
Release: 0
Summary: Library and tools to access the Windows Prefetch File (PF) format
License: GFDL-1.3-only AND LGPL-3.0-or-later
@@ -44,7 +44,7 @@
BuildRequires: pkgconfig(libfdata) >= 20230319
BuildRequires: pkgconfig(libfdatetime) >= 20220112
BuildRequires: pkgconfig(libfvalue) >= 20220120
-BuildRequires: pkgconfig(libfwnt) >= 20220922
+BuildRequires: pkgconfig(libfwnt) >= 20231124
BuildRequires: pkgconfig(libuna) >= 20230710
%python_subpackages
# Various notes: https://en.opensuse.org/libyal
++++++ libscca-alpha-20230716.tar.gz -> libscca-alpha-20231203.tar.gz ++++++
++++ 9176 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libolecf for openSUSE:Factory checked in at 2023-12-03 20:49:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libolecf (Old)
and /work/SRC/openSUSE:Factory/.libolecf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libolecf"
Sun Dec 3 20:49:53 2023 rev:24 rq:1130581 version:20231203
Changes:
--------
--- /work/SRC/openSUSE:Factory/libolecf/libolecf.changes 2023-08-09 17:25:30.125473220 +0200
+++ /work/SRC/openSUSE:Factory/.libolecf.new.25432/libolecf.changes 2023-12-03 20:50:16.468996457 +0100
@@ -1,0 +2,6 @@
+Sun Dec 3 12:47:10 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231203
+ * Improved Python Unicode handling
+
+-------------------------------------------------------------------
Old:
----
libolecf-alpha-20221024.tar.gz
libolecf-alpha-20221024.tar.gz.asc
New:
----
libolecf-alpha-20231203.tar.gz
libolecf-alpha-20231203.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libolecf.spec ++++++
--- /var/tmp/diff_new_pack.FmVNas/_old 2023-12-03 20:50:16.953014236 +0100
+++ /var/tmp/diff_new_pack.FmVNas/_new 2023-12-03 20:50:16.953014236 +0100
@@ -18,7 +18,7 @@
%define lname libolecf1
Name: libolecf
-Version: 20221024
+Version: 20231203
Release: 0
Summary: Library and tools to access the OLE 2 Compound File (OLECF) format
License: GFDL-1.3-or-later AND LGPL-3.0-or-later
@@ -32,10 +32,10 @@
BuildRequires: pkg-config
BuildRequires: python-rpm-macros %{python_module devel}
BuildRequires: pkgconfig(libbfio) >= 20220120
-BuildRequires: pkgconfig(libcdata) >= 20220115
+BuildRequires: pkgconfig(libcdata) >= 20230108
BuildRequires: pkgconfig(libcerror) >= 20220101
BuildRequires: pkgconfig(libcfile) >= 20220106
-BuildRequires: pkgconfig(libclocale) >= 20220107
+BuildRequires: pkgconfig(libclocale) >= 20221218
BuildRequires: pkgconfig(libcnotify) >= 20220108
BuildRequires: pkgconfig(libcpath) >= 20220108
BuildRequires: pkgconfig(libcsplit) >= 20220109
@@ -44,7 +44,7 @@
BuildRequires: pkgconfig(libfguid) >= 20220113
BuildRequires: pkgconfig(libfole) >= 20220115
BuildRequires: pkgconfig(libfvalue) >= 20220120
-BuildRequires: pkgconfig(libfwps) >= 20220122
+BuildRequires: pkgconfig(libfwps) >= 20231126
BuildRequires: pkgconfig(libuna) >= 20220611
%python_subpackages
# Various notes: https://en.opensuse.org/libyal
++++++ libolecf-alpha-20221024.tar.gz -> libolecf-alpha-20231203.tar.gz ++++++
++++ 28299 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libmsiecf for openSUSE:Factory checked in at 2023-12-03 20:49:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmsiecf (Old)
and /work/SRC/openSUSE:Factory/.libmsiecf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmsiecf"
Sun Dec 3 20:49:51 2023 rev:22 rq:1130580 version:20231203
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmsiecf/libmsiecf.changes 2023-08-09 17:25:29.465469111 +0200
+++ /work/SRC/openSUSE:Factory/.libmsiecf.new.25432/libmsiecf.changes 2023-12-03 20:50:15.228950907 +0100
@@ -1,0 +2,6 @@
+Sun Dec 3 12:49:06 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231203
+ * Improved Python Unicode handling
+
+-------------------------------------------------------------------
Old:
----
libmsiecf-alpha-20221024.tar.gz
libmsiecf-alpha-20221024.tar.gz.asc
New:
----
libmsiecf-alpha-20231203.tar.gz
libmsiecf-alpha-20231203.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmsiecf.spec ++++++
--- /var/tmp/diff_new_pack.NYmD3p/_old 2023-12-03 20:50:15.860974123 +0100
+++ /var/tmp/diff_new_pack.NYmD3p/_new 2023-12-03 20:50:15.860974123 +0100
@@ -18,7 +18,7 @@
Name: libmsiecf
%define lname libmsiecf1
-Version: 20221024
+Version: 20231203
Release: 0
Summary: Library to parse MS Internet Explorer Cache Files
License: GFDL-1.3-or-later AND LGPL-3.0-or-later
@@ -32,11 +32,11 @@
BuildRequires: c_compiler
BuildRequires: pkg-config
BuildRequires: python-rpm-macros
-BuildRequires: pkgconfig(libbfio) >= 20220120
-BuildRequires: pkgconfig(libcdata) >= 20220115
+BuildRequires: pkgconfig(libbfio) >= 20221025
+BuildRequires: pkgconfig(libcdata) >= 20230108
BuildRequires: pkgconfig(libcerror) >= 20220101
BuildRequires: pkgconfig(libcfile) >= 20220106
-BuildRequires: pkgconfig(libclocale) >= 20220107
+BuildRequires: pkgconfig(libclocale) >= 20221218
BuildRequires: pkgconfig(libcnotify) >= 20220108
BuildRequires: pkgconfig(libcpath) >= 20220108
BuildRequires: pkgconfig(libcsplit) >= 20220109
@@ -45,7 +45,7 @@
BuildRequires: pkgconfig(libfguid) >= 20220113
BuildRequires: pkgconfig(libfole) >= 20220115
BuildRequires: pkgconfig(libfvalue) >= 20220120
-BuildRequires: pkgconfig(libuna) >= 20220611
+BuildRequires: pkgconfig(libuna) >= 20230710
%python_subpackages
# Various notes: https://en.opensuse.org/libyal
++++++ libmsiecf-alpha-20221024.tar.gz -> libmsiecf-alpha-20231203.tar.gz ++++++
++++ 20912 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package lunar-calendar for openSUSE:Factory checked in at 2023-12-03 20:49:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lunar-calendar (Old)
and /work/SRC/openSUSE:Factory/.lunar-calendar.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lunar-calendar"
Sun Dec 3 20:49:48 2023 rev:2 rq:1130590 version:3.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/lunar-calendar/lunar-calendar.changes 2020-02-09 20:47:40.790849751 +0100
+++ /work/SRC/openSUSE:Factory/.lunar-calendar.new.25432/lunar-calendar.changes 2023-12-03 20:50:13.380883022 +0100
@@ -1,0 +2,7 @@
+Sun Dec 3 14:12:05 UTC 2023 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Update version to 3.0.1
+ * Fix bugs
+ * Change license to LGPL-2.1
+
+-------------------------------------------------------------------
Old:
----
lunar-calendar-f91a880.tar.gz
New:
----
lunar-calendar-3.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lunar-calendar.spec ++++++
--- /var/tmp/diff_new_pack.22Mqf7/_old 2023-12-03 20:50:14.840936654 +0100
+++ /var/tmp/diff_new_pack.22Mqf7/_new 2023-12-03 20:50:14.840936654 +0100
@@ -1,7 +1,7 @@
#
# spec file for package lunar-calendar
#
-# Copyright (c) 2020 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,36 +12,34 @@
# 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/
#
-%define commit f91a880e9dbf4ad28fbe9cda2cb899106c25ef97
-#%define shortcommit %(c=%{commit}; echo ${c:0:7})
-%define shortcommit f91a880
+
+
%define sover 1
Summary: Chinese Lunar calendar
Name: lunar-calendar
-Version: 3.0.0+git20191124.%{shortcommit}
+Version: 3.0.1
Release: 0
-License: GPL-2.0+
+License: LGPL-2.1-or-later
Group: System/I18n/Chinese
-Url: https://github.com/yetist/lunar-calendar
-# Source0: https://github.com/yetist/lunar-calendar/archive/v%{version}/%{name}-%{vers…
-Source0: https://github.com/yetist/lunar-calendar/archive/%{commit}/%{name}-%{shortc…
+URL: https://github.com/yetist/lunar-calendar
+Source0: https://github.com/yetist/lunar-calendar/archive/v%{version}/%{name}-%{vers…
+# Source0: https://github.com/yetist/lunar-calendar/archive/%{commit}/%{name}-%{shortc…
Source1: %{name}.sh
Source2: %{name}.csh
BuildRequires: fdupes
BuildRequires: meson
-BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(dbus-1)
+BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
-BuildRequires: pkgconfig(gtk-doc)
-BuildRequires: pkgconfig(vapigen)
BuildRequires: pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(gtk-doc)
BuildRequires: pkgconfig(lunar-date-3.0)
+BuildRequires: pkgconfig(vapigen)
Requires: lib%{name}-3_0-%{sover} = %{version}-%{release}
-
%description
This is the traditional Chinese calendar application.
@@ -68,6 +66,9 @@
Summary: Introspection bindings for lunar-calendar
Group: System/Libraries
Requires: %{name} = %{version}-%{release}
+Provides: locale(patterns-gnome-gnome:zh_CN;zh_SG;zh_TW;zh_HK)
+Provides: locale(patterns-mate-mate:zh_CN;zh_SG;zh_TW;zh_HK)
+Provides: locale(patterns-xfce-xfce:zh_CN;zh_SG;zh_TW;zh_HK)
%description -n typelib-1_0-LunarCalendar-3_0
This package contains the introspection bindings for the lunar-calendar library.
@@ -93,14 +94,13 @@
%{lang_package}
%prep
-%setup -q -n %{name}-%{commit}
+%setup -q -n %{name}-%{version}
%build
-%meson -Denable_gtk_modules=true \
- -Denable_gtk_doc=true \
- -Dwith_introspection=true \
- -Dwith_vala=true \
- -Denable_tests=true \
+%meson -Ddocs=true \
+ -Dintrospection=true \
+ -Dvapi=true \
+ -Dtests=true \
%{nil}
%meson_build
@@ -151,4 +151,3 @@
%{_datadir}/vala/vapi/*
%{_datadir}/gir-1.0/LunarCalendar-3.0.gir
-
++++++ lunar-calendar-f91a880.tar.gz -> lunar-calendar-3.0.1.tar.gz ++++++
++++ 2116 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ibus-libpinyin for openSUSE:Factory checked in at 2023-12-03 20:49:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ibus-libpinyin (Old)
and /work/SRC/openSUSE:Factory/.ibus-libpinyin.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ibus-libpinyin"
Sun Dec 3 20:49:46 2023 rev:36 rq:1130578 version:1.15.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/ibus-libpinyin/ibus-libpinyin.changes 2023-06-09 20:43:25.928642911 +0200
+++ /work/SRC/openSUSE:Factory/.ibus-libpinyin.new.25432/ibus-libpinyin.changes 2023-12-03 20:50:12.576853487 +0100
@@ -1,0 +2,9 @@
+Sun Dec 3 13:29:11 UTC 2023 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Update version to 1.15.5
+ * Use libsoup3
+ * Update network dictionary
+ * Fix Caps Lock for English mode
+ * Fix bugs
+
+-------------------------------------------------------------------
Old:
----
ibus-libpinyin-1.15.3.tar.gz
New:
----
ibus-libpinyin-1.15.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ibus-libpinyin.spec ++++++
--- /var/tmp/diff_new_pack.l6CihF/_old 2023-12-03 20:50:13.084872148 +0100
+++ /var/tmp/diff_new_pack.l6CihF/_new 2023-12-03 20:50:13.084872148 +0100
@@ -20,7 +20,7 @@
%define with_cloud_input 1
Name: ibus-libpinyin
-Version: 1.15.3
+Version: 1.15.5
Release: 0
Summary: Intelligent Pinyin engine based on libpinyin for IBus
License: GPL-3.0-or-later
@@ -45,7 +45,7 @@
BuildRequires: pkgconfig(lua)
%if %{with_cloud_input}
BuildRequires: pkgconfig(json-glib-1.0)
-BuildRequires: pkgconfig(libsoup-2.4)
+BuildRequires: pkgconfig(libsoup-3.0)
%endif
%if 0%{?suse_version} <= 1500
BuildRequires: python310-base
++++++ ibus-libpinyin-1.15.3.tar.gz -> ibus-libpinyin-1.15.5.tar.gz ++++++
++++ 2115 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package praat for openSUSE:Factory checked in at 2023-12-03 20:49:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/praat (Old)
and /work/SRC/openSUSE:Factory/.praat.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "praat"
Sun Dec 3 20:49:40 2023 rev:42 rq:1130567 version:6.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/praat/praat.changes 2023-10-31 20:26:07.622881701 +0100
+++ /work/SRC/openSUSE:Factory/.praat.new.25432/praat.changes 2023-12-03 20:50:08.572706403 +0100
@@ -1,0 +2,11 @@
+Wed Nov 22 11:58:32 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 6.4:
+ * New pitch analysis methods: Sound: To Pitch (filtered ac)...
+ and Sound: To Pitch (filtered cc)....
+ * Sound: To Pitch (filtered ac)... has become the preferred
+ method for measuring vocal-fold vibration and intonation
+- Add rpmlintrc file to disable warning about no-pie, whereas this
+ is intended by upstream.
+
+-------------------------------------------------------------------
Old:
----
praat-6.3.20.tar.gz
New:
----
praat-6.4.tar.gz
praat.rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ praat.spec ++++++
--- /var/tmp/diff_new_pack.UdGSF9/_old 2023-12-03 20:50:09.800751513 +0100
+++ /var/tmp/diff_new_pack.UdGSF9/_new 2023-12-03 20:50:09.804751660 +0100
@@ -17,13 +17,14 @@
Name: praat
-Version: 6.3.20
+Version: 6.4
Release: 0
Summary: Phonetics by computer
License: GPL-3.0-or-later
Group: Productivity/Scientific/Other
URL: http://www.praat.org
Source0: https://github.com/praat/praat/archive/v%{version}.tar.gz#/%{name}-%{versio…
+Source1: %{name}.rpmlintrc
# PATCH-FIX-OPENSUSE praat-use_system_libs.patch -- replace some embedded libs with system ones
Patch1: praat-use_system_libs.patch
# PATCH-FIX-OPENSUSE praat-no-return-in-nonvoid.patch -- make the compiler happy
++++++ praat-6.3.20.tar.gz -> praat-6.4.tar.gz ++++++
/work/SRC/openSUSE:Factory/praat/praat-6.3.20.tar.gz /work/SRC/openSUSE:Factory/.praat.new.25432/praat-6.4.tar.gz differ: char 13, line 1
++++++ praat.rpmlintrc ++++++
# -no-pie is intentional, see https://github.com/praat/praat/commit/dc6a3a9da250725697d9b847823f1c4cdbb8d…
addFilter("position-independent-executable-suggested")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dynare for openSUSE:Factory checked in at 2023-12-03 20:49:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dynare (Old)
and /work/SRC/openSUSE:Factory/.dynare.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dynare"
Sun Dec 3 20:49:38 2023 rev:7 rq:1130566 version:5.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/dynare/dynare.changes 2023-04-26 17:26:17.937951426 +0200
+++ /work/SRC/openSUSE:Factory/.dynare.new.25432/dynare.changes 2023-12-03 20:50:06.624634845 +0100
@@ -1,0 +2,46 @@
+Wed Nov 22 11:54:45 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 5.5:
+ * In a stochastic context, results could be incorrect if an
+ endogenous with a lead ⩾ 2 or an exogenous with a lead ⩾ 1
+ appeared in the argument(s) of a call to a (nonlinear)
+ external function
+ * With the use_dll option of the model block, the expression
+ sign(x) would evaluate to ±1 instead of 0 if x=0
+ * If the guess value given to the steady command was such that
+ the residuals were all below tolerance, except some that are
+ NaN, then this guess value was incorrectly accepted as the
+ solution to the steady state problem
+ * The method_of_moments command with GMM was ignoring the
+ analytic_standard_errors option when using mode_compute=4
+ * Homotopy with the extended_path command at order=0 was broken
+ * The parallel_use_psexec command-line option was ignored
+ * With the bytecode option of the model block, using the
+ operators abs(), cbrt() and sign() would lead to a crash
+ * The fast command-line option was broken under MATLAB with
+ Windows
+ * Ramsey steady state computation could fail if an expectation
+ or diff operator was present in the model
+ * A crash could occur if some external function call was present
+ in an auxiliary variable
+ * The endogenous_prior option of the estimation command could
+ erroneously display a warning message about missing
+ observations
+ * The model_comparison command would crash if the .mod file name
+ had less than four characters
+ * The shock_decomposition command would overwrite previously
+ stored smoother results
+ * The x13 interface in dseries did not handle missing values,
+ particularly at the beginning of a series
+ * The x13 interface in dseries would occasionally crash under
+ Windows with segmentation violations
+ * OccBin: estimation would crash if a previous shocks(surprise)
+ simulation was conducted
+ * The internals command would not find the location of the
+ _results.mat file
+ * The prior optimize command would not work with mode_compute=5
+- Minor improvement to conditionals specifying the right version
+ of gcc to use.
+- Drop dynare-add-missing-include.patch: upstreamed.
+
+-------------------------------------------------------------------
Old:
----
dynare-5.4.tar.xz
dynare-add-missing-include.patch
New:
----
dynare-5.5.tar.xz
BETA DEBUG BEGIN:
Old: of gcc to use.
- Drop dynare-add-missing-include.patch: upstreamed.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dynare.spec ++++++
--- /var/tmp/diff_new_pack.XiNUwM/_old 2023-12-03 20:50:07.756676428 +0100
+++ /var/tmp/diff_new_pack.XiNUwM/_new 2023-12-03 20:50:07.760676575 +0100
@@ -22,11 +22,10 @@
# Sphinx in Leap 15.x is too old
%bcond_with doc
%else
-%define gccver %{nil}
%bcond_without doc
%endif
Name: dynare
-Version: 5.4
+Version: 5.5
Release: 0
Summary: A platform for handling a wide class of economic models
License: GPL-3.0-or-later
@@ -34,11 +33,9 @@
Source: https://www.dynare.org/release/source/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM dynare-no-return-in-non-void-function.patch badshah400(a)gmail.com -- Return trivial value from a function that is not declared as returning void
Patch0: dynare-no-return-in-non-void-function.patch
-# PATCH-FIX-UPSTREAM dynare-add-missing-include.patch -- Add missing includes, gcc 13 exposed
-Patch1: dynare-add-missing-include.patch
BuildRequires: fdupes
-BuildRequires: gcc%{gccver}-c++
-BuildRequires: gcc%{gccver}-fortran
+BuildRequires: gcc%{?gccver}-c++
+BuildRequires: gcc%{?gccver}-fortran
BuildRequires: lapack-devel
BuildRequires: libboost_headers-devel
BuildRequires: libtool
@@ -87,10 +84,7 @@
%build
autoreconf -fvi
-%if 0%{?suse_version} < 1550
-export CXX=g++-%{gccver}
-export CXXFLAGS+=' -std=c++17'
-%endif
+export CXX=g++%{?gccver:-%{gccver}}
%configure \
--docdir=%{_docdir}/%{name} \
--disable-matlab \
++++++ dynare-5.4.tar.xz -> dynare-5.5.tar.xz ++++++
/work/SRC/openSUSE:Factory/dynare/dynare-5.4.tar.xz /work/SRC/openSUSE:Factory/.dynare.new.25432/dynare-5.5.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package shadowsocks-rust for openSUSE:Factory checked in at 2023-12-03 20:49:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shadowsocks-rust (Old)
and /work/SRC/openSUSE:Factory/.shadowsocks-rust.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shadowsocks-rust"
Sun Dec 3 20:49:32 2023 rev:5 rq:1130558 version:1.17.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/shadowsocks-rust/shadowsocks-rust.changes 2023-10-26 17:15:55.679594125 +0200
+++ /work/SRC/openSUSE:Factory/.shadowsocks-rust.new.25432/shadowsocks-rust.changes 2023-12-03 20:49:59.952389754 +0100
@@ -1,0 +2,12 @@
+Sun Dec 3 09:25:05 UTC 2023 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Update version to 1.17.1
+ * Trust-DNS is rebranded to Hickory-DNS
+ * Support DNS-over-H3 (Try with configuration "dns": "google_h3"
+ and compile with feature "dns-over-h3")
+ * Allow configuring local-dns client cache size
+ * local-tun supports Windows with Wintun
+ * Upgrade hyper
+ * Fix bugs
+
+-------------------------------------------------------------------
Old:
----
shadowsocks-rust-1.16.2.tar.gz
New:
----
shadowsocks-rust-1.17.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shadowsocks-rust.spec ++++++
--- /var/tmp/diff_new_pack.eRNU2E/_old 2023-12-03 20:50:03.500520087 +0100
+++ /var/tmp/diff_new_pack.eRNU2E/_new 2023-12-03 20:50:03.516520675 +0100
@@ -17,7 +17,7 @@
Name: shadowsocks-rust
-Version: 1.16.2
+Version: 1.17.1
Release: 0
Summary: Rust port of Shadowsocks
License: MIT
++++++ shadowsocks-rust-1.16.2.tar.gz -> shadowsocks-rust-1.17.1.tar.gz ++++++
++++ 7031 lines of diff (skipped)
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/shadowsocks-rust/vendor.tar.gz /work/SRC/openSUSE:Factory/.shadowsocks-rust.new.25432/vendor.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 streamlink for openSUSE:Factory checked in at 2023-12-03 20:49:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/streamlink (Old)
and /work/SRC/openSUSE:Factory/.streamlink.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "streamlink"
Sun Dec 3 20:49:28 2023 rev:12 rq:1130555 version:6.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/streamlink/streamlink.changes 2023-06-07 23:08:12.683618379 +0200
+++ /work/SRC/openSUSE:Factory/.streamlink.new.25432/streamlink.changes 2023-12-03 20:49:55.704233707 +0100
@@ -1,0 +2,59 @@
+Sun Dec 3 02:09:01 UTC 2023 - Tejas Guruswamy <tejas.guruswamy(a)opensuse.org>
+
+- Update to version 6.4.2
+ + See https://github.com/streamlink/streamlink/blob/master/CHANGELOG.md
+
+-------------------------------------------------------------------
+Mon Oct 23 09:25:38 UTC 2023 - Hakim Zulkufli <hakim.zulkufli(a)gmail.com>
+
+- Update to version 6.2.1:
+ + Added: official support for Python 3.12 (#5576)
+ + Fixed plugins: goodgame (#5557), nos (#5565), pandalive (#5569), wwenetwork (#5559)
+ + Build: added custom setuptools build-backend override which fixes issues with building Windows-specific wheels (#5558)
+- Update to version 6.2.0:
+ + Added: --player-env CLI argument (#5535)
+ + Added: OpenSSL version to debug log output (#5506)
+ + Updated: segmented stream internals and typing (#5504, #5507)
+ + Updated: internal HLS tag parsing setup and parser state (#5513, #5521)
+ + Fixed: HLS streams not ending on playlist reload with endlist tag and no new segments (#5538)
+ + Fixed: missing file encoding when writing a log file (#5532)
+ + Added plugins: piaulizaportal (#5508)
+ + Fixed plugins: hiplayer (#5534), nicolive (#5529), pluto (#5551)
+ + Docs: added list of supported metadata variables for each plugin (#5517, #5519)
+- Update to version 6.1.0:
+ + Added: --hls-segment-queue-threshold for being able to configure when to stop HLS streams early on missing segments (#5478)
+ + Fixed: config file parsing issues and made parsing argument values more strict (#5484)
+ + Fixed: race condition when reading and validating the FFmpeg version string (#5480)
+ + Fixed plugins: atresplayer (#5477)
+ + Docs: added code examples for the removal of Streamlink.{g,s}et_plugin_option (#5497)
+ + Build: fixed entry-points config issues with setuptools 68.1.0 (#5500)
+- Update to version 6.0.1:
+ + Added: missing options argument to Streamlink.streams() (#5469)
+ + Fixed: migration docs and the 6.0.0 changelog of the Streamlink.{g,s}et_plugin_option() removal (#5471)
+ + Fixed plugins: huya (#5467)
+ + Docs: updated build-dependencies and the furo theme (#5464, #5465)
+- Update to version 6.0.0:
+ + BREAKING: dropped support for Python 3.7 (#5302)
+ + BREAKING: turned --player CLI argument into a player-path-only argument (#5305, #5310)
+ + BREAKING: removed deprecated {filename} variable from --player-args (#5310)
+ + BREAKING/API: removed support for the deprecated Plugin.can_handle_url() / Plugin.priority() classmethods (#5403)
+ + BREAKING/API: removed deprecated compatibility wrapper for the Plugin constructor (#5402)
+ + BREAKING/API: removed Streamlink.{g,s}et_plugin_option() (#5033)
+ + BREAKING/API: removed deprecated global plugin arguments (#5033)
+ + BREAKING/API: removed deprecated streamlink.plugin.api.validate.text (#5404)
+ + BREAKING/API: fixed/changed signatures of HTTPStream, HLSStream and HLSStream.parse_variant_playlist() (#5429)
+ + BREAKING/packaging: new signing key 44448A298D5C3618 (#5449)
+ + Added: experimental streamlink.webbrowser API for extracting data from websites using the system's Chromium-based web browser (#5380, #5381, #5386, #5388, #5410)
+ + See the --webbrowser, --webbrowser-executable and related CLI arguments for more
+ + Added: client-integrity token support to Twitch plugin using the streamlink.webbrowser API (currently only used as a fallback when acquiring the access token fails) (#5414)
+ + Added: {playertitleargs} variable to --player-args (#5310)
+ + Added: with_{video,audio}_only parameters to DASHStream.parse_manifest() (#5340)
+ + Changed: HLS streams to stop early on missing EXT-X-ENDLIST tag when polling the playlist doesn't yield new segments for twice its targetduration value (#5330)
+ + Fixed: regex of optional protocol plugin parameters (#5367)
+ + Fixed plugins: lrt (#5444), mediavitrina (#5376), mitele (#5436), NRK (#5408), pluzz (#5369), rtvs (#5443), showroom (#5390), turkuvaz (#5374), vimeo (#5335), youtube (#5351)
+ + Docs: added migrations page for further guidance on resolving breaking changes (#5433)
+ + Docs: split up, updated and improved API docs (#5398)
+ + Build: moved project metadata to pyproject.toml (PEP621) (#5438)
+ + Dependencies: added trio (#5386), trio-websocket and typing-extensions (#5388), and removed importlib_metadata (#5302)
+
+-------------------------------------------------------------------
Old:
----
streamlink-5.5.1.tar.gz
streamlink-5.5.1.tar.gz.asc
New:
----
streamlink-6.4.2.tar.gz
streamlink-6.4.2.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ streamlink.spec ++++++
--- /var/tmp/diff_new_pack.pGbxv6/_old 2023-12-03 20:49:56.212252368 +0100
+++ /var/tmp/diff_new_pack.pGbxv6/_new 2023-12-03 20:49:56.216252515 +0100
@@ -17,9 +17,10 @@
%define pythons python3
+%{?sle15_python_module_pythons}
Name: streamlink
-Version: 5.5.1
+Version: 6.4.2
Release: 0
Summary: Program to pipe streams from services into a video player
License: BSD-2-Clause
@@ -28,29 +29,36 @@
Source: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{v…
Source1: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{v…
+BuildRequires: %{python_module Sphinx >= 4}
+BuildRequires: %{python_module devel >= 3.8}
+BuildRequires: %{python_module pip >= 9}
+BuildRequires: %{python_module requests >= 2.26}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-BuildRequires: python3-Sphinx >= 4
-BuildRequires: python3-devel >= 3.7
-BuildRequires: python3-pip >= 9
-BuildRequires: python3-requests >= 2.26
-BuildRequires: python3-versioningit >= 2.0.0
-BuildRequires: python3-wheel
-
-# TEST REQUIREMENTS
-BuildRequires: python3-pytest >= 6.0.0
-BuildRequires: python3-PySocks >= 1.5.6
-BuildRequires: python3-certifi
-BuildRequires: python3-freezegun >= 1.0.0
-BuildRequires: python3-isodate
-BuildRequires: python3-lxml >= 4.6.4
-BuildRequires: python3-pycountry
-BuildRequires: python3-pycryptodome >= 3.4.3
-BuildRequires: python3-pytest-asyncio
-BuildRequires: python3-requests-mock
-BuildRequires: python3-urllib3 >= 1.26.0
-BuildRequires: python3-websocket-client >= 1.2.1
-BuildConflicts: python3-PySocks = 1.5.7
+#BuildRequires: %#{python_module versioningit >= 2.0.0}
+BuildRequires: %{python_module wheel}
+
+# SECTION TEST REQUIREMENTS
+BuildRequires: %{python_module pytest >= 6.0.0}
+BuildRequires: %{python_module freezegun >= 1.0.0}
+BuildRequires: %{python_module pytest >= 6.0.0}
+BuildRequires: %{python_module pytest-asyncio}
+BuildRequires: %{python_module pytest-trio}
+BuildRequires: %{python_module requests-mock}
+# /SECTION
+
+BuildRequires: %{python_module PySocks >= 1.5.6}
+BuildRequires: %{python_module certifi}
+BuildRequires: %{python_module isodate}
+BuildRequires: %{python_module lxml >= 4.6.4}
+BuildRequires: %{python_module pycountry}
+BuildRequires: %{python_module pycryptodome >= 3.4.3}
+BuildRequires: %{python_module trio >= 0.22.0}
+BuildRequires: %{python_module trio-websocket >= 0.9.0}
+BuildRequires: %{python_module typing-extensions >= 4.0.0}
+BuildRequires: %{python_module urllib3 >= 1.26.0}
+BuildRequires: %{python_module websocket-client >= 1.2.1}
+BuildConflicts: %{python_module PySocks = 1.5.7}
Requires: python3-PySocks >= 1.5.6
Requires: python3-certifi
@@ -59,6 +67,9 @@
Requires: python3-pycountry
Requires: python3-pycryptodome >= 3.4.3
Requires: python3-requests >= 2.26
+Requires: python3-trio >= 0.22.0
+Requires: python3-trio-websocket >= 0.9.0
+Requires: python3-typing-extensions >= 4.0.0
Requires: python3-urllib3 >= 1.26.0
Requires: python3-websocket-client >= 1.2.1
Conflicts: python3-PySocks = 1.5.7
++++++ streamlink-5.5.1.tar.gz -> streamlink-6.4.2.tar.gz ++++++
++++ 52730 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gns3-gui for openSUSE:Factory checked in at 2023-12-03 20:49:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gns3-gui (Old)
and /work/SRC/openSUSE:Factory/.gns3-gui.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gns3-gui"
Sun Dec 3 20:49:26 2023 rev:19 rq:1130550 version:2.2.44.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gns3-gui/gns3-gui.changes 2023-06-22 23:26:41.606035075 +0200
+++ /work/SRC/openSUSE:Factory/.gns3-gui.new.25432/gns3-gui.changes 2023-12-03 20:49:54.068173609 +0100
@@ -1,0 +2,39 @@
+Sun Nov 26 14:08:35 UTC 2023 - malcolmlewis(a)opensuse.org
+
+- Updated to version 2.2.44.1:
+ * No changes.
+- Add requires to python3-truststore.
+- Changes from version 2.2.44:
+ * Fix timeout issue when creating Qemu disk image,
+ (gh#GNS3/gns3-server#2313).
+ * Refactor command variables support.
+ * Add vendor_logo_url in appliance schemas,
+ (gh#gns3-registry#825).
+ * Add Qemu IGB network device.
+ * Add the ability to edit width and height in the style edit
+ dialog.
+- Changes from version 2.2.43:
+ * Add KiTTY to preconfigured telnet consoles,
+ (gh#GNS3/gns3-gui#3507).
+ * Fix generic icon in Wayland, (gh#GNS3/gns3-gui#3501).
+ * Use importlib instead of pkg_resources.
+ * Upgrade to PyQt 5.15.9.
+ * Add support for appliance version 8 format
+- Changes from version 2.2.42:
+ * Use the system's certificate store for SSL connections.
+ * Give a node some time to start before opening the console (for
+ console auto start), (gh#GNS3/gns3-gui#3474).
+ * Support for gnome-terminal tabs to be opened in the same
+ window.
+ * Remove import urllib3 and let sentry_sdk import and patch it,
+ (gh#GNS3/gns3-gui#3498).
+ * Add import sys in sudo.py.
+ * Rounded Rectangle support.
+- Changes from version 2.2.41:
+ * Remove sending stats to GA.
+ * Catch urllib3 exceptions when sending crash report,
+ (gh#GNS3/gns3-gui#3483.
+ * Backport UEFI boot mode support for Qemu VMs.
+ * Add debug for dropEvent, (gh#GNS3/gns3-server#2242).
+
+-------------------------------------------------------------------
Old:
----
gns3-gui-2.2.40.1.tar.gz
New:
----
gns3-gui-2.2.44.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gns3-gui.spec ++++++
--- /var/tmp/diff_new_pack.IygHUx/_old 2023-12-03 20:49:54.856202556 +0100
+++ /var/tmp/diff_new_pack.IygHUx/_new 2023-12-03 20:49:54.856202556 +0100
@@ -17,7 +17,7 @@
Name: gns3-gui
-Version: 2.2.40.1
+Version: 2.2.44.1
Release: 0
Summary: GNS3 graphical interface for the GNS3 server
License: GPL-3.0-or-later
@@ -36,6 +36,7 @@
Requires: python3-psutil >= 5.9.4
Requires: python3-qt5
Requires: python3-sentry-sdk >= 1.17.0
+Requires: python3-truststore
Recommends: gns3-server
Recommends: libcap-progs
Recommends: sudo
++++++ gns3-gui-2.2.40.1.tar.gz -> gns3-gui-2.2.44.1.tar.gz ++++++
++++ 4766 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package shotcut for openSUSE:Factory checked in at 2023-12-03 20:49:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shotcut (Old)
and /work/SRC/openSUSE:Factory/.shotcut.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shotcut"
Sun Dec 3 20:49:24 2023 rev:60 rq:1130549 version:23.11.29
Changes:
--------
--- /work/SRC/openSUSE:Factory/shotcut/shotcut.changes 2023-10-04 22:31:26.779630033 +0200
+++ /work/SRC/openSUSE:Factory/.shotcut.new.25432/shotcut.changes 2023-12-03 20:49:51.584082361 +0100
@@ -1,0 +2,77 @@
+Sat Dec 2 20:33:36 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 23.11.29:
+ Improvements:
+ * Added Crop:Rectangle > Apply to Source button. This button is only enabled when the aspect ratio of the
+ source media matches your project’s Video Mode because it is impossible to include the black padding that
+ Shotcut adds to a source. This feature is the primary way to simply “crop a video.” You do not need to use the
+ timeline for this. You can simply:
+ 1. set Settings > Video Mode to Automatic,
+ 2. open a video file,
+ 3. add the Crop: Rectangle video filter,
+ 4. adjust the rectangle control in the player,
+ 5. click Apply to Source in the Filters panel,
+ 6. choose Yes in the dialog asking to change the Video Mode, and
+ 7. Export.
+ * Added Opacity to GPS Text, Text: Simple, and Timer filters.
+ * Improved performance of Timeline > Zoom.
+ * Added rectangular selection to Timeline.
+ * Added Settings > Timeline > Rectangle Select.
+ This is on by default, and scrubbing with the mouse on the timeline requires clicking near the play head.
+ When this is on, hold Shift to turn it off temporarily. When this is off, hold Shift to temporarily turn it
+ on.
+ * Changed the Smooth keyframe type to avoid overshoots and cusps.
+ This only applies to new projects made with this and future versions. Thus, the behavior of smooth keyframes
+ made with an earlier version remains the same for compatibility reasons.
+ * Added Ease In, Ease Out, and Ease In/Out to Keyframes.
+ This also changes the appearance of keyframes in the timeline view of Keyframes to make it more clear where
+ the behavior applies - between keyframes. Remember this: when thinking about “in” or “out”, for Shotcut “in”
+ refers to the beginning of something - a clip, filter, or parameter between keyframes. And “out” refers to
+ the end of something. So, this is not easing into a keyframe and easing out of a keyframe. Rather, it is
+ easing into or out of the change/segment/span/tween of a parameter between keyframes.
+ * Added Properties > View Bitrate….
+ If you have ever used the classic Bitrate Viewer for Windows and frustrated with the lack of updates or not
+ available on your current OS, here you go.
+ * Added a Track Auto Fade Video filter. This can only be added to tracks and makes a dip to black or other
+ color or fade in and out opacity for overlays to each clip.
+ * Changed Export > Codec and Audio to disable some options when a lossless-only or an intra-only codec is
+ selected.
+ * Added Settings > Timeline > Automatically Add Tracks.
+ The defaults for this is off because adding tracks increases memory usage. Also, it does not automatically
+ add a track if nothing is in the Timeline as the timeline is optional in Shotcut. Also, it does not
+ automatically add a track when you open a project with no empty tracks. It only adds tracks when you add
+ something to the timeline or move a clip between tracks.
+ * Added a button in Filters to save a filter set and change the Copy checked filters button to not show a
+ dialog.
+ * Added Filters > Set > Glow Intensity.
+ This demonstrates how you can mix a filtered output with the input to reduce it. Also, change the Mask: From
+ File > Treshold to do a side-by-side comparison with and without the filter.
+ * Added Split at Playhead back into the timeline clip context menu.
+ * Changed the Save option in the low memory dialog to perform a backup and save to prevent breaking projects.
+ * Added support for av1_nvenc NVIDIA AV1 hardware encoder on Windows and Linux.
+ * Upgraded MLT to version 7.22.0.
+ New Bugs:
+ * Fixed honoring the “Do not show this anymore” checkbox in the Convert to Edit-friendly dialog (configuration
+ key showConvertClipDialog) (broke in v23.09).
+ * Fixed the new batch convert dialog (View > Resources) appeared instead of the old Convert to Edit-friendly
+ one when dragging a single concerning clip to Playlist or Timeline (broke in v23.09).
+ * Fixed Motion Tracker filters are forgotten upon switching to Source player (broke in v23.09).
+ * Fixed Mask: Simple Shape > Softness not working on macOS (broke in v23.05).
+ * Fixed saving a favorite for Filters > + > Sets.
+ * Fixed Timeline appears all white on Qt 6.6.
+ * Fixed libvpx security vulnerability CVE-2023-5217.
+ * Fixed libwebp security vulnerability CVE-2023-4863.
+ Old Bugs:
+ * Fixed Text: Simple > #createdate# keyword deletes preceding text.
+ * Fixed a crash when opening View > Scopes > Audio Loudness.
+ * Fixed marker at start of the next clip was deleted when using Timeline > Edit > Ripple Trim Clip Out.
+ * Fixed Properties > Transition changes were lost when Undo after trimming a clip’s out point on the Timeline.
+ * Fixed a crash when Undo after trimming a transition that resulted in a new transition. With this fix Shotcut
+ no longer permits creating a new transition within the same mouse drag that removes a transition.
+ * Fixed AMD (AMF) quality options in a saved Export preset shows up in the Other tab overriding Codec >
+ Quality.
+ * Fixed YouTube export preset is not H.264 high profile with some hardware encoders.
+ * Fixed a memory leak when using YADIF deinterlacers.
+ * Fixed color of export from still images when using full range and pix_fmt=yuv444p.
+
+-------------------------------------------------------------------
Old:
----
shotcut-23.09.29.tar.gz
New:
----
shotcut-23.11.29.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shotcut.spec ++++++
--- /var/tmp/diff_new_pack.16ncSS/_old 2023-12-03 20:49:52.320109398 +0100
+++ /var/tmp/diff_new_pack.16ncSS/_new 2023-12-03 20:49:52.320109398 +0100
@@ -27,7 +27,7 @@
#%%(pkg-config --modversion Qt6Core)
%bcond_with x264
Name: shotcut
-Version: 23.09.29
+Version: 23.11.29
Release: 0
Summary: Video and audio editor and creator
License: GPL-3.0-or-later
@@ -41,6 +41,7 @@
BuildRequires: pkgconfig
BuildRequires: qt6-declarative-private-devel >= 6.4.3
BuildRequires: update-desktop-files
+BuildRequires: cmake(Qt6Charts)
BuildRequires: cmake(Qt6Concurrent) >= 6.4.3
BuildRequires: cmake(Qt6Core) >= 6.4.3
BuildRequires: cmake(Qt6Gui)
@@ -57,7 +58,7 @@
BuildRequires: cmake(Qt6WebSockets)
BuildRequires: cmake(Qt6Xml)
BuildRequires: pkgconfig(fftw3)
-BuildRequires: pkgconfig(mlt++-7)
+BuildRequires: pkgconfig(mlt++-7) >= 7.22.0
BuildRequires: pkgconfig(mlt-framework-7)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(vpx)
++++++ shotcut-23.09.29.tar.gz -> shotcut-23.11.29.tar.gz ++++++
/work/SRC/openSUSE:Factory/shotcut/shotcut-23.09.29.tar.gz /work/SRC/openSUSE:Factory/.shotcut.new.25432/shotcut-23.11.29.tar.gz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libmlt for openSUSE:Factory checked in at 2023-12-03 20:49:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmlt (Old)
and /work/SRC/openSUSE:Factory/.libmlt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmlt"
Sun Dec 3 20:49:23 2023 rev:72 rq:1130548 version:7.22.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmlt/libmlt.changes 2023-10-13 23:16:28.810952347 +0200
+++ /work/SRC/openSUSE:Factory/.libmlt.new.25432/libmlt.changes 2023-12-03 20:49:47.787942918 +0100
@@ -1,0 +2,70 @@
+Sat Dec 2 20:47:16 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 7.22.0:
+ Framework:
+ * Added new functions:
+ + mlt_property_is_color()
+ + mlt_property_is_numeric()
+ + mlt_property_is_rect()
+ * Many new keyframe types:
+ + mlt_keyframe_smooth_loose - ~= (same as old mlt_keyframe_smooth - Unity Catmull-Rom spline)
+ + mlt_keyframe_smooth_natural - $= (Centripetal Catmull-Rom spline with natural slope)
+ + mlt_keyframe_smooth_tight - -= (Centripetal Catmull-Rom spline with 0 slope)
+ + mlt_keyframe_sinusoidal_in - a=
+ + mlt_keyframe_sinusoidal_out - b=
+ + mlt_keyframe_sinusoidal_in_out - c=
+ + mlt_keyframe_quadratic_in - d=
+ + mlt_keyframe_quadratic_out - e=
+ + mlt_keyframe_quadratic_in_out - f=
+ + mlt_keyframe_cubic_in - g=
+ + mlt_keyframe_cubic_out - h=
+ + mlt_keyframe_cubic_in_out - i=
+ + mlt_keyframe_quartic_in - j=
+ + mlt_keyframe_quartic_out - k=
+ + mlt_keyframe_quartic_in_out - l=
+ + mlt_keyframe_quintic_in - m=
+ + mlt_keyframe_quintic_out - n=
+ + mlt_keyframe_quintic_in_out - o=
+ + mlt_keyframe_exponential_in - p=
+ + mlt_keyframe_exponential_out - q=
+ + mlt_keyframe_exponential_in_out - r=
+ + mlt_keyframe_circular_in - s=
+ + mlt_keyframe_circular_out - t=
+ + mlt_keyframe_circular_in_out - u=
+ + mlt_keyframe_back_in - v=
+ + mlt_keyframe_back_out - w=
+ + mlt_keyframe_back_in_out - x=
+ + mlt_keyframe_elastic_in - y=
+ + mlt_keyframe_elastic_out - z=
+ + mlt_keyframe_elastic_in_out - A=
+ + mlt_keyframe_bounce_in - B=
+ + mlt_keyframe_bounce_out - C=
+ + mlt_keyframe_bounce_in_out - D=
+ * Fixed missing support for mlt_service_transition in Mlt::Producer() C++ constructor.
+ Modules:
+ * Fixed rotoscoping filter crash on image with height = 0.
+ * Fixed crashed due to qtblend transition requesting an image of 0 width or height.
+ * Added support for RtAudio 6 in the rtaudio consumer.
+ * Fixed createdate keyword deletes preceeding text in dynamictext filter.
+ * Added opacity property to filters that use qtext:
+ + dynamictext
+ + gpstext
+ + qtext
+ + timer
+ * Added fade_video, fade_audio, and fade_color properties to autofade filter.
+ * Added backwards compatibility for changed filter names in frei0r v2.3.1:
+ + frei0r.measure_pr0be
+ + frei0r.measure_pr0file
+ + frei0r.tehroxx0r
+ + frei0r.alpha0ps_alpha0ps
+ + frei0r.alpha0ps_alphagrad
+ + frei0r.alpha0ps_alphaspot
+ + frei0r.denoise_hqdn3d
+ * Fixed a memory leak in avformat producer with consumer deinterlacer=yadif.
+ * Fixed qimage producer color if consumer color_range=pc pix_fmt=yuv444p.
+ Other:
+ * Fixed ten_bit/ProRes 422 avformat preset produced ProRes 444.
+ * Fixed YouTube avformat preset did not output high profile with some hardware encoders.
+- Remove 0001-fix-930-support-RtAudio-6.patch
+
+-------------------------------------------------------------------
Old:
----
0001-fix-930-support-RtAudio-6.patch
mlt-7.20.0.tar.gz
New:
----
mlt-7.22.0.tar.gz
BETA DEBUG BEGIN:
Old: * Fixed YouTube avformat preset did not output high profile with some hardware encoders.
- Remove 0001-fix-930-support-RtAudio-6.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmlt.spec ++++++
--- /var/tmp/diff_new_pack.cqVSbe/_old 2023-12-03 20:49:49.620010215 +0100
+++ /var/tmp/diff_new_pack.cqVSbe/_new 2023-12-03 20:49:49.620010215 +0100
@@ -18,26 +18,24 @@
%define _name mlt
%define libname lib%{_name}
-%define lversion 7.20.0
+%define lversion 7.22.0
%define sover 7
%define lib_pkgname %{libname}-%{sover}-%{sover}
%define _name_pp %{_name}++
%define libname_pp lib%{_name_pp}
%define sover_pp 7
-%define lversion_pp 7.20.0
+%define lversion_pp 7.22.0
%define libpp_pkgname %{libname_pp}-%{sover_pp}-%{sover_pp}
%bcond_without Qt6
%bcond_without rtaudio
Name: %{libname}
-Version: 7.20.0
+Version: 7.22.0
Release: 0
Summary: Multimedia framework for television broadcasting
License: GPL-3.0-or-later
Group: Development/Libraries/C and C++
URL: https://www.mltframework.org
Source0: https://github.com/mltframework/mlt/releases/download/v%{version}/mlt-%{ver…
-# see https://github.com/mltframework/mlt/issues/930
-Patch0: 0001-fix-930-support-RtAudio-6.patch
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc-c++
++++++ mlt-7.20.0.tar.gz -> mlt-7.22.0.tar.gz ++++++
++++ 25758 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2023-12-03 20:49:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Sun Dec 3 20:49:21 2023 rev:403 rq:1130531 version:4.6.1701427827.ab6274c
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2023-12-01 21:25:46.894788816 +0100
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.25432/os-autoinst.changes 2023-12-03 20:49:45.811870331 +0100
@@ -1,0 +2,13 @@
+Sun Dec 03 02:25:36 UTC 2023 - okurz(a)suse.com
+
+- Update to version 4.6.1701427827.ab6274c:
+ * Speedup isotovideo test slightly by disabling the video encoder
+ * Avoid sleep after cloning via Git failed and retries are exhausted
+ * Speed up isotovideo test
+ * openvswitch: Ensure a consistent MTU size compatible with GRE tunnels
+ * Fix connection delete behavior when no connection is present
+ * Refactor common parts
+ * Add support for NetworkManager in setup multi-machine script
+ * Fix shell-check warnings
+
+-------------------------------------------------------------------
Old:
----
os-autoinst-4.6.1701346324.3e38557.obscpio
New:
----
os-autoinst-4.6.1701427827.ab6274c.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.giAaSO/_old 2023-12-03 20:49:46.867909123 +0100
+++ /var/tmp/diff_new_pack.giAaSO/_new 2023-12-03 20:49:46.867909123 +0100
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.6.1701346324.3e38557
+Version: 4.6.1701427827.ab6274c
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.giAaSO/_old 2023-12-03 20:49:46.891910004 +0100
+++ /var/tmp/diff_new_pack.giAaSO/_new 2023-12-03 20:49:46.891910004 +0100
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.6.1701346324.3e38557
+Version: 4.6.1701427827.ab6274c
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
++++++ os-autoinst-4.6.1701346324.3e38557.obscpio -> os-autoinst-4.6.1701427827.ab6274c.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.6.1701346324.3e38557.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.25432/os-autoinst-4.6.1701427827.ab6274c.obscpio differ: char 50, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.giAaSO/_old 2023-12-03 20:49:46.959912502 +0100
+++ /var/tmp/diff_new_pack.giAaSO/_new 2023-12-03 20:49:46.959912502 +0100
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.6.1701346324.3e38557
-mtime: 1701346324
-commit: 3e385570b519ee99afc72c0ffcfba109f3f68dcc
+version: 4.6.1701427827.ab6274c
+mtime: 1701427827
+commit: ab6274c35b0ac6643b34cd9c5e026c724fab1717
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openQA for openSUSE:Factory checked in at 2023-12-03 20:49:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Sun Dec 3 20:49:19 2023 rev:526 rq:1130529 version:4.6.1701437900.fbad594
Changes:
--------
openQA-devel-test.changes: same change
openQA-test.changes: same change
openQA-worker-test.changes: same change
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes 2023-12-01 21:25:43.826676133 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.25432/openQA.changes 2023-12-03 20:49:42.079733239 +0100
@@ -1,0 +2,6 @@
+Sun Dec 03 02:14:34 UTC 2023 - okurz(a)suse.com
+
+- Update to version 4.6.1701437900.fbad594:
+ * Dependency cron 2023-12-01
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1701312647.3c8b171.obscpio
New:
----
openQA-4.6.1701437900.fbad594.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.9K3R6r/_old 2023-12-03 20:49:43.171773353 +0100
+++ /var/tmp/diff_new_pack.9K3R6r/_new 2023-12-03 20:49:43.171773353 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1701312647.3c8b171
+Version: 4.6.1701437900.fbad594
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.9K3R6r/_old 2023-12-03 20:49:43.195774234 +0100
+++ /var/tmp/diff_new_pack.9K3R6r/_new 2023-12-03 20:49:43.199774381 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1701312647.3c8b171
+Version: 4.6.1701437900.fbad594
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.9K3R6r/_old 2023-12-03 20:49:43.223775263 +0100
+++ /var/tmp/diff_new_pack.9K3R6r/_new 2023-12-03 20:49:43.223775263 +0100
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1701312647.3c8b171
+Version: 4.6.1701437900.fbad594
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.9K3R6r/_old 2023-12-03 20:49:43.247776145 +0100
+++ /var/tmp/diff_new_pack.9K3R6r/_new 2023-12-03 20:49:43.251776292 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1701312647.3c8b171
+Version: 4.6.1701437900.fbad594
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.9K3R6r/_old 2023-12-03 20:49:43.275777173 +0100
+++ /var/tmp/diff_new_pack.9K3R6r/_new 2023-12-03 20:49:43.275777173 +0100
@@ -78,7 +78,7 @@
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1701312647.3c8b171
+Version: 4.6.1701437900.fbad594
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ openQA-4.6.1701312647.3c8b171.obscpio -> openQA-4.6.1701437900.fbad594.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1701312647.3c8b171.obscpio /work/SRC/openSUSE:Factory/.openQA.new.25432/openQA-4.6.1701437900.fbad594.obscpio differ: char 50, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.9K3R6r/_old 2023-12-03 20:49:43.347779818 +0100
+++ /var/tmp/diff_new_pack.9K3R6r/_new 2023-12-03 20:49:43.351779965 +0100
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1701312647.3c8b171
-mtime: 1701312647
-commit: 3c8b171d6b82a462969346252e20775098476ac3
+version: 4.6.1701437900.fbad594
+mtime: 1701437900
+commit: fbad594869b18e0f25526c01b458f5284ddf6dd3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libwrc for openSUSE:Factory checked in at 2023-12-03 20:49:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libwrc (Old)
and /work/SRC/openSUSE:Factory/.libwrc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libwrc"
Sun Dec 3 20:49:18 2023 rev:23 rq:1130522 version:20231202
Changes:
--------
--- /work/SRC/openSUSE:Factory/libwrc/libwrc.changes 2023-08-09 17:25:35.925509330 +0200
+++ /work/SRC/openSUSE:Factory/.libwrc.new.25432/libwrc.changes 2023-12-03 20:49:39.479637730 +0100
@@ -1,0 +2,6 @@
+Sat Dec 2 19:52:38 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231202
+ * Improved Python Unicode handling
+
+-------------------------------------------------------------------
Old:
----
libwrc-experimental-20230318.tar.gz
libwrc-experimental-20230318.tar.gz.asc
New:
----
libwrc-experimental-20231202.tar.gz
libwrc-experimental-20231202.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libwrc.spec ++++++
--- /var/tmp/diff_new_pack.sT3Zl4/_old 2023-12-03 20:49:40.555677256 +0100
+++ /var/tmp/diff_new_pack.sT3Zl4/_new 2023-12-03 20:49:40.555677256 +0100
@@ -18,7 +18,7 @@
Name: libwrc
%define lname libwrc1
-Version: 20230318
+Version: 20231202
Release: 0
Summary: Library to support the Windows Resource Compiler format
License: LGPL-3.0-or-later
@@ -42,12 +42,12 @@
BuildRequires: pkgconfig(libcthreads) >= 20220102
BuildRequires: pkgconfig(libexe) >= 20210424
BuildRequires: pkgconfig(libfcache) >= 20230115
-BuildRequires: pkgconfig(libfdata) >= 20220111
+BuildRequires: pkgconfig(libfdata) >= 20230319
BuildRequires: pkgconfig(libfdatetime) >= 20220112
BuildRequires: pkgconfig(libfguid) >= 20220113
BuildRequires: pkgconfig(libfvalue) >= 20220120
-BuildRequires: pkgconfig(libfwnt) >= 20220922
-BuildRequires: pkgconfig(libuna) >= 20220611
+BuildRequires: pkgconfig(libfwnt) >= 20231124
+BuildRequires: pkgconfig(libuna) >= 20230710
BuildRequires: pkgconfig(python3)
%python_subpackages
# Various notes: https://en.opensuse.org/libyal
++++++ libwrc-experimental-20230318.tar.gz -> libwrc-experimental-20231202.tar.gz ++++++
++++ 17061 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-axes for openSUSE:Factory checked in at 2023-12-03 20:49:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-axes (Old)
and /work/SRC/openSUSE:Factory/.python-django-axes.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-axes"
Sun Dec 3 20:49:16 2023 rev:5 rq:1130520 version:6.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-axes/python-django-axes.changes 2023-03-06 18:55:17.956587535 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-axes.new.25432/python-django-axes.changes 2023-12-03 20:49:37.603568816 +0100
@@ -1,0 +2,42 @@
+Sat Dec 2 20:19:59 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.1.1:
+ * Fix ``TransactionManagementError`` when using the database
+ handler with a custom database with for ``AccessAttempt`` or
+ ``AccessFailureLog``.
+ * Set ``AXES_SENSITIVE_PARAMETERS`` default value to
+ ``["username", "ip_address"]`` in addition to the
+ ``AXES_PASSWORD_FORM_FIELD`` configuration flag.
+ * Improve documentation on GDPR and privacy notes and
+ configuration flags.
+ * Add Indonesion translation.
+ * Remove unused methods from AxesStandaloneBackend.
+ * Add username to admin fieldsets.
+ * Add Django system checks for validating callable import path
+ settings.
+ * Improve documentation.
+ * Improve repository issue and PR templates.
+ * Fine-tune CI pipelines and RTD build requirements.
+ * Version 6 is a breaking release. Please see the documentation
+ for upgrade instructions.
+ * Deprecate Python 3.7 support.
+ * Deprecate ``is_admin_site`` API call with misleading naming.
+ * Add ``AXES_LOCKOUT_PARAMETERS`` configuration flag that will
+ supersede ``AXES_ONLY_USER_FAILURES``,
+ ``AXES_LOCK_OUT_BY_COMBINATION_USER_AND_IP``,
+ ``AXES_LOCK_OUT_BY_USER_OR_IP``, and ``AXES_USE_USER_AGENT``
+ configurations. Add deprecation warnings for old flags. See
+ project documentation on RTD for update instructions.
+ * Improve translations.
+ * Use Django ``cache.incr`` API for atomic cached failure
+ counting
+ * Make ``django-ipware`` an optional dependency. Install it
+ with e.g. ``pip install django-axes[ipware]`` package and
+ extras specifier. [aleksihakli]
+ * Deprecate and rename old configuration flags. Old flags will
+ be removed in or after version ``6.1``. [aleksihakli]
+ * Fix sensitive parameter logging for database handler.
+ * Add ``AXES_CLIENT_CALLABLE`` setting.
+ * Update Python, Django, and package versions.
+
+-------------------------------------------------------------------
Old:
----
django-axes-5.40.1.tar.gz
New:
----
django-axes-6.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-axes.spec ++++++
--- /var/tmp/diff_new_pack.dKteGK/_old 2023-12-03 20:49:38.687608636 +0100
+++ /var/tmp/diff_new_pack.dKteGK/_new 2023-12-03 20:49:38.687608636 +0100
@@ -16,27 +16,25 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
-%define skip_python36 1
+%{?sle15_python_module_pythons}
Name: python-django-axes
-Version: 5.40.1
+Version: 6.1.1
Release: 0
License: MIT
Summary: Keep track of failed login attempts in Django-powered sites
-URL: https://github.com/jazzband/django-axes
Group: Development/Languages/Python
+URL: https://github.com/jazzband/django-axes
Source: https://files.pythonhosted.org/packages/source/d/django-axes/django-axes-%{…
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: python-rpm-macros
# SECTION test requirements
-BuildRequires: %{python_module Django >= 2.2}
+BuildRequires: %{python_module Django >= 3.2}
BuildRequires: %{python_module django-ipware >= 3}
BuildRequires: %{python_module pytest-django}
# /SECTION
BuildRequires: fdupes
-Requires: python-Django >= 2.2
+Requires: python-Django >= 3.2
Requires: python-django-ipware >= 3
BuildArch: noarch
++++++ django-axes-5.40.1.tar.gz -> django-axes-6.1.1.tar.gz ++++++
++++ 3991 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-apsw for openSUSE:Factory checked in at 2023-12-03 20:49:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-apsw (Old)
and /work/SRC/openSUSE:Factory/.python-apsw.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-apsw"
Sun Dec 3 20:49:15 2023 rev:20 rq:1130519 version:3.44.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-apsw/python-apsw.changes 2023-11-15 21:09:48.422952504 +0100
+++ /work/SRC/openSUSE:Factory/.python-apsw.new.25432/python-apsw.changes 2023-12-03 20:49:36.723536490 +0100
@@ -1,0 +2,15 @@
+Sat Dec 2 20:18:36 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.44.2.0:
+ * Added `logger` parameter to :func:`apsw.ext.log_sqlite` to
+ use a specific :class:`logging.Logger` (:issue:`493`)
+ * Added :func:`apsw.ext.result_string` to turn an result code
+ into a string, taking into account if it is extended or not.
+ * Provide detail when C implemented objects are printed. For
+ example :class:`connections <Connection>` include the filename.
+ * Added :meth:`URIFilename.parameters` (:issue:`496`)
+ * :class:`URIFilename` are only valid for the duration of the
+ :meth:`VFS.xOpen` call. If you save and use the object later
+ you will get an exception. (:issue:`501`)
+
+-------------------------------------------------------------------
Old:
----
apsw-3.44.0.0.tar.gz
New:
----
apsw-3.44.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-apsw.spec ++++++
--- /var/tmp/diff_new_pack.OHZpkc/_old 2023-12-03 20:49:37.231555151 +0100
+++ /var/tmp/diff_new_pack.OHZpkc/_new 2023-12-03 20:49:37.231555151 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-apsw
-Version: 3.44.0.0
+Version: 3.44.2.0
Release: 0
Summary: Another Python SQLite Wrapper
License: Zlib
++++++ apsw-3.44.0.0.tar.gz -> apsw-3.44.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/Makefile new/apsw-3.44.2.0/Makefile
--- old/apsw-3.44.0.0/Makefile 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/Makefile 2023-11-29 17:45:17.000000000 +0100
@@ -1,8 +1,8 @@
-SQLITEVERSION=3.44.0
+SQLITEVERSION=3.44.2
APSWSUFFIX=.0
-RELEASEDATE="6 November 2023"
+RELEASEDATE="30 November 2023"
VERSION=$(SQLITEVERSION)$(APSWSUFFIX)
VERDIR=apsw-$(VERSION)
@@ -76,7 +76,7 @@
dev-depends: ## pip installs packages useful for development (none are necessary except setuptools)
$(PYTHON) -m pip install -U --upgrade-strategy eager build wheel setuptools pip
- $(PYTHON) -m pip install -U --upgrade-strategy eager yapf mypy pdbpp coverage flake8
+ $(PYTHON) -m pip install -U --upgrade-strategy eager mypy pdbpp coverage flake8 ruff
# This is probably gnu make specific but only developers use this makefile
$(GENDOCS): doc/%.rst: src/%.c tools/code2rst.py
@@ -95,6 +95,7 @@
build_ext: src/apswversion.h apsw/__init__.pyi src/apsw.docstrings ## Fetches SQLite and builds the extension
env $(PYTHON) setup.py fetch --version=$(SQLITEVERSION) --all build_ext -DSQLITE_ENABLE_COLUMN_METADATA --inplace --force --enable-all-extensions
+ env $(PYTHON) setup.py build_test_extension
src/faultinject.h: tools/genfaultinject.py
-rm src/faultinject.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/apsw/__init__.pyi new/apsw-3.44.2.0/apsw/__init__.pyi
--- old/apsw-3.44.0.0/apsw/__init__.pyi 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/apsw/__init__.pyi 2023-11-29 17:45:17.000000000 +0100
@@ -1453,7 +1453,9 @@
def pragma(self, name: str, value: Optional[SQLiteValue] = None) -> Any:
"""Issues the pragma (with the value if supplied) and returns the result with
:attr:`the least amount of structure <Cursor.get>`. For example
- :code:`pragma("user_version")` will return just the number.
+ :code:`pragma("user_version")` will return just the number, while
+ :code:`pragma("journal_mode", "WAL")` will return the journal mode
+ now in effect.
Pragmas do not support bindings, so this method is a convenient
alternative to composing SQL text.
@@ -2220,11 +2222,18 @@
or the main database flag is set.
You can safely pass it on to the :class:`VFSFile` constructor
- which knows how to get the name back out."""
+ which knows how to get the name back out. The URIFilename is
+ only valid for the duration of the xOpen call. If you save
+ and use the object later you will get an exception."""
def filename(self) -> str:
"""Returns the filename."""
...
+ parameters: tuple[str, ...]
+ """A tuple of the parameter names present.
+
+ Calls: `sqlite3_uri_key <https://sqlite.org/c3ref/uri_boolean.html>`__"""
+
def uri_boolean(self, name: str, default: bool) -> bool:
"""Returns the boolean value for parameter `name` or `default` if not
present.
@@ -2281,7 +2290,7 @@
`PyErr_Display`."""
...
- def __init__(self, vfs: str, filename: str | URIFilename, flags: list[int, int]):
+ def __init__(self, vfs: str, filename: str | URIFilename, flags: list[int]):
""":param vfs: The vfs you want to inherit behaviour from. You can
use an empty string ``""`` to inherit from the default vfs.
:param name: The name of the file being opened. May be an instance of :class:`URIFilename`.
@@ -3787,6 +3796,8 @@
"""For `Authorizer Action Codes <https://sqlite.org/c3ref/c_alter_table.html>'__"""
SQLITE_REPLACE: int = 5
"""For `Conflict resolution modes <https://sqlite.org/c3ref/c_fail.html>'__"""
+SQLITE_RESULT_SUBTYPE: int = 16777216
+"""For `Function Flags <https://sqlite.org/c3ref/c_deterministic.html>'__"""
SQLITE_ROLLBACK: int = 1
"""For `Conflict resolution modes <https://sqlite.org/c3ref/c_fail.html>'__"""
SQLITE_ROW: int = 100
@@ -4052,7 +4063,8 @@
"""Function Flags mapping names to int and int to names.
Doc at https://sqlite.org/c3ref/c_deterministic.html
-SQLITE_DETERMINISTIC SQLITE_DIRECTONLY SQLITE_INNOCUOUS SQLITE_SUBTYPE"""
+SQLITE_DETERMINISTIC SQLITE_DIRECTONLY SQLITE_INNOCUOUS
+SQLITE_RESULT_SUBTYPE SQLITE_SUBTYPE"""
mapping_limits: dict[str | int, int | str]
"""Run-Time Limit Categories mapping names to int and int to names.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/apsw/bestpractice.py new/apsw-3.44.2.0/apsw/bestpractice.py
--- old/apsw-3.44.0.0/apsw/bestpractice.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/apsw/bestpractice.py 2023-11-29 17:45:17.000000000 +0100
@@ -1,7 +1,6 @@
#
-"""
-Module to ensure SQLite usage prevents common mistakes, and best performance.
-"""
+
+"""Ensure SQLite usage prevents common mistakes, and get best performance."""
from __future__ import annotations
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/apsw/ext.py new/apsw-3.44.2.0/apsw/ext.py
--- old/apsw-3.44.0.0/apsw/ext.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/apsw/ext.py 2023-11-29 17:45:17.000000000 +0100
@@ -41,6 +41,14 @@
return s in _keywords
+def result_string(code: int) -> str:
+ """Turns a result or extended result code into a string.
+ The appropriate mapping based on the value is used."""
+ if code < 256:
+ return apsw.mapping_result_codes.get(code, str(code)) # type: ignore
+ return apsw.mapping_extended_result_codes.get(code, str(code)) # type: ignore
+
+
class DataClassRowFactory:
"""Returns each row as a :mod:`dataclass <dataclasses>`, accessible by column name.
@@ -281,24 +289,24 @@
explain=explain)
-def log_sqlite(*, level: int = logging.ERROR) -> None:
+def log_sqlite(*, level: int = logging.ERROR, logger: logging.Logger | None = None) -> None:
"""Send SQLite `log messages <https://www.sqlite.org/errlog.html>`__ to :mod:`logging`
:param level: level to log at
+ :param logger: Use the specific logger
"""
def handler(errcode: int, message: str) -> None:
nonlocal level
- err_str = apsw.mapping_result_codes.get(errcode & 255, str(errcode))
+ err_str = result_string(errcode)
extra = {"sqlite_code": errcode, "sqlite_code_name": err_str, "sqlite_message": message}
if errcode & 0xff == apsw.SQLITE_WARNING:
level = min(level, logging.WARNING)
- logging.log(level,
- "SQLITE_LOG: %s (%d) %s %s",
+ (logger or logging).log(level,
+ "SQLITE_LOG: %s (%d) %s",
message,
errcode,
err_str,
- apsw.mapping_extended_result_codes.get(errcode, ""),
extra=extra)
apsw.config(apsw.SQLITE_CONFIG_LOG, handler)
@@ -1198,7 +1206,7 @@
return v # type: ignore[no-any-return]
def _Column_repr_invalid(self, which: int) -> apsw.SQLiteValue:
- v = self._Column_get(which) # type: ignore[attr-defined]
+ v = self._Column_get(which) # type: ignore[attr-defined]
return v if v is None or isinstance(v, (int, float, str, bytes)) else repr(v)
def _Column_By_Attr(self, which: int) -> apsw.SQLiteValue:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/apsw/shell.py new/apsw-3.44.2.0/apsw/shell.py
--- old/apsw-3.44.0.0/apsw/shell.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/apsw/shell.py 2023-11-29 17:45:17.000000000 +0100
@@ -2098,7 +2098,7 @@
def log_handler(self, code, message):
"Called with SQLite log messages when logging is ON"
- code = f"( { code } - { apsw.mapping_result_codes.get(code, 'unknown') } ) "
+ code = f"( { code } - { apsw.ext.result_string(code) } ) "
self.write_error(code + message + "\n")
def command_log(self, cmd):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/apsw/tests.py new/apsw-3.44.2.0/apsw/tests.py
--- old/apsw-3.44.0.0/apsw/tests.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/apsw/tests.py 2023-11-29 17:45:17.000000000 +0100
@@ -3460,8 +3460,6 @@
check("I", "en_us", equal=True)
def testJSON1Extension(self):
- if not self.checkOptionalExtension("json1", "select json('{}')"):
- return
# some sanity checks that it is working
l = self.db.cursor().execute("select json_array_length('[1,2,3,4]')").fetchall()[0][0]
self.assertEqual(l, 4)
@@ -5374,14 +5372,13 @@
f"file { filename } function { name } calls PyGILState_Ensure but does not have MakeExistingException"
)
# not further checked
- if name.split("_")[0] in ("ZeroBlobBind", "APSWVFS", "APSWVFSFile", "APSWBuffer", "FunctionCBInfo",
- "apswurifilename"):
+ if name.split("_")[0] in ("ZeroBlobBind", "APSWVFS", "APSWVFSFile", "APSWBuffer", "FunctionCBInfo"):
return
checks = {
"APSWCursor": {
"skip": ("dealloc", "init", "dobinding", "dobindings", "do_exec_trace", "do_row_trace", "step", "close",
- "close_internal", "tp_traverse"),
+ "close_internal", "tp_traverse", "tp_str"),
"req": {
"use": "CHECK_USE",
"closed": "CHECK_CURSOR_CLOSED",
@@ -5391,7 +5388,7 @@
"Connection": {
"skip": ("internal_cleanup", "dealloc", "init", "close", "interrupt", "close_internal",
"remove_dependent", "readonly", "getmainfilename", "db_filename", "traverse", "clear",
- "tp_traverse", "get_cursor_factory", "set_cursor_factory"),
+ "tp_traverse", "get_cursor_factory", "set_cursor_factory", "tp_str"),
"req": {
"use": "CHECK_USE",
"closed": "CHECK_CLOSED",
@@ -5399,7 +5396,7 @@
"order": ("use", "closed")
},
"APSWBlob": {
- "skip": ("dealloc", "init", "close", "close_internal"),
+ "skip": ("dealloc", "init", "close", "close_internal", "tp_str"),
"req": {
"use": "CHECK_USE",
"closed": "CHECK_BLOB_CLOSED"
@@ -5407,7 +5404,7 @@
"order": ("use", "closed")
},
"APSWBackup": {
- "skip": ("dealloc", "init", "close_internal", "get_remaining", "get_page_count"),
+ "skip": ("dealloc", "init", "close_internal", "get_remaining", "get_page_count", "tp_str"),
"req": {
"use": "CHECK_USE",
"closed": "CHECK_BACKUP_CLOSED"
@@ -5457,6 +5454,11 @@
"apswfcntl": {
"req": {}
},
+ "apswurifilename": {
+ "req": {
+ "check": "CHECK_SCOPE"
+ }
+ }
}
prefix, base = name.split("_", 1)
@@ -6190,6 +6192,8 @@
# assertEqual(name.uri_boolean("foo", False), False)
assertEqual(name.uri_boolean("bam", False), True)
assertEqual(name.uri_boolean("baz", True), False)
+ assertRaises(AttributeError, setattr, name, "parameters", 3)
+ assertEqual(name.parameters, ('foo', 'bar', 'bam', 'baz'))
1 / 0
testvfs = TVFS()
@@ -10376,6 +10380,85 @@
else:
self.assertEqual(res, r)
+ def testTpStr(self):
+ "Helpful descriptions of str(apsw objects)"
+ self.db.execute("create table x(y); insert into x values(x'abcdef1012')")
+ blob =self.db.blob_open("main", "x", "y", self.db.last_insert_rowid(), 0)
+ blob2 =self.db.blob_open("main", "x", "y", self.db.last_insert_rowid(), 0)
+ blob2.close()
+ db2=apsw.Connection("")
+ cur2=db2.cursor()
+ cur2.close()
+ db3=apsw.Connection("")
+ cur3=db3.cursor()
+ db3.close()
+ backup2=db2.backup("main", self.db, "main")
+ backup2.close()
+ name_catch=[]
+ class TVFS(apsw.VFS):
+
+ def __init__(self):
+ apsw.VFS.__init__(self, "uritest", "")
+
+ def xOpen(self, name, flags):
+ assert isinstance(name, apsw.URIFilename)
+ name_catch.append((name, str(name)))
+ raise apsw.SQLError()
+
+ # MacOS fails the name we provide returning
+ # cantopen for this, so we avoid their code
+ def xFullPathname(self, name: str) -> str:
+ return name
+
+ t = TVFS()
+
+ with contextlib.suppress(apsw.SQLError):
+ with tempfile.NamedTemporaryFile() as n:
+ apsw.Connection(n.name, vfs="uritest")
+
+ self.assertEqual(len(name_catch), 1)
+ uriname, urinamestr = name_catch[0]
+
+ objects = (self.db,
+ db2,
+ db3,
+ self.db.cursor(),
+ cur2,
+ cur3,
+ apsw.zeroblob(3),
+ blob,
+ blob2,
+ uriname,
+ apsw.VFS("aname", ""),
+ apsw.VFSFile("", self.db.db_filename("main"),
+ [apsw.SQLITE_OPEN_MAIN_DB | apsw.SQLITE_OPEN_CREATE | apsw.SQLITE_OPEN_READWRITE, 0]),
+ db2.backup("main", self.db, "main"),
+ backup2,
+ )
+ for o in objects:
+ self.assertNotEqual(repr(o), str(o))
+ # issue 501
+ if isinstance(o, apsw.URIFilename):
+ self.assertNotEqual(repr(o), urinamestr)
+ self.assertNotEqual(str(o), urinamestr)
+
+ # more issue 501
+ with contextlib.suppress(ValueError):
+ uriname.filename()
+ 1/0
+ with contextlib.suppress(ValueError):
+ uriname.parameters
+ 1/0
+ with contextlib.suppress(ValueError):
+ uriname.uri_boolean("name", False)
+ 1/0
+ with contextlib.suppress(ValueError):
+ uriname.uri_int("name", 0)
+ 1/0
+ with contextlib.suppress(ValueError):
+ uriname.uri_parameter("name")
+ 1/0
+
# This test is run last by deliberate name choice. If it did
# uncover any bugs there isn't much that can be done to turn the
# checker off.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/checksums new/apsw-3.44.2.0/checksums
--- old/apsw-3.44.0.0/checksums 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/checksums 2023-11-29 17:45:17.000000000 +0100
@@ -1,23 +1,23 @@
# This file contains checksums/hashes of SQLite so that we can verify
# downloads using fetch command to setup.py have not been
-# tampered with. See https://rogerbinns.github.io/apsw/build.html#additional-setup-py-flags
+# tampered with. See https://rogerbinns.github.io/apsw/install.html#fetch
# for information on setup.py flags.
-# Format is URL length SHA1 MD5 all on one line. Yes SHA1 and MD5 are
-# considered weakened, but it would take a fairly incredible feat to
-# come up with something that has the same length and SHA1 and MD5
-# hashes. This extra checking mechanism is to give you a little bit
+# Format is URL length sha256 sha3_256 all on one line.
+# This extra checking mechanism is to give you a little bit
# more peace of mind because the SQLite releases are not signed in any
# way.
-https://sqlite.org/2023/sqlite-autoconf-3410000.tar.gz 3124499 a7cb1364d5af52a8230c048877e657d49a8dda44 ff001143636ee7cf899020abdbc8cb89
-https://sqlite.org/2023/sqlite-autoconf-3410100.tar.gz 3125153 e77599a2df4c5b114c942ddba4483550d8982bf2 c6d5034cf39232299ccfdf8e3ddc5781
-https://sqlite.org/2023/sqlite-autoconf-3410200.tar.gz 3125545 f5a8a9ad5552b19fb5a41cf5536c8ab3b9bce82e 862075fd1c38324878ef809eda39edfe
+https://sqlite.org/2023/sqlite-autoconf-3440200.tar.gz 3204841 1c6719a148bc41cf0f2bbbe3926d7ce3f5ca09d878f1246fcc20767b175bb407 6c427f0547e2f7babe636b748dd5d5a1f2f31601adadef7e2805e7d1f7171861
+https://sqlite.org/2023/sqlite-autoconf-3440100.tar.gz 3204737 63c3181633844adb5e36187f75b8f31a51cd32487992a26b89bf26b22ecdcf48 c405017524ddad7957ede0fc471986a7125b977adbcd7c5b785f2108dbee992d
+https://sqlite.org/2023/sqlite-autoconf-3440000.tar.gz 3198005 b9cd386e7cd22af6e0d2a0f06d0404951e1bef109e42ea06cc0450e10cd15550 6869046465eae886f1a9f2c8debeeba44d34328693aa77a5bd4a3cfed93d6556
-https://sqlite.org/2023/sqlite-autoconf-3420000.tar.gz 3148813 036575929b174c1b829769255491ba2b32bda9ee 0c5a92bc51cf07cae45b4a1e94653dea
+https://sqlite.org/2023/sqlite-autoconf-3430200.tar.gz 3177625 6d422b6f62c4de2ca80d61860e3a3fb693554d2f75bb1aaca743ccc4d6f609f0 a7463a45ed58849200858e514b79f7e5f5d69850047897c5b659a78a0bc75cc1
+https://sqlite.org/2023/sqlite-autoconf-3430100.tar.gz 3175971 39116c94e76630f22d54cd82c3cea308565f1715f716d1b2527f1c9c969ba4d9 fd32866c281539eae95cd90b5c2c34337d8808822a988211b9b009c1e788e42d
+https://sqlite.org/2023/sqlite-autoconf-3430000.tar.gz 3178199 49008dbf3afc04d4edc8ecfc34e4ead196973034293c997adad2f63f01762ae1 cc321c7b0a70f87aaefe5d0aa89cdd97b432c3d2d448fa623f20988007c49f34
-https://sqlite.org/2023/sqlite-autoconf-3430000.tar.gz 3178199 59e8c695e34bf1bc9aeb076530f84f66d0f30a5e f321a958aed13fb5f8773ae2f3504c0b
-https://sqlite.org/2023/sqlite-autoconf-3430100.tar.gz 3175971 194f57642f191939a16399208a10b5e0a827b916 77e61befe9c3298da0504f87772a24b0
-https://sqlite.org/2023/sqlite-autoconf-3430200.tar.gz 3177625 cf9fbab967e3d924c7d6fc5b8e4a23a81d067fa5 94fb06bfebc437762e489c355ae63716
+https://sqlite.org/2023/sqlite-autoconf-3420000.tar.gz 3148813 7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6 643898e9fcc8f6069bcd47b0e6057221c1ed17bbee57da20d2752c79d91274e8
-https://sqlite.org/2023/sqlite-autoconf-3440000.tar.gz 3198005 5afebfa26abefb98c2fa4c3dc010260f398c176a 7d4a49f724ad0643f3c4bf7e5a5838c0
\ No newline at end of file
+https://sqlite.org/2023/sqlite-autoconf-3410200.tar.gz 3125545 e98c100dd1da4e30fa460761dab7c0b91a50b785e167f8c57acc46514fae9499 1ebb5539dd6fde9a0f89e8ab765af0b9f02010fc6baf6985b54781a38c00020a
+https://sqlite.org/2023/sqlite-autoconf-3410100.tar.gz 3125153 4dadfbeab9f8e16c695d4fbbc51c16b2f77fb97ff4c1c3d139919dfc038c9e33 38ecb6b086c5c1ee1e52b57556745055328ac912929ccade9deaefdd71033ddb
+https://sqlite.org/2023/sqlite-autoconf-3410000.tar.gz 3124499 49f77ac53fd9aa5d7395f2499cb816410e5621984a121b858ccca05310b05c70 d783ab44a2b44394331d392b8b8d4d2ea4964cbb2befc7c6c649bcfbdb3c9ffe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/doc/bestpractice.rst new/apsw-3.44.2.0/doc/bestpractice.rst
--- old/apsw-3.44.0.0/doc/bestpractice.rst 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/doc/bestpractice.rst 2023-11-29 17:45:17.000000000 +0100
@@ -31,5 +31,6 @@
---
.. automodule:: apsw.bestpractice
+ :synopsis: Ensure SQLite usage prevents common mistakes, and get best performance
:members:
:undoc-members:
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/doc/changes.rst new/apsw-3.44.2.0/doc/changes.rst
--- old/apsw-3.44.0.0/doc/changes.rst 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/doc/changes.rst 2023-11-29 17:45:17.000000000 +0100
@@ -10,6 +10,25 @@
APSW changes by version
-----------------------
+3.44.2.0
+========
+
+Added `logger` parameter to :func:`apsw.ext.log_sqlite` to use a
+specific :class:`logging.Logger` (:issue:`493`)
+
+Added :func:`apsw.ext.result_string` to turn an result code into
+a string, taking into account if it is extended or not.
+
+Provide detail when C implemented objects are printed. For example
+:class:`connections <Connection>` include the filename.
+(:issue:`494`)
+
+Added :meth:`URIFilename.parameters` (:issue:`496`)
+
+:class:`URIFilename` are only valid for the duration of the
+:meth:`VFS.xOpen` call. If you save and use the object later you will
+get an exception. (:issue:`501`)
+
3.44.0.0
========
@@ -17,7 +36,7 @@
On 64 bit platforms with the amalgamation, `SQLITE_MAX_MMAP_SIZE
<https://www.sqlite.org/mmap.html>`__ is set to 256 terabytes.
-SQLite's default limit is 2GB. (:issue:`491`)`
+SQLite's default limit is 2GB. (:issue:`491`)
3.43.2.0
========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/doc/extensions.rst new/apsw-3.44.2.0/doc/extensions.rst
--- old/apsw-3.44.0.0/doc/extensions.rst 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/doc/extensions.rst 2023-11-29 17:45:17.000000000 +0100
@@ -30,14 +30,6 @@
<https://sqlite.org/src/tree?name=ext/icu>`__
shows how to use it.
-.. _ext-json1:
-
-JSON1
-=====
-
-`Provides functions <https://www.sqlite.org/json1.html>`__ for managing `JSON
-<https://en.wikipedia.org/wiki/JSON>`__ data stored in SQLite.
-
.. _ext-rbu:
RBU
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/doc/install.rst new/apsw-3.44.2.0/doc/install.rst
--- old/apsw-3.44.0.0/doc/install.rst 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/doc/install.rst 2023-11-29 17:45:17.000000000 +0100
@@ -74,12 +74,12 @@
.. downloads-begin
-* `apsw-3.44.0.0.zip
- <https://github.com/rogerbinns/apsw/releases/download/3.44.0.0/apsw-3.44.0.0…>`__
+* `apsw-3.44.2.0.zip
+ <https://github.com/rogerbinns/apsw/releases/download/3.44.2.0/apsw-3.44.2.0…>`__
(Source, includes this HTML Help)
-* `apsw-3.44.0.0-sigs.zip
- <https://github.com/rogerbinns/apsw/releases/download/3.44.0.0/apsw-3.44.0.0…>`__
+* `apsw-3.44.2.0-sigs.zip
+ <https://github.com/rogerbinns/apsw/releases/download/3.44.2.0/apsw-3.44.2.0…>`__
GPG signatures for all files
.. downloads-end
@@ -104,7 +104,7 @@
.. code-block:: console
- $ gpg --verify apsw-3.44.0.0.zip.asc
+ $ gpg --verify apsw-3.44.2.0.zip.asc
gpg: Signature made ... date ... using DSA key ID 0DFBD904
gpg: Good signature from "Roger Binns <rogerb(a)rogerbinns.com>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/example-code.py new/apsw-3.44.2.0/example-code.py
--- old/apsw-3.44.0.0/example-code.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/example-code.py 2023-11-29 17:45:17.000000000 +0100
@@ -880,13 +880,14 @@
### vfs: VFS - Virtual File System
# :ref:`VFS <vfs>` lets you control how SQLite accesses storage. APSW
# makes it easy to "inherit" from an existing VFS and monitor or alter
-# data as it flows through. You can also implement your own
-# :class:`pragmas <VFSFcntlPragma>`.
+# data as it flows through.
+#
+# :class:`URI <URIFilename>` are shown as a way to receive parameters
+# when opening/creating a database file, and :class:`pragmas <VFSFcntlPragma>`
+# for receiving parameters once a database is open.
# This example VFS obfuscates the database file contents by xor all
-# bytes with 0xa5. URI parameters are also shown as a way you can
-# pass additional information for files.
-
+# bytes with 0xa5.
def obfuscate(data: bytes):
return bytes([x ^ 0xa5 for x in data])
@@ -916,6 +917,8 @@
print(" level is", name.uri_int("level", 3))
print(" warp is", name.uri_boolean("warp", False))
print(" notpresent is", name.uri_parameter("notpresent"))
+ # all of them
+ print(" all uris", name.parameters)
else:
print(" filename", name)
return ObfuscatedVFSFile(self.base_vfs, name, flags)
@@ -959,6 +962,7 @@
# add in using URI parameters
open_flags |= apsw.SQLITE_OPEN_URI
+# uri parameters are after the ? separated by &
obfudb = apsw.Connection("file:myobfudb?fast=speed&level=7&warp=on&another=true",
flags=open_flags,
vfs=obfuvfs.vfs_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/setup.py new/apsw-3.44.2.0/setup.py
--- old/apsw-3.44.0.0/setup.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/setup.py 2023-11-29 17:45:17.000000000 +0100
@@ -353,17 +353,11 @@
# A function for verifying downloads
def verifyurl(self, url, data):
d = ["%s" % (len(data), )]
- try:
- import hashlib
- d.append(hashlib.sha1(data).hexdigest())
- d.append(hashlib.md5(data).hexdigest())
- except ImportError:
- import sha
- d.append(sha.new(data).hexdigest())
- import md5
- d.append(md5.new(data).hexdigest())
+ import hashlib
+ d.append(hashlib.sha256(data).hexdigest())
+ d.append(hashlib.sha3_256(data).hexdigest())
- write(" Length:", d[0], " SHA1:", d[1], " MD5:", d[2])
+ write(" Length:", d[0], " SHA256:", d[1], " SHA3_256:", d[2])
sums = os.path.join(os.path.dirname(__file__), "checksums")
for line in read_whole_file(sums, "rt").split("\n"):
line = line.strip()
@@ -380,9 +374,9 @@
if l[1] != d[0]:
write("Length does not match. Expected", l[1], "download was", d[0])
if l[2] != d[1]:
- write("SHA does not match. Expected", l[2], "download was", d[1])
+ write("SHA256 does not match. Expected", l[2], "download was", d[1])
if l[3] != d[2]:
- write("MD5 does not match. Expected", l[3], "download was", d[2])
+ write("SHA3_256 does not match. Expected", l[3], "download was", d[2])
write("The download does not match the checksums distributed with APSW.\n"
"The download should not have changed since the checksums were\n"
"generated. The cause could be anything from network corruption\n"
@@ -533,7 +527,7 @@
if self.enable_all_extensions:
exts = [
- "fts4", "fts3", "fts3_parenthesis", "rtree", "stat4", "json1", "fts5", "rbu", "geopoly",
+ "fts4", "fts3", "fts3_parenthesis", "rtree", "stat4", "fts5", "rbu", "geopoly",
"math_functions"
]
if not self.omit or "icu" not in self.omit.split(","):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/apsw.docstrings new/apsw-3.44.2.0/src/apsw.docstrings
--- old/apsw-3.44.0.0/src/apsw.docstrings 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/apsw.docstrings 2023-11-29 17:45:17.000000000 +0100
@@ -1727,7 +1727,9 @@
#define Connection_pragma_DOC "pragma($self,name,value=None)\n--\n\nConnection.pragma(name: str, value: Optional[SQLiteValue] = None) -> Any\n\n" \
"Issues the pragma (with the value if supplied) and returns the result with\n" \
":attr:`the least amount of structure <Cursor.get>`. For example\n" \
-":code:`pragma(\"user_version\")` will return just the number.\n" \
+":code:`pragma(\"user_version\")` will return just the number, while\n" \
+":code:`pragma(\"journal_mode\", \"WAL\")` will return the journal mode\n" \
+"now in effect.\n" \
"\n" \
"Pragmas do not support bindings, so this method is a convenient\n" \
"alternative to composing SQL text.\n" \
@@ -2863,11 +2865,19 @@
"or the main database flag is set.\n" \
"\n" \
"You can safely pass it on to the :class:`VFSFile` constructor\n" \
-"which knows how to get the name back out.\n"
+"which knows how to get the name back out. The URIFilename is\n" \
+"only valid for the duration of the xOpen call. If you save\n" \
+"and use the object later you will get an exception.\n"
#define URIFilename_filename_DOC "filename($self)\n--\n\nURIFilename.filename() -> str\n\n" \
"Returns the filename.\n"
+#define URIFilename_parameters_DOC ":type: tuple[str, ...]\n" \
+"\n" \
+"A tuple of the parameter names present.\n" \
+"\n" \
+"Calls: `sqlite3_uri_key <https://sqlite.org/c3ref/uri_boolean.html>`__\n"
+
#define URIFilename_uri_boolean_DOC "uri_boolean($self,name,default)\n--\n\nURIFilename.uri_boolean(name: str, default: bool) -> bool\n\n" \
"Returns the boolean value for parameter `name` or `default` if not\n" \
"present.\n" \
@@ -2955,7 +2965,7 @@
":func:`sys.unraisablehook` and :func:`sys.excepthook`, falling back to\n" \
"`PyErr_Display`.\n"
-#define VFSFile_init_DOC "__init__($self,vfs,filename,flags)\n--\n\nVFSFile.__init__(vfs: str, filename: str | URIFilename, flags: list[int, int])\n\n" \
+#define VFSFile_init_DOC "__init__($self,vfs,filename,flags)\n--\n\nVFSFile.__init__(vfs: str, filename: str | URIFilename, flags: list[int,int])\n\n" \
":param vfs: The vfs you want to inherit behaviour from. You can\n" \
" use an empty string ``\"\"`` to inherit from the default vfs.\n" \
":param name: The name of the file being opened. May be an instance of :class:`URIFilename`.\n" \
@@ -2974,7 +2984,7 @@
" :meth:`VFS.xOpen`\n"
#define VFSFile_init_KWNAMES "vfs", "filename", "flags"
-#define VFSFile_init_USAGE "VFSFile.__init__(vfs: str, filename: str | URIFilename, flags: list[int, int])"
+#define VFSFile_init_USAGE "VFSFile.__init__(vfs: str, filename: str | URIFilename, flags: list[int,int])"
#define VFSFile_init_CHECK do { \
assert(__builtin_types_compatible_p(typeof(vfs), const char *)); \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/apswversion.h new/apsw-3.44.2.0/src/apswversion.h
--- old/apsw-3.44.0.0/src/apswversion.h 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/apswversion.h 2023-11-29 17:45:17.000000000 +0100
@@ -1 +1 @@
-#define APSW_VERSION "3.44.0.0"
+#define APSW_VERSION "3.44.2.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/backup.c new/apsw-3.44.2.0/src/backup.c
--- old/apsw-3.44.0.0/src/backup.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/backup.c 2023-11-29 17:45:17.000000000 +0100
@@ -346,6 +346,15 @@
Py_RETURN_FALSE;
}
+static PyObject *
+APSWBackup_tp_str(APSWBackup *self)
+{
+ return PyUnicode_FromFormat("<apsw.Backup object from %S to %S at %p>",
+ self->source ? (PyObject *)self->source : apst.closed,
+ self->dest ? (PyObject *)self->dest : apst.closed,
+ self);
+}
+
/** .. attribute:: done
:type: bool
@@ -390,4 +399,5 @@
.tp_methods = backup_methods,
.tp_members = backup_members,
.tp_getset = backup_getset,
+ .tp_str = (reprfunc)APSWBackup_tp_str,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/blob.c new/apsw-3.44.2.0/src/blob.c
--- old/apsw-3.44.0.0/src/blob.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/blob.c 2023-11-29 17:45:17.000000000 +0100
@@ -92,6 +92,14 @@
return PyLong_FromLong(self->blobsize);
}
+static PyObject *
+ZeroBlobBind_tp_str(ZeroBlobBind *self)
+{
+ return PyUnicode_FromFormat("<apsw.zeroblob object size %lld at %p>",
+ self->blobsize,
+ self);
+}
+
static PyMethodDef ZeroBlobBind_methods[] = {
{"length", (PyCFunction)ZeroBlobBind_len, METH_NOARGS,
Zeroblob_length_DOC},
@@ -106,6 +114,7 @@
.tp_methods = ZeroBlobBind_methods,
.tp_init = (initproc)ZeroBlobBind_init,
.tp_new = ZeroBlobBind_new,
+ .tp_str = (reprfunc)ZeroBlobBind_tp_str,
};
/* BLOB TYPE */
@@ -664,6 +673,14 @@
Py_RETURN_NONE;
}
+static PyObject *
+APSWBlob_tp_str(APSWBlob *self)
+{
+ return PyUnicode_FromFormat("<apsw.Blob object from %S at %p>",
+ self->connection ? (PyObject *)self->connection : apst.closed,
+ self);
+}
+
static PyMethodDef APSWBlob_methods[] = {
{"length", (PyCFunction)APSWBlob_length, METH_NOARGS,
Blob_length_DOC},
@@ -701,4 +718,5 @@
.tp_doc = Blob_class_DOC,
.tp_weaklistoffset = offsetof(APSWBlob, weakreflist),
.tp_methods = APSWBlob_methods,
+ .tp_str = (reprfunc)APSWBlob_tp_str,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/connection.c new/apsw-3.44.2.0/src/connection.c
--- old/apsw-3.44.0.0/src/connection.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/connection.c 2023-11-29 17:45:17.000000000 +0100
@@ -2435,7 +2435,7 @@
return 1;
}
- PyErr_Format(PyExc_TypeError, "Bad return type from function callback");
+ PyErr_Format(PyExc_TypeError, "Value from Python is not supported by SQLite. It should be one of None, int, float, str, or bytes. Received %s.", Py_TypeName(obj));
sqlite3_result_error(context, "Bad return type from python function callback", -1);
return 0;
}
@@ -4383,7 +4383,9 @@
Issues the pragma (with the value if supplied) and returns the result with
:attr:`the least amount of structure <Cursor.get>`. For example
- :code:`pragma("user_version")` will return just the number.
+ :code:`pragma("user_version")` will return just the number, while
+ :code:`pragma("journal_mode", "WAL")` will return the journal mode
+ now in effect.
Pragmas do not support bindings, so this method is a convenient
alternative to composing SQL text.
@@ -5164,6 +5166,16 @@
return 0;
}
+static PyObject *
+Connection_tp_str(Connection *self)
+{
+ return PyUnicode_FromFormat("<apsw.Connection object %s%s%s at %p>",
+ self->db ? "\"" : "(",
+ self->db ? sqlite3_db_filename(self->db, "main") : "closed",
+ self->db ? "\"" : ")",
+ self);
+}
+
static PyMemberDef Connection_members[] = {
/* name type offset flags doc */
{"open_flags", T_OBJECT, offsetof(Connection, open_flags), READONLY, Connection_open_flags_DOC},
@@ -5359,4 +5371,5 @@
.tp_getset = Connection_getseters,
.tp_init = (initproc)Connection_init,
.tp_new = Connection_new,
+ .tp_str = (reprfunc)Connection_tp_str,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/constants.c new/apsw-3.44.2.0/src/constants.c
--- old/apsw-3.44.0.0/src/constants.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/constants.c 2023-11-29 17:45:17.000000000 +0100
@@ -4,6 +4,11 @@
Deal with those - do not edit this file
*/
+/* added in 3.44.1.0 */
+#ifndef SQLITE_RESULT_SUBTYPE
+#define SQLITE_RESULT_SUBTYPE 0x001000000
+#endif
+
/* returns zero on success, -1 on error */
static int
add_apsw_constants(PyObject *module)
@@ -433,10 +438,11 @@
/* Function Flags */
the_dict = Py_BuildValue(
- "{siissiissiissiis}",
+ "{siissiissiissiissiis}",
"SQLITE_DETERMINISTIC", SQLITE_DETERMINISTIC, SQLITE_DETERMINISTIC, "SQLITE_DETERMINISTIC",
"SQLITE_DIRECTONLY", SQLITE_DIRECTONLY, SQLITE_DIRECTONLY, "SQLITE_DIRECTONLY",
"SQLITE_INNOCUOUS", SQLITE_INNOCUOUS, SQLITE_INNOCUOUS, "SQLITE_INNOCUOUS",
+ "SQLITE_RESULT_SUBTYPE", SQLITE_RESULT_SUBTYPE, SQLITE_RESULT_SUBTYPE, "SQLITE_RESULT_SUBTYPE",
"SQLITE_SUBTYPE", SQLITE_SUBTYPE, SQLITE_SUBTYPE, "SQLITE_SUBTYPE");
if (!the_dict)
{
@@ -1106,6 +1112,7 @@
|| PyModule_AddIntConstant(module, "SQLITE_RECURSIVE", SQLITE_RECURSIVE)
|| PyModule_AddIntConstant(module, "SQLITE_REINDEX", SQLITE_REINDEX)
|| PyModule_AddIntConstant(module, "SQLITE_REPLACE", SQLITE_REPLACE)
+ || PyModule_AddIntConstant(module, "SQLITE_RESULT_SUBTYPE", SQLITE_RESULT_SUBTYPE)
|| PyModule_AddIntConstant(module, "SQLITE_ROLLBACK", SQLITE_ROLLBACK)
|| PyModule_AddIntConstant(module, "SQLITE_ROW", SQLITE_ROW)
|| PyModule_AddIntConstant(module, "SQLITE_SAVEPOINT", SQLITE_SAVEPOINT)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/cursor.c new/apsw-3.44.2.0/src/cursor.c
--- old/apsw-3.44.0.0/src/cursor.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/cursor.c 2023-11-29 17:45:17.000000000 +0100
@@ -1669,6 +1669,14 @@
return NULL;
}
+static PyObject *
+APSWCursor_tp_str(APSWCursor *self)
+{
+ return PyUnicode_FromFormat("<apsw.Cursor object from %S at %p>",
+ self->connection ? (PyObject *)self->connection : apst.closed,
+ self);
+}
+
static PyMethodDef APSWCursor_methods[] = {
{"execute", (PyCFunction)APSWCursor_execute, METH_FASTCALL | METH_KEYWORDS,
Cursor_execute_DOC},
@@ -1741,4 +1749,5 @@
.tp_getset = APSWCursor_getset,
.tp_init = (initproc)APSWCursor_init,
.tp_new = APSWCursor_new,
+ .tp_str = (reprfunc)APSWCursor_tp_str,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/stringconstants.c new/apsw-3.44.2.0/src/stringconstants.c
--- old/apsw-3.44.0.0/src/stringconstants.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/stringconstants.c 2023-11-29 17:45:17.000000000 +0100
@@ -6,6 +6,7 @@
static struct _apsw_string_table
{
+ PyObject *closed;
PyObject *s_1e999;
PyObject *s0_0;
PyObject *s1e999;
@@ -87,6 +88,7 @@
static void
fini_apsw_strings(void)
{
+ Py_CLEAR(apst.closed);
Py_CLEAR(apst.s_1e999);
Py_CLEAR(apst.s0_0);
Py_CLEAR(apst.s1e999);
@@ -169,7 +171,7 @@
static int
init_apsw_strings()
{
- if ((0 == (apst.s_1e999 = PyUnicode_FromString("-1e999"))) || (0 == (apst.s0_0 = PyUnicode_FromString("0.0"))) || (0 == (apst.s1e999 = PyUnicode_FromString("1e999"))) || (0 == (apst.Begin = PyUnicode_FromString("Begin"))) || (0 == (apst.BestIndex = PyUnicode_FromString("BestIndex"))) || (0 == (apst.BestIndexObject = PyUnicode_FromString("BestIndexObject"))) || (0 == (apst.Close = PyUnicode_FromString("Close"))) || (0 == (apst.Column = PyUnicode_FromString("Column"))) || (0 == (apst.ColumnNoChange = PyUnicode_FromString("ColumnNoChange"))) || (0 == (apst.Commit = PyUnicode_FromString("Commit"))) || (0 == (apst.Connect = PyUnicode_FromString("Connect"))) || (0 == (apst.Create = PyUnicode_FromString("Create"))) || (0 == (apst.Destroy = PyUnicode_FromString("Destroy"))) || (0 == (apst.Disconnect = PyUnicode_FromString("Disconnect"))) || (0 == (apst.Eof = PyUnicode_FromString("Eof"))) || (0 == (apst.Filter = PyUnicode_FromString("Filter"))) || (0 == (apst.FindFunction = PyUnicode_Fro
mString("FindFunction"))) || (0 == (apst.Integrity = PyUnicode_FromString("Integrity"))) || (0 == (apst.Mapping = PyUnicode_FromString("Mapping"))) || (0 == (apst.sNULL = PyUnicode_FromString("NULL"))) || (0 == (apst.Next = PyUnicode_FromString("Next"))) || (0 == (apst.Open = PyUnicode_FromString("Open"))) || (0 == (apst.Release = PyUnicode_FromString("Release"))) || (0 == (apst.Rename = PyUnicode_FromString("Rename"))) || (0 == (apst.Rollback = PyUnicode_FromString("Rollback"))) || (0 == (apst.RollbackTo = PyUnicode_FromString("RollbackTo"))) || (0 == (apst.Rowid = PyUnicode_FromString("Rowid"))) || (0 == (apst.Savepoint = PyUnicode_FromString("Savepoint"))) || (0 == (apst.ShadowName = PyUnicode_FromString("ShadowName"))) || (0 == (apst.Sync = PyUnicode_FromString("Sync"))) || (0 == (apst.UpdateChangeRow = PyUnicode_FromString("UpdateChangeRow"))) || (0 == (apst.UpdateDeleteRow = PyUnicode_FromString("UpdateDeleteRow"))) || (0 == (apst.UpdateInsertRow = PyUnicode_FromString("Update
InsertRow"))) || (0 == (apst.add_note = PyUnicode_FromString("add_note"))) || (0 == (apst.close = PyUnicode_FromString("close"))) || (0 == (apst.connection_hooks = PyUnicode_FromString("connection_hooks"))) || (0 == (apst.cursor = PyUnicode_FromString("cursor"))) || (0 == (apst.error_offset = PyUnicode_FromString("error_offset"))) || (0 == (apst.excepthook = PyUnicode_FromString("excepthook"))) || (0 == (apst.execute = PyUnicode_FromString("execute"))) || (0 == (apst.executemany = PyUnicode_FromString("executemany"))) || (0 == (apst.extendedresult = PyUnicode_FromString("extendedresult"))) || (0 == (apst.final = PyUnicode_FromString("final"))) || (0 == (apst.get = PyUnicode_FromString("get"))) || (0 == (apst.inverse = PyUnicode_FromString("inverse"))) || (0 == (apst.result = PyUnicode_FromString("result"))) || (0 == (apst.step = PyUnicode_FromString("step"))) || (0 == (apst.value = PyUnicode_FromString("value"))) || (0 == (apst.xAccess = PyUnicode_FromString("xAccess"))) || (0 == (a
pst.xCheckReservedLock = PyUnicode_FromString("xCheckReservedLock"))) || (0 == (apst.xClose = PyUnicode_FromString("xClose"))) || (0 == (apst.xCurrentTime = PyUnicode_FromString("xCurrentTime"))) || (0 == (apst.xCurrentTimeInt64 = PyUnicode_FromString("xCurrentTimeInt64"))) || (0 == (apst.xDelete = PyUnicode_FromString("xDelete"))) || (0 == (apst.xDeviceCharacteristics = PyUnicode_FromString("xDeviceCharacteristics"))) || (0 == (apst.xDlClose = PyUnicode_FromString("xDlClose"))) || (0 == (apst.xDlError = PyUnicode_FromString("xDlError"))) || (0 == (apst.xDlOpen = PyUnicode_FromString("xDlOpen"))) || (0 == (apst.xDlSym = PyUnicode_FromString("xDlSym"))) || (0 == (apst.xFileControl = PyUnicode_FromString("xFileControl"))) || (0 == (apst.xFileSize = PyUnicode_FromString("xFileSize"))) || (0 == (apst.xFullPathname = PyUnicode_FromString("xFullPathname"))) || (0 == (apst.xGetLastError = PyUnicode_FromString("xGetLastError"))) || (0 == (apst.xGetSystemCall = PyUnicode_FromString("xGetSyst
emCall"))) || (0 == (apst.xLock = PyUnicode_FromString("xLock"))) || (0 == (apst.xNextSystemCall = PyUnicode_FromString("xNextSystemCall"))) || (0 == (apst.xOpen = PyUnicode_FromString("xOpen"))) || (0 == (apst.xRandomness = PyUnicode_FromString("xRandomness"))) || (0 == (apst.xRead = PyUnicode_FromString("xRead"))) || (0 == (apst.xSectorSize = PyUnicode_FromString("xSectorSize"))) || (0 == (apst.xSetSystemCall = PyUnicode_FromString("xSetSystemCall"))) || (0 == (apst.xSleep = PyUnicode_FromString("xSleep"))) || (0 == (apst.xSync = PyUnicode_FromString("xSync"))) || (0 == (apst.xTruncate = PyUnicode_FromString("xTruncate"))) || (0 == (apst.xUnlock = PyUnicode_FromString("xUnlock"))) || (0 == (apst.xWrite = PyUnicode_FromString("xWrite"))))
+ if ((0 == (apst.closed = PyUnicode_FromString("(closed)"))) || (0 == (apst.s_1e999 = PyUnicode_FromString("-1e999"))) || (0 == (apst.s0_0 = PyUnicode_FromString("0.0"))) || (0 == (apst.s1e999 = PyUnicode_FromString("1e999"))) || (0 == (apst.Begin = PyUnicode_FromString("Begin"))) || (0 == (apst.BestIndex = PyUnicode_FromString("BestIndex"))) || (0 == (apst.BestIndexObject = PyUnicode_FromString("BestIndexObject"))) || (0 == (apst.Close = PyUnicode_FromString("Close"))) || (0 == (apst.Column = PyUnicode_FromString("Column"))) || (0 == (apst.ColumnNoChange = PyUnicode_FromString("ColumnNoChange"))) || (0 == (apst.Commit = PyUnicode_FromString("Commit"))) || (0 == (apst.Connect = PyUnicode_FromString("Connect"))) || (0 == (apst.Create = PyUnicode_FromString("Create"))) || (0 == (apst.Destroy = PyUnicode_FromString("Destroy"))) || (0 == (apst.Disconnect = PyUnicode_FromString("Disconnect"))) || (0 == (apst.Eof = PyUnicode_FromString("Eof"))) || (0 == (apst.Filter = PyUnicode_FromStr
ing("Filter"))) || (0 == (apst.FindFunction = PyUnicode_FromString("FindFunction"))) || (0 == (apst.Integrity = PyUnicode_FromString("Integrity"))) || (0 == (apst.Mapping = PyUnicode_FromString("Mapping"))) || (0 == (apst.sNULL = PyUnicode_FromString("NULL"))) || (0 == (apst.Next = PyUnicode_FromString("Next"))) || (0 == (apst.Open = PyUnicode_FromString("Open"))) || (0 == (apst.Release = PyUnicode_FromString("Release"))) || (0 == (apst.Rename = PyUnicode_FromString("Rename"))) || (0 == (apst.Rollback = PyUnicode_FromString("Rollback"))) || (0 == (apst.RollbackTo = PyUnicode_FromString("RollbackTo"))) || (0 == (apst.Rowid = PyUnicode_FromString("Rowid"))) || (0 == (apst.Savepoint = PyUnicode_FromString("Savepoint"))) || (0 == (apst.ShadowName = PyUnicode_FromString("ShadowName"))) || (0 == (apst.Sync = PyUnicode_FromString("Sync"))) || (0 == (apst.UpdateChangeRow = PyUnicode_FromString("UpdateChangeRow"))) || (0 == (apst.UpdateDeleteRow = PyUnicode_FromString("UpdateDeleteRow"))) ||
(0 == (apst.UpdateInsertRow = PyUnicode_FromString("UpdateInsertRow"))) || (0 == (apst.add_note = PyUnicode_FromString("add_note"))) || (0 == (apst.close = PyUnicode_FromString("close"))) || (0 == (apst.connection_hooks = PyUnicode_FromString("connection_hooks"))) || (0 == (apst.cursor = PyUnicode_FromString("cursor"))) || (0 == (apst.error_offset = PyUnicode_FromString("error_offset"))) || (0 == (apst.excepthook = PyUnicode_FromString("excepthook"))) || (0 == (apst.execute = PyUnicode_FromString("execute"))) || (0 == (apst.executemany = PyUnicode_FromString("executemany"))) || (0 == (apst.extendedresult = PyUnicode_FromString("extendedresult"))) || (0 == (apst.final = PyUnicode_FromString("final"))) || (0 == (apst.get = PyUnicode_FromString("get"))) || (0 == (apst.inverse = PyUnicode_FromString("inverse"))) || (0 == (apst.result = PyUnicode_FromString("result"))) || (0 == (apst.step = PyUnicode_FromString("step"))) || (0 == (apst.value = PyUnicode_FromString("value"))) || (0 == (a
pst.xAccess = PyUnicode_FromString("xAccess"))) || (0 == (apst.xCheckReservedLock = PyUnicode_FromString("xCheckReservedLock"))) || (0 == (apst.xClose = PyUnicode_FromString("xClose"))) || (0 == (apst.xCurrentTime = PyUnicode_FromString("xCurrentTime"))) || (0 == (apst.xCurrentTimeInt64 = PyUnicode_FromString("xCurrentTimeInt64"))) || (0 == (apst.xDelete = PyUnicode_FromString("xDelete"))) || (0 == (apst.xDeviceCharacteristics = PyUnicode_FromString("xDeviceCharacteristics"))) || (0 == (apst.xDlClose = PyUnicode_FromString("xDlClose"))) || (0 == (apst.xDlError = PyUnicode_FromString("xDlError"))) || (0 == (apst.xDlOpen = PyUnicode_FromString("xDlOpen"))) || (0 == (apst.xDlSym = PyUnicode_FromString("xDlSym"))) || (0 == (apst.xFileControl = PyUnicode_FromString("xFileControl"))) || (0 == (apst.xFileSize = PyUnicode_FromString("xFileSize"))) || (0 == (apst.xFullPathname = PyUnicode_FromString("xFullPathname"))) || (0 == (apst.xGetLastError = PyUnicode_FromString("xGetLastError"))) ||
(0 == (apst.xGetSystemCall = PyUnicode_FromString("xGetSystemCall"))) || (0 == (apst.xLock = PyUnicode_FromString("xLock"))) || (0 == (apst.xNextSystemCall = PyUnicode_FromString("xNextSystemCall"))) || (0 == (apst.xOpen = PyUnicode_FromString("xOpen"))) || (0 == (apst.xRandomness = PyUnicode_FromString("xRandomness"))) || (0 == (apst.xRead = PyUnicode_FromString("xRead"))) || (0 == (apst.xSectorSize = PyUnicode_FromString("xSectorSize"))) || (0 == (apst.xSetSystemCall = PyUnicode_FromString("xSetSystemCall"))) || (0 == (apst.xSleep = PyUnicode_FromString("xSleep"))) || (0 == (apst.xSync = PyUnicode_FromString("xSync"))) || (0 == (apst.xTruncate = PyUnicode_FromString("xTruncate"))) || (0 == (apst.xUnlock = PyUnicode_FromString("xUnlock"))) || (0 == (apst.xWrite = PyUnicode_FromString("xWrite"))))
{
fini_apsw_strings();
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/src/vfs.c new/apsw-3.44.2.0/src/vfs.c
--- old/apsw-3.44.0.0/src/vfs.c 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/src/vfs.c 2023-11-29 17:45:17.000000000 +0100
@@ -295,7 +295,7 @@
typedef struct
{
PyObject_HEAD struct sqlite3_file *base;
- /* filename as to be around for lifetime of base. This will
+ /* filename has to be around for lifetime of base. This will
either be utf8 text (a string was passed in) or point
to the filename in APSWURIFilename. The former needs
to be freed, the latter not.
@@ -639,6 +639,9 @@
PyObject *vargs[] = {NULL, (PyObject *)(vfs->pAppData), nameobject, flags};
if (vargs[2] && vargs[3])
pyresult = PyObject_VectorcallMethod(apst.xOpen, vargs + 1, 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
+ /* issue 501 */
+ if (inflags & (SQLITE_OPEN_URI | SQLITE_OPEN_MAIN_DB))
+ ((APSWURIFilename *)nameobject)->filename = 0;
if (!pyresult)
{
result = MakeSqliteMsgFromPyException(NULL);
@@ -1894,6 +1897,16 @@
return -1;
}
+static PyObject *
+APSWVFS_tp_str(APSWVFS *self)
+{
+ if (!self->containingvfs)
+ return PyUnicode_FromFormat("<apsw.VFS object at %p>", self);
+ if (self->basevfs)
+ return PyUnicode_FromFormat("<apsw.VFS object \"%s\" inherits from \"%s\" at %p>", self->containingvfs->zName, self->basevfs->zName, self);
+ return PyUnicode_FromFormat("<apsw.VFS object \"%s\" at %p>", self->containingvfs->zName, self);
+}
+
static PyMethodDef APSWVFS_methods[] = {
{"xDelete", (PyCFunction)apswvfspy_xDelete, METH_FASTCALL | METH_KEYWORDS, VFS_xDelete_DOC},
{"xFullPathname", (PyCFunction)apswvfspy_xFullPathname, METH_FASTCALL | METH_KEYWORDS, VFS_xFullPathname_DOC},
@@ -1927,6 +1940,7 @@
.tp_methods = APSWVFS_methods,
.tp_init = (initproc)APSWVFS_init,
.tp_new = APSWVFS_new,
+ .tp_str = (reprfunc)APSWVFS_tp_str,
};
static int is_apsw_vfs(sqlite3_vfs *vfs)
@@ -1996,7 +2010,7 @@
return (PyObject *)self;
}
-/** .. method:: __init__(vfs: str, filename: str | URIFilename, flags: list[int, int])
+/** .. method:: __init__(vfs: str, filename: str | URIFilename, flags: list[int,int])
:param vfs: The vfs you want to inherit behaviour from. You can
use an empty string ``""`` to inherit from the default vfs.
@@ -2896,6 +2910,12 @@
return NULL;
}
+static PyObject *
+APSWVFSFile_tp_str(APSWVFSFile *self)
+{
+ return PyUnicode_FromFormat("<apsw.VFSFile object filename \"%s\" at %p>", self->filename ? self->filename : "(nil)", self);
+}
+
#define APSWPROXYBASE \
APSWSQLite3File *apswfile = (APSWSQLite3File *)(void *)file; \
APSWVFSFile *f = (APSWVFSFile *)(apswfile->file); \
@@ -2999,6 +3019,7 @@
.tp_methods = APSWVFSFile_methods,
.tp_init = (initproc)APSWVFSFile_init,
.tp_new = APSWVFSFile_new,
+ .tp_str = (reprfunc)APSWVFSFile_tp_str,
};
/** .. class:: URIFilename
@@ -3013,9 +3034,18 @@
or the main database flag is set.
You can safely pass it on to the :class:`VFSFile` constructor
- which knows how to get the name back out.
+ which knows how to get the name back out. The URIFilename is
+ only valid for the duration of the xOpen call. If you save
+ and use the object later you will get an exception.
*/
+#define CHECK_SCOPE \
+ do \
+ { \
+ if (!self->filename) \
+ return PyErr_Format(PyExc_ValueError, "URIFilename is out of scope"); \
+ } while (0)
+
/** .. method:: filename() -> str
Returns the filename.
@@ -3023,9 +3053,46 @@
static PyObject *
apswurifilename_filename(APSWURIFilename *self)
{
+ CHECK_SCOPE;
return convertutf8string(self->filename);
}
+/** .. attribute:: parameters
+ :type: tuple[str, ...]
+
+ A tuple of the parameter names present.
+
+ -* sqlite3_uri_key
+*/
+static PyObject *
+apswurifilename_parameters(APSWURIFilename *self)
+{
+ CHECK_SCOPE;
+ int i, count = 0;
+ for (i = 0;; i++)
+ if (!sqlite3_uri_key(self->filename, i))
+ break;
+ count = i;
+
+ PyObject *res = PyTuple_New(count);
+ if (!res)
+ goto fail;
+
+ for (i = 0; i < count; i++)
+ {
+ PyObject *tmpstring = PyUnicode_FromString(sqlite3_uri_key(self->filename, i));
+ if (!tmpstring)
+ goto fail;
+ PyTuple_SET_ITEM(res, i, tmpstring);
+ }
+
+ return res;
+
+fail:
+ Py_XDECREF(res);
+ return NULL;
+}
+
/** .. method:: uri_parameter(name: str) -> Optional[str]
Returns the value of parameter `name` or None.
@@ -3035,6 +3102,7 @@
static PyObject *
apswurifilename_uri_parameter(APSWURIFilename *self, PyObject *const *fast_args, Py_ssize_t fast_nargs, PyObject *fast_kwnames)
{
+ CHECK_SCOPE;
const char *res, *name;
{
URIFilename_uri_parameter_CHECK;
@@ -3056,6 +3124,7 @@
static PyObject *
apswurifilename_uri_int(APSWURIFilename *self, PyObject *const *fast_args, Py_ssize_t fast_nargs, PyObject *fast_kwnames)
{
+ CHECK_SCOPE;
const char *name = NULL;
long long res = 0, default_;
@@ -3081,6 +3150,7 @@
static PyObject *
apswurifilename_uri_boolean(APSWURIFilename *self, PyObject *const *fast_args, Py_ssize_t fast_nargs, PyObject *fast_kwnames)
{
+ CHECK_SCOPE;
const char *name = NULL;
int default_ = 0, res;
@@ -3099,6 +3169,15 @@
Py_RETURN_FALSE;
}
+static PyObject *
+apswurifilename_tp_str(APSWURIFilename *self)
+{
+ /* CHECK_SCOPE not needed since we manually check */
+ if (!self->filename)
+ return PyUnicode_FromFormat("<apsw.URIFilename object (out of scope) at %p>", self);
+ return PyUnicode_FromFormat("<apsw.URIFilename object \"%s\" at %p>", self->filename, self);
+}
+
static PyMethodDef APSWURIFilenameMethods[] = {
{"filename", (PyCFunction)apswurifilename_filename, METH_NOARGS, URIFilename_filename_DOC},
{"uri_parameter", (PyCFunction)apswurifilename_uri_parameter, METH_FASTCALL | METH_KEYWORDS, URIFilename_uri_parameter_DOC},
@@ -3107,6 +3186,11 @@
/* Sentinel */
{0, 0, 0, 0}};
+static PyGetSetDef APSWURIFilename_getset[] = {
+ {"parameters", (getter)apswurifilename_parameters, NULL, URIFilename_parameters_DOC},
+ {0, 0, 0, 0},
+};
+
static PyTypeObject APSWURIFilenameType =
{
PyVarObject_HEAD_INIT(NULL, 0)
@@ -3115,4 +3199,8 @@
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
.tp_doc = URIFilename_class_DOC,
.tp_methods = APSWURIFilenameMethods,
+ .tp_str = (reprfunc)apswurifilename_tp_str,
+ .tp_getset = APSWURIFilename_getset,
};
+
+#undef CHECK_SCOPE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/checksums.py new/apsw-3.44.2.0/tools/checksums.py
--- old/apsw-3.44.0.0/tools/checksums.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/checksums.py 2023-11-29 17:45:17.000000000 +0100
@@ -11,6 +11,8 @@
import setup
sqlitevers = (
+ '3440200',
+ '3440100',
'3440000',
'3430200',
'3430100',
@@ -39,7 +41,7 @@
def check(url, data):
- d = ["%s" % (len(data), ), hashlib.sha1(data).hexdigest(), hashlib.md5(data).hexdigest()]
+ d = ["%s" % (len(data), ), hashlib.sha256(data).hexdigest(), hashlib.sha3_256(data).hexdigest()]
line = getline(url)
if line:
if line != d:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/docmissing.py new/apsw-3.44.2.0/tools/docmissing.py
--- old/apsw-3.44.0.0/tools/docmissing.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/docmissing.py 2023-11-29 17:45:17.000000000 +0100
@@ -54,7 +54,8 @@
('VFS', vfs),
('VFSFile', vfsfile),
('apsw', apsw),
- ('VFSFcntlPragma', apsw.VFSFcntlPragma)
+ ('VFSFcntlPragma', apsw.VFSFcntlPragma),
+ ("zeroblob", apsw.zeroblob(3)),
):
if name not in classes:
retval = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/fi.py new/apsw-3.44.2.0/tools/fi.py
--- old/apsw-3.44.0.0/tools/fi.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/fi.py 2023-11-29 17:45:17.000000000 +0100
@@ -434,6 +434,7 @@
class myvfsfile(apsw.VFSFile):
def __init__(self, parent, filename, flags):
+ filename.parameters
super().__init__(parent, filename, flags)
vfsinstance = myvfs()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/find_unwrapped_apis.py new/apsw-3.44.2.0/tools/find_unwrapped_apis.py
--- old/apsw-3.44.0.0/tools/find_unwrapped_apis.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/find_unwrapped_apis.py 2023-11-29 17:45:17.000000000 +0100
@@ -59,7 +59,6 @@
"sqlite3_stmt_busy",
"sqlite3_keyword_check", # sqlite3_keyword_name is used
"sqlite3_compileoption_used", # sqlite3_compileoption_get is used
- "sqlite3_uri_key",
"sqlite3_set_auxdata",
"sqlite3_get_auxdata",
"sqlite3_value_dup",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/genconstants.py new/apsw-3.44.2.0/tools/genconstants.py
--- old/apsw-3.44.0.0/tools/genconstants.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/genconstants.py 2023-11-29 17:45:17.000000000 +0100
@@ -85,6 +85,11 @@
Deal with those - do not edit this file
*/
+/* added in 3.44.1.0 */
+#ifndef SQLITE_RESULT_SUBTYPE
+#define SQLITE_RESULT_SUBTYPE 0x001000000
+#endif
+
/* returns zero on success, -1 on error */
static int
add_apsw_constants(PyObject *module)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/genstrings.py new/apsw-3.44.2.0/tools/genstrings.py
--- old/apsw-3.44.0.0/tools/genstrings.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/genstrings.py 2023-11-29 17:45:17.000000000 +0100
@@ -39,6 +39,7 @@
step final value inverse
NULL 0.0 -1e999 1e999
+(closed)
"""
# we have to make some valid C identifiers
@@ -48,6 +49,7 @@
"0.0": "s0_0",
"-1e999": "s_1e999",
"1e999": "s1e999",
+ "(closed)": "closed",
}.get(name, name)
# tokenize names
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apsw-3.44.0.0/tools/megatest.py new/apsw-3.44.2.0/tools/megatest.py
--- old/apsw-3.44.0.0/tools/megatest.py 2023-11-06 19:28:20.000000000 +0100
+++ new/apsw-3.44.2.0/tools/megatest.py 2023-11-29 17:45:17.000000000 +0100
@@ -201,7 +201,7 @@
# Default versions we support
PYVERS = (
- '3.13.0a1',
+ '3.13.0a2',
'3.12.0',
'3.11.6',
'3.10.13',
@@ -210,7 +210,7 @@
'system',
)
-SQLITEVERS = ('3.44.0', )
+SQLITEVERS = ('3.44.0', '3.44.1', '3.44.2',)
BITS = (64, 32)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-deap for openSUSE:Factory checked in at 2023-12-03 20:49:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-deap (Old)
and /work/SRC/openSUSE:Factory/.python-deap.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-deap"
Sun Dec 3 20:49:13 2023 rev:6 rq:1130509 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-deap/python-deap.changes 2022-03-01 17:04:31.764348738 +0100
+++ /work/SRC/openSUSE:Factory/.python-deap.new.25432/python-deap.changes 2023-12-03 20:49:35.571494172 +0100
@@ -1,0 +2,8 @@
+Sat Dec 2 19:52:47 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.4.1:
+ * https://github.com/DEAP/deap/compare/1.3.2...1.4.1
+- drop no2to3.patch, python-deap-python3.patch,
+ python-deap-remove-nose.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
deap-1.3.1.tar.gz
no2to3.patch
python-deap-python3.patch
python-deap-remove-nose.patch
New:
----
deap-1.4.1.tar.gz
BETA DEBUG BEGIN:
Old: * https://github.com/DEAP/deap/compare/1.3.2...1.4.1
- drop no2to3.patch, python-deap-python3.patch,
python-deap-remove-nose.patch (upstream)
Old: * https://github.com/DEAP/deap/compare/1.3.2...1.4.1
- drop no2to3.patch, python-deap-python3.patch,
python-deap-remove-nose.patch (upstream)
Old:- drop no2to3.patch, python-deap-python3.patch,
python-deap-remove-nose.patch (upstream)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-deap.spec ++++++
--- /var/tmp/diff_new_pack.MQm5Bw/_old 2023-12-03 20:49:36.123514450 +0100
+++ /var/tmp/diff_new_pack.MQm5Bw/_new 2023-12-03 20:49:36.123514450 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-deap
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,20 +16,14 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python36 1
+%{?sle15_python_module_pythons}
Name: python-deap
-Version: 1.3.1
+Version: 1.4.1
Release: 0
Summary: Distributed Evolutionary Algorithms in Python
License: LGPL-3.0-only
URL: https://github.com/DEAP/deap
Source: https://files.pythonhosted.org/packages/source/d/deap/deap-%{version}.tar.gz
-# https://github.com/DEAP/deap/pull/507
-Patch0: python-deap-remove-nose.patch
-# https://github.com/DEAP/deap/pull/507
-Patch1: python-deap-python3.patch
-Patch2: no2to3.patch
BuildRequires: %{python_module numpy-devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
@@ -48,9 +42,6 @@
%prep
%setup -q -n deap-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
%build
export CFLAGS="%{optflags}"
@@ -69,5 +60,6 @@
%files %{python_files}
%doc README.md
%license LICENSE.txt
-%{python_sitearch}/*
+%{python_sitearch}/deap
+%{python_sitearch}/deap-%{version}*info
++++++ deap-1.3.1.tar.gz -> deap-1.4.1.tar.gz ++++++
++++ 10483 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-arf for openSUSE:Factory checked in at 2023-12-03 20:49:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-arf (Old)
and /work/SRC/openSUSE:Factory/.python-arf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-arf"
Sun Dec 3 20:49:12 2023 rev:8 rq:1130508 version:2.6.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-arf/python-arf.changes 2022-07-13 13:45:23.378031939 +0200
+++ /work/SRC/openSUSE:Factory/.python-arf.new.25432/python-arf.changes 2023-12-03 20:49:34.339448916 +0100
@@ -1,0 +2,7 @@
+Sat Dec 2 19:45:38 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2.6.4:
+ * no upstream changelog available
+- drop h5py-fixup.patch, arf-pr10-h5py-open.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
arf-2.6.1.tar.gz
arf-pr10-h5py-open.patch
h5py-fixup.patch
New:
----
arf-2.6.4.tar.gz
BETA DEBUG BEGIN:
Old: * no upstream changelog available
- drop h5py-fixup.patch, arf-pr10-h5py-open.patch (upstream)
Old: * no upstream changelog available
- drop h5py-fixup.patch, arf-pr10-h5py-open.patch (upstream)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-arf.spec ++++++
--- /var/tmp/diff_new_pack.kVT8zF/_old 2023-12-03 20:49:34.959471691 +0100
+++ /var/tmp/diff_new_pack.kVT8zF/_new 2023-12-03 20:49:34.963471838 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-arf
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,9 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-arf
-Version: 2.6.1
+Version: 2.6.4
Release: 0
# Note: I know that "advertisement" words are frowned on, but in this case
# the package name is an acronym so "advanced" needs to stay in
@@ -27,10 +26,6 @@
License: GPL-2.0-only
URL: https://github.com/melizalab/arf
Source: https://files.pythonhosted.org/packages/source/a/arf/arf-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM arf-pr10-h5py-open.patch -- gh#melizalab/arf#10
-Patch0: arf-pr10-h5py-open.patch
-# PATCH-FIX-UPSTREAM h5py-fixup.patch -- gh#melizalab/arf#12
-Patch1: h5py-fixup.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ arf-2.6.1.tar.gz -> arf-2.6.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/PKG-INFO new/arf-2.6.4/PKG-INFO
--- old/arf-2.6.1/PKG-INFO 2020-12-01 15:24:54.000000000 +0100
+++ new/arf-2.6.4/PKG-INFO 2022-07-21 03:09:27.761886800 +0200
@@ -1,21 +1,14 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
Name: arf
-Version: 2.6.1
+Version: 2.6.4
Summary: Advanced Recording Format for acoustic, behavioral, and physiological data
Home-page: https://github.com/melizalab/arf
Author: Dan Meliza
+Author-email: dan(a)meliza.org
Maintainer: Dan Meliza
-License: UNKNOWN
-Download-URL: https://github.com/melizalab/arf/archive/2.6.1.tar.gz
-Description:
- Library for reading and writing Advanced Recording Format files. ARF files
- are HDF5 files used to store audio and neurophysiological recordings in a
- rational, hierarchical format. Data are organized around the concept of an
- entry, which is a set of data channels that all start at the same time.
- Supported data types include sampled data and event data (i.e. spike times).
- Requires h5py (at least 2.8) and numpy (at least 1.3).
-
-Platform: UNKNOWN
+Maintainer-email: dan(a)meliza.org
+License: BSD 3-Clause License
+Keywords: one,two
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
@@ -27,3 +20,136 @@
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Natural Language :: English
+Requires-Python: >=3.6
+License-File: COPYING
+
+## arf
+
+[![Build Status](https://travis-ci.org/melizalab/arf.png?branch=master)](https://tra…
+
+The Advanced Recording Format [ARF](https://meliza.org/spec:1/arf/) is an open
+standard for storing data from neuronal, acoustic, and behavioral experiments in
+a portable, high-performance, archival format. The goal is to enable labs to
+share data and tools, and to allow valuable data to be accessed and analyzed for
+many years in the future.
+
+**ARF** is built on the the [HDF5](http://www.hdfgroup.org/HDF5/) format, and
+all arf files are accessible through standard HDF5 tools, including interfaces
+to HDF5 written for other languages (e.g. MATLAB, Python, etc). **ARF**
+comprises a set of specifications on how different kinds of data are stored. The
+organization of ARF files is based around the concept of an *entry*, a
+collection of data channels associated with a particular point in time. An entry
+might contain one or more of the following:
+
+- raw extracellular neural signals recorded from a multichannel probe
+- spike times extracted from neural data
+- acoustic signals from a microphone
+- times when an animal interacted with a behavioral apparatus
+- the times when a real-time signal analyzer detected vocalization
+
+Entries and datasets have metadata attributes describing how the data were
+collected. Datasets and entries retain these attributes when copied or moved
+between arf files, helping to prevent data from becoming orphaned and
+uninterpretable.
+
+This repository contains:
+
+- The specification for arf (in specification.md). This is also hosted at https://meliza.org/spec:1/arf/.
+- A fast, type-safe C++ interface for reading and writing arf files
+- A python interface for reading and writing arf files (based on h5py).
+
+### contributing
+
+ARF is under active development and we welcome comments and contributions from
+neuroscientists and behavioral biologists interested in using it. We're
+particularly interested in use cases that don't fit the current specification.
+Please post issues or contact Dan Meliza (dan at meliza.org) directly.
+
+The MATLAB interface is out of date and could use some work.
+
+### installation
+
+ARF files require HDF5>=1.8 (<http://www.hdfgroup.org/HDF5>).
+
+The python interface requires Python 3.6 or greater, numpy>=1.19, and h5py>=2.10. The last version to support Python 2 was `2.5.1`. To install the module:
+
+```bash
+pip install arf
+```
+
+To use the C++ interface, you need boost>=1.42 (<http://boost.org>). In addition,
+if writing multithreaded code, HDF5 needs to be compiled with
+`--enable-threadsafe`. The interface is header-only and does not need to be
+compiled. To install:
+
+```bash
+make install
+```
+
+### version information
+
+The specification and implementations provided in this project use a form of
+semantic versioning (<http://semver.org>). Specifications receive a major and
+minor version number. Changes to minor version numbers must be backwards
+compatible (i.e., only added requirements). The current released version of the
+ARF specification is `2.1`.
+
+Implementation versions are synchronized with the major version of the
+specification but otherwise evolve independently. For example, the python `arf`
+package version `2.1.0` is compatible with any ARF version `2.x`.
+
+There was no public release of ARF prior to `2.0`.
+
+### access ARF files with HDF5 tools
+
+This section describes how to inspect ARF files using standard tools, in the
+event that the interfaces described here cease to function.
+
+The structure of an ARF file can be explored using the `h5ls` tool. For example,
+to list entries:
+
+```bash
+$ h5ls file.arf
+test_0001 Group
+test_0002 Group
+test_0003 Group
+test_0004 Group
+```
+
+Each entry appears as a Group. To list the contents of an entry, use path
+notation:
+
+```bash
+$ h5ls file.arf/test_0001
+pcm Dataset {609914}
+```
+
+This shows that the data in `test_0001` is stored in a single node, `pcm`}, with
+609914 data points. Typically each channel will have its own dataset.
+
+The `h5dump` command can be used to output data in binary format. See the HDF5
+documentation for details on how to structure the output. For example, to
+extract sampled data to a 16-bit little-endian file (i.e., PCM format):
+
+```bash
+h5dump -d /test_0001/pcm -b LE -o test_0001.pcm file.arf
+```
+
+### related projects
+
+- [arfx](https://github.com/melizalab/arfx) is a commandline tool for manipulating ARF files.
+
+#### open data formats
+
+- [neurodata without borders](http://www.nwb.org) has similar goals and also
+ uses HDF5 for storage. The data schema is considerably more complex, but it
+ does seem to be achieving growing adoption.
+- [pandora](https://github.com/G-Node/pandora) is also under active development
+
+#### i/o libraries
+
+- [neo](https://github.com/NeuralEnsemble/python-neo) is a Python package for
+ working with electrophysiology data in Python, together with support for
+ reading a wide range of neurophysiology file formats.
+- [neuroshare](http://neuroshare.org) is a set of routines for reading and
+ writing data in various proprietary and open formats.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/arf.egg-info/PKG-INFO new/arf-2.6.4/arf.egg-info/PKG-INFO
--- old/arf-2.6.1/arf.egg-info/PKG-INFO 2020-12-01 15:24:53.000000000 +0100
+++ new/arf-2.6.4/arf.egg-info/PKG-INFO 2022-07-21 03:09:27.000000000 +0200
@@ -1,21 +1,14 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
Name: arf
-Version: 2.6.1
+Version: 2.6.4
Summary: Advanced Recording Format for acoustic, behavioral, and physiological data
Home-page: https://github.com/melizalab/arf
Author: Dan Meliza
+Author-email: dan(a)meliza.org
Maintainer: Dan Meliza
-License: UNKNOWN
-Download-URL: https://github.com/melizalab/arf/archive/2.6.1.tar.gz
-Description:
- Library for reading and writing Advanced Recording Format files. ARF files
- are HDF5 files used to store audio and neurophysiological recordings in a
- rational, hierarchical format. Data are organized around the concept of an
- entry, which is a set of data channels that all start at the same time.
- Supported data types include sampled data and event data (i.e. spike times).
- Requires h5py (at least 2.8) and numpy (at least 1.3).
-
-Platform: UNKNOWN
+Maintainer-email: dan(a)meliza.org
+License: BSD 3-Clause License
+Keywords: one,two
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
@@ -27,3 +20,136 @@
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Natural Language :: English
+Requires-Python: >=3.6
+License-File: COPYING
+
+## arf
+
+[![Build Status](https://travis-ci.org/melizalab/arf.png?branch=master)](https://tra…
+
+The Advanced Recording Format [ARF](https://meliza.org/spec:1/arf/) is an open
+standard for storing data from neuronal, acoustic, and behavioral experiments in
+a portable, high-performance, archival format. The goal is to enable labs to
+share data and tools, and to allow valuable data to be accessed and analyzed for
+many years in the future.
+
+**ARF** is built on the the [HDF5](http://www.hdfgroup.org/HDF5/) format, and
+all arf files are accessible through standard HDF5 tools, including interfaces
+to HDF5 written for other languages (e.g. MATLAB, Python, etc). **ARF**
+comprises a set of specifications on how different kinds of data are stored. The
+organization of ARF files is based around the concept of an *entry*, a
+collection of data channels associated with a particular point in time. An entry
+might contain one or more of the following:
+
+- raw extracellular neural signals recorded from a multichannel probe
+- spike times extracted from neural data
+- acoustic signals from a microphone
+- times when an animal interacted with a behavioral apparatus
+- the times when a real-time signal analyzer detected vocalization
+
+Entries and datasets have metadata attributes describing how the data were
+collected. Datasets and entries retain these attributes when copied or moved
+between arf files, helping to prevent data from becoming orphaned and
+uninterpretable.
+
+This repository contains:
+
+- The specification for arf (in specification.md). This is also hosted at https://meliza.org/spec:1/arf/.
+- A fast, type-safe C++ interface for reading and writing arf files
+- A python interface for reading and writing arf files (based on h5py).
+
+### contributing
+
+ARF is under active development and we welcome comments and contributions from
+neuroscientists and behavioral biologists interested in using it. We're
+particularly interested in use cases that don't fit the current specification.
+Please post issues or contact Dan Meliza (dan at meliza.org) directly.
+
+The MATLAB interface is out of date and could use some work.
+
+### installation
+
+ARF files require HDF5>=1.8 (<http://www.hdfgroup.org/HDF5>).
+
+The python interface requires Python 3.6 or greater, numpy>=1.19, and h5py>=2.10. The last version to support Python 2 was `2.5.1`. To install the module:
+
+```bash
+pip install arf
+```
+
+To use the C++ interface, you need boost>=1.42 (<http://boost.org>). In addition,
+if writing multithreaded code, HDF5 needs to be compiled with
+`--enable-threadsafe`. The interface is header-only and does not need to be
+compiled. To install:
+
+```bash
+make install
+```
+
+### version information
+
+The specification and implementations provided in this project use a form of
+semantic versioning (<http://semver.org>). Specifications receive a major and
+minor version number. Changes to minor version numbers must be backwards
+compatible (i.e., only added requirements). The current released version of the
+ARF specification is `2.1`.
+
+Implementation versions are synchronized with the major version of the
+specification but otherwise evolve independently. For example, the python `arf`
+package version `2.1.0` is compatible with any ARF version `2.x`.
+
+There was no public release of ARF prior to `2.0`.
+
+### access ARF files with HDF5 tools
+
+This section describes how to inspect ARF files using standard tools, in the
+event that the interfaces described here cease to function.
+
+The structure of an ARF file can be explored using the `h5ls` tool. For example,
+to list entries:
+
+```bash
+$ h5ls file.arf
+test_0001 Group
+test_0002 Group
+test_0003 Group
+test_0004 Group
+```
+
+Each entry appears as a Group. To list the contents of an entry, use path
+notation:
+
+```bash
+$ h5ls file.arf/test_0001
+pcm Dataset {609914}
+```
+
+This shows that the data in `test_0001` is stored in a single node, `pcm`}, with
+609914 data points. Typically each channel will have its own dataset.
+
+The `h5dump` command can be used to output data in binary format. See the HDF5
+documentation for details on how to structure the output. For example, to
+extract sampled data to a 16-bit little-endian file (i.e., PCM format):
+
+```bash
+h5dump -d /test_0001/pcm -b LE -o test_0001.pcm file.arf
+```
+
+### related projects
+
+- [arfx](https://github.com/melizalab/arfx) is a commandline tool for manipulating ARF files.
+
+#### open data formats
+
+- [neurodata without borders](http://www.nwb.org) has similar goals and also
+ uses HDF5 for storage. The data schema is considerably more complex, but it
+ does seem to be achieving growing adoption.
+- [pandora](https://github.com/G-Node/pandora) is also under active development
+
+#### i/o libraries
+
+- [neo](https://github.com/NeuralEnsemble/python-neo) is a Python package for
+ working with electrophysiology data in Python, together with support for
+ reading a wide range of neurophysiology file formats.
+- [neuroshare](http://neuroshare.org) is a set of routines for reading and
+ writing data in various proprietary and open formats.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/arf.egg-info/SOURCES.txt new/arf-2.6.4/arf.egg-info/SOURCES.txt
--- old/arf-2.6.1/arf.egg-info/SOURCES.txt 2020-12-01 15:24:53.000000000 +0100
+++ new/arf-2.6.4/arf.egg-info/SOURCES.txt 2022-07-21 03:09:27.000000000 +0200
@@ -3,11 +3,13 @@
Makefile
README.md
arf.py
+pyproject.toml
setup.cfg
setup.py
arf.egg-info/PKG-INFO
arf.egg-info/SOURCES.txt
arf.egg-info/dependency_links.txt
+arf.egg-info/not-zip-safe
arf.egg-info/requires.txt
arf.egg-info/top_level.txt
c++/arf.hpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/arf.egg-info/not-zip-safe new/arf-2.6.4/arf.egg-info/not-zip-safe
--- old/arf-2.6.1/arf.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100
+++ new/arf-2.6.4/arf.egg-info/not-zip-safe 2021-01-05 00:55:59.000000000 +0100
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/arf.egg-info/requires.txt new/arf-2.6.4/arf.egg-info/requires.txt
--- old/arf-2.6.1/arf.egg-info/requires.txt 2020-12-01 15:24:53.000000000 +0100
+++ new/arf-2.6.4/arf.egg-info/requires.txt 2022-07-21 03:09:27.000000000 +0200
@@ -1 +1 @@
-h5py>=2.8
+h5py!=3.3.*,>=2.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/arf.py new/arf-2.6.4/arf.py
--- old/arf-2.6.1/arf.py 2020-11-30 21:02:02.000000000 +0100
+++ new/arf-2.6.4/arf.py 2022-07-21 03:03:01.000000000 +0200
@@ -8,18 +8,25 @@
from __future__ import unicode_literals
spec_version = "2.1"
-__version__ = version = "2.6.1"
+__version__ = version = "2.6.4"
def version_info():
from h5py.version import version as h5py_version, hdf5_version
- return "Library versions:\n arf: %s\n h5py: %s\n HDF5: %s" % (__version__, h5py_version, hdf5_version)
+
+ return "Library versions:\n arf: %s\n h5py: %s\n HDF5: %s" % (
+ __version__,
+ h5py_version,
+ hdf5_version,
+ )
class DataTypes:
"""Available data types, by name and integer code: """
+
UNDEFINED, ACOUSTIC, EXTRAC_HP, EXTRAC_LF, EXTRAC_EEG, INTRAC_CC, INTRAC_VC = range(
- 0, 7)
+ 0, 7
+ )
EVENT, SPIKET, BEHAVET = range(1000, 1003)
INTERVAL, STIMI, COMPONENTL = range(2000, 2003)
@@ -27,13 +34,15 @@
def _doc(cls):
out = str(cls.__doc__)
for v, k in sorted(cls._todict().items()):
- out += '\n%s:%d' % (k, v)
+ out += "\n%s:%d" % (k, v)
return out
@classmethod
def _todict(cls):
""" generate a dict keyed by value """
- return dict((getattr(cls, attr), attr) for attr in dir(cls) if not attr.startswith('_'))
+ return dict(
+ (getattr(cls, attr), attr) for attr in dir(cls) if not attr.startswith("_")
+ )
@classmethod
def _fromstring(cls, s):
@@ -52,8 +61,9 @@
import os
from h5py.version import version as h5py_version
from distutils.version import StrictVersion
- from h5py import h5p
- from h5py._hl import files
+ from h5py import h5p, File
+ # Caution: This is a private API of h5py, subject to change without notice
+ from h5py._hl import files as _files
try:
# If the byte string doesn't match the default
@@ -65,23 +75,34 @@
exists = os.path.exists(name)
try:
fcpl = h5p.create(h5p.FILE_CREATE)
- fcpl.set_link_creation_order(
- h5p.CRT_ORDER_TRACKED | h5p.CRT_ORDER_INDEXED)
+ fcpl.set_link_creation_order(h5p.CRT_ORDER_TRACKED | h5p.CRT_ORDER_INDEXED)
except AttributeError:
# older version of h5py
- fp = files.File(name, mode=mode, driver=driver,
- libver=libver, **kwargs)
+ fp = File(name, mode=mode, driver=driver, libver=libver, **kwargs)
else:
+ posargs = []
if StrictVersion(h5py_version) >= StrictVersion('2.9'):
- kwargs.update(rdcc_nslots=None, rdcc_nbytes=None, rdcc_w0=None)
- fapl = files.make_fapl(driver, libver, **kwargs)
- fp = files.File(files.make_fid(name, mode, userblock_size, fapl, fcpl))
-
- if not exists and fp.mode == 'r+':
- set_attributes(fp,
- arf_library='python',
- arf_library_version=__version__,
- arf_version=spec_version)
+ posargs += ['rdcc_nslots', 'rdcc_nbytes', 'rdcc_w0']
+ if StrictVersion(h5py_version) >= StrictVersion('3.5'):
+ posargs += ['locking', 'page_buf_size', 'min_meta_keep', 'min_raw_keep']
+ if StrictVersion(h5py_version) >= StrictVersion('3.7'):
+ # integer is needed
+ kwargs.update({arg: kwargs.get(arg, 1) for arg in ['alignment_threshold', 'alignment_interval']})
+ if StrictVersion(h5py_version) >= StrictVersion('3.8'):
+ posargs += ['meta_block_size']
+ kwargs.update({arg: kwargs.get(arg, None) for arg in posargs})
+ fapl = _files.make_fapl(driver, libver, **kwargs)
+ fid = _files.make_fid(name, mode, userblock_size, fapl, fcpl=fcpl,
+ swmr=kwargs.get('swmr', False))
+ fp = File(fid)
+
+ if not exists and fp.mode == "r+":
+ set_attributes(
+ fp,
+ arf_library="python",
+ arf_library_version=__version__,
+ arf_version=spec_version,
+ )
return fp
@@ -106,25 +127,31 @@
"""
# create group using low-level interface to store creation order
from h5py import h5p, h5g, _hl
+
try:
gcpl = h5p.create(h5p.GROUP_CREATE)
- gcpl.set_link_creation_order(
- h5p.CRT_ORDER_TRACKED | h5p.CRT_ORDER_INDEXED)
+ gcpl.set_link_creation_order(h5p.CRT_ORDER_TRACKED | h5p.CRT_ORDER_INDEXED)
except AttributeError:
grp = group.create_group(name)
else:
name, lcpl = group._e(name, lcpl=True)
grp = _hl.group.Group(h5g.create(group.id, name, lcpl=lcpl, gcpl=gcpl))
set_uuid(grp, attributes.pop("uuid", None))
- set_attributes(grp,
- timestamp=convert_timestamp(timestamp),
- **attributes)
+ set_attributes(grp, timestamp=convert_timestamp(timestamp), **attributes)
return grp
-def create_dataset(group, name, data, units='', datatype=DataTypes.UNDEFINED,
- chunks=True, maxshape=None, compression=None,
- **attributes):
+def create_dataset(
+ group,
+ name,
+ data,
+ units="",
+ datatype=DataTypes.UNDEFINED,
+ chunks=True,
+ maxshape=None,
+ compression=None,
+ **attributes
+):
"""Create an ARF dataset under group, setting required attributes
Required arguments:
@@ -156,41 +183,43 @@
Returns the created dataset
"""
from numpy import asarray
- srate = attributes.get('sampling_rate', None)
+
+ srate = attributes.get("sampling_rate", None)
# check data validity before doing anything
- if not hasattr(data, 'dtype'):
+ if not hasattr(data, "dtype"):
data = asarray(data)
- if data.dtype.kind in ('S', 'O', 'U'):
- raise ValueError(
- "data must be in array with numeric or compound type")
- if data.dtype.kind == 'V':
- if 'start' not in data.dtype.names:
+ if data.dtype.kind in ("S", "O", "U"):
+ raise ValueError("data must be in array with numeric or compound type")
+ if data.dtype.kind == "V":
+ if "start" not in data.dtype.names:
raise ValueError("complex event data requires 'start' field")
if not isinstance(units, (list, tuple)):
raise ValueError("complex event data requires sequence of units")
if not len(units) == len(data.dtype.names):
raise ValueError("number of units doesn't match number of fields")
- if units == '':
+ if units == "":
if srate is None or not srate > 0:
raise ValueError(
- "unitless data assumed time series and requires sampling_rate attribute")
- elif units == 'samples':
+ "unitless data assumed time series and requires sampling_rate attribute"
+ )
+ elif units == "samples":
if srate is None or not srate > 0:
raise ValueError(
- "data with units of 'samples' requires sampling_rate attribute")
+ "data with units of 'samples' requires sampling_rate attribute"
+ )
# NB: can't really catch case where sampled data has units but doesn't
# have sampling_rate attribute
dset = group.create_dataset(
- name, data=data, maxshape=maxshape, chunks=chunks, compression=compression)
+ name, data=data, maxshape=maxshape, chunks=chunks, compression=compression
+ )
set_attributes(dset, units=units, datatype=datatype, **attributes)
return dset
def create_table(group, name, dtype, **attributes):
"""Create a new array dataset under group with compound datatype and maxshape=(None,)"""
- dset = group.create_dataset(
- name, shape=(0,), dtype=dtype, maxshape=(None,))
+ dset = group.create_dataset(name, shape=(0,), dtype=dtype, maxshape=(None,))
set_attributes(dset, **attributes)
return dset
@@ -198,7 +227,7 @@
def append_data(dset, data):
"""Append data to dset along axis 0. Data must be a single element or
a 1D array of the same type as the dataset (including compound datatypes)."""
- N = data.shape[0] if hasattr(data, 'shape') else 1
+ N = data.shape[0] if hasattr(data, "shape") else 1
if N == 0:
return
oldlen = dset.shape[0]
@@ -249,14 +278,16 @@
"""
from distutils.version import StrictVersion as Version
+
try:
- ver = file.attrs.get('arf_version', None)
+ ver = file.attrs.get("arf_version", None)
if ver is None:
- ver = file.attrs['arf_library_version']
+ ver = file.attrs["arf_library_version"]
except KeyError:
raise UserWarning(
"Unable to determine ARF version for {0.filename};"
- "created by another program?".format(file))
+ "created by another program?".format(file)
+ )
try:
# if the attribute is stored as a string, it's ascii-encoded
ver = ver.decode("ascii")
@@ -264,14 +295,16 @@
pass
# should be backwards compatible after 1.1
file_version = Version(ver)
- if file_version < Version('1.1'):
+ if file_version < Version("1.1"):
raise DeprecationWarning(
"ARF library {} may have trouble reading file "
- "version {} (< 1.1)".format(version, file_version))
- elif file_version >= Version('3.0'):
+ "version {} (< 1.1)".format(version, file_version)
+ )
+ elif file_version >= Version("3.0"):
raise FutureWarning(
"ARF library {} may be incompatible with file "
- "version {} (>= 3.0)".format(version, file_version))
+ "version {} (>= 3.0)".format(version, file_version)
+ )
return file_version
@@ -300,17 +333,19 @@
"""
from h5py import h5
+
out = []
try:
group._id.links.iterate(
- out.append, idx_type=h5.INDEX_CRT_ORDER, order=h5.ITER_INC)
+ out.append, idx_type=h5.INDEX_CRT_ORDER, order=h5.ITER_INC
+ )
except (AttributeError, RuntimeError):
# pre 2.2 shim
def f(name):
- if name.find(b'/', 1) == -1:
+ if name.find(b"/", 1) == -1:
out.append(name)
- group._id.links.visit(
- f, idx_type=h5.INDEX_CRT_ORDER, order=h5.ITER_INC)
+
+ group._id.links.visit(f, idx_type=h5.INDEX_CRT_ORDER, order=h5.ITER_INC)
return map(group._d, out)
@@ -331,7 +366,7 @@
from time import mktime, struct_time
from numpy import zeros
- out = zeros(2, dtype='int64')
+ out = zeros(2, dtype="int64")
if isinstance(obj, datetime):
out[0] = mktime(obj.timetuple())
out[1] = obj.microsecond
@@ -353,6 +388,7 @@
def timestamp_to_datetime(timestamp):
"""Convert an ARF timestamp to a datetime.datetime object (naive local time)"""
from datetime import datetime, timedelta
+
obj = datetime.fromtimestamp(timestamp[0])
return obj + timedelta(microseconds=int(timestamp[1]))
@@ -365,30 +401,32 @@
def set_uuid(obj, uuid=None):
"""Set the uuid attribute of an HDF5 object. Use this method to ensure correct dtype """
from uuid import uuid4, UUID
+
if uuid is None:
uuid = uuid4()
elif isinstance(uuid, bytes):
if len(uuid) == 16:
uuid = UUID(bytes=uuid)
else:
- uuid = UUID(hex=uuid.decode('ascii'))
+ uuid = UUID(hex=uuid.decode("ascii"))
if "uuid" in obj.attrs:
del obj.attrs["uuid"]
- obj.attrs.create("uuid", str(uuid).encode('ascii'), dtype="|S36")
+ obj.attrs.create("uuid", str(uuid).encode("ascii"), dtype="|S36")
def get_uuid(obj):
"""Return the uuid for obj, or null uuid if none is set"""
# TODO: deprecate null uuid ret val
from uuid import UUID
+
try:
- uuid = obj.attrs['uuid']
+ uuid = obj.attrs["uuid"]
except KeyError:
return UUID(int=0)
# convert to unicode for python 3
try:
- uuid = uuid.decode('ascii')
+ uuid = uuid.decode("ascii")
except (LookupError, AttributeError):
pass
return UUID(uuid)
@@ -407,19 +445,22 @@
def is_time_series(dset):
"""Return True if dset is a sampled time series (units are not time)"""
- return (not is_marked_pointproc(dset)
- and 'sampling_rate' in dset.attrs
- and dset.attrs['units'] not in ('s', 'samples'))
+ return (
+ not is_marked_pointproc(dset)
+ and "sampling_rate" in dset.attrs
+ and dset.attrs.get("units", None) not in ("s", "samples")
+ )
def is_marked_pointproc(dset):
"""Return True if dset is a marked point process (a complex dtype with 'start' field)"""
- return dset.dtype.names is not None and 'start' in dset.dtype.names
+ return dset.dtype.names is not None and "start" in dset.dtype.names
def is_entry(obj):
"""Return True if the object is an entry (i.e. an hdf5 group)"""
import h5py as h5
+
return isinstance(obj, h5.Group)
@@ -430,5 +471,6 @@
except IndexError:
return 1
+
# Variables:
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/pyproject.toml new/arf-2.6.4/pyproject.toml
--- old/arf-2.6.1/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/arf-2.6.4/pyproject.toml 2021-01-04 19:47:02.000000000 +0100
@@ -0,0 +1,2 @@
+[build-system]
+requires = ["setuptools", "wheel"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/setup.cfg new/arf-2.6.4/setup.cfg
--- old/arf-2.6.1/setup.cfg 2020-12-01 15:24:54.000000000 +0100
+++ new/arf-2.6.4/setup.cfg 2022-07-21 03:09:27.762905800 +0200
@@ -1,6 +1,44 @@
+[bdist_wheel]
+universal = 1
+
[pep8]
ignore = E221,E501,E701
+[metadata]
+name = arf
+version = attr: arf.__version__
+description = Advanced Recording Format for acoustic, behavioral, and physiological data
+long_description = file: README.md
+keywords = one, two
+license = BSD 3-Clause License
+classifiers =
+ Development Status :: 5 - Production/Stable
+ Intended Audience :: Science/Research
+ License :: OSI Approved :: GNU General Public License (GPL)
+ Programming Language :: Python
+ Programming Language :: Python :: 3
+ Programming Language :: C++
+ Topic :: Scientific/Engineering
+ Operating System :: Unix
+ Operating System :: POSIX :: Linux
+ Operating System :: MacOS :: MacOS X
+ Natural Language :: English
+author = Dan Meliza
+author_email = dan(a)meliza.org
+maintainer = Dan Meliza
+maintainer_email = dan(a)meliza.org
+url = https://github.com/melizalab/arf
+
+[options]
+zip_safe = false
+py_modules = arf
+python_requires = >= 3.6
+setup_requires =
+ setuptools >=38.3.0
+install_requires =
+ h5py>=2.8,!=3.3.*
+test_suite = tests
+
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/setup.py new/arf-2.6.4/setup.py
--- old/arf-2.6.1/setup.py 2020-11-30 20:53:02.000000000 +0100
+++ new/arf-2.6.4/setup.py 2021-01-04 19:51:36.000000000 +0100
@@ -1,55 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- mode: python -*-
-import sys
-import os
from setuptools import setup
-from arf import __version__
-
-if sys.version_info[:2] < (3, 6):
- raise RuntimeError("Python version 3.6 or greater required.")
-
-cls_txt = """
-Development Status :: 5 - Production/Stable
-Intended Audience :: Science/Research
-License :: OSI Approved :: GNU General Public License (GPL)
-Programming Language :: Python
-Programming Language :: Python :: 3
-Programming Language :: C++
-Topic :: Scientific/Engineering
-Operating System :: Unix
-Operating System :: POSIX :: Linux
-Operating System :: MacOS :: MacOS X
-Natural Language :: English
-"""
-
-short_desc = "Advanced Recording Format for acoustic, behavioral, and physiological data"
-
-long_desc = """
-Library for reading and writing Advanced Recording Format files. ARF files
-are HDF5 files used to store audio and neurophysiological recordings in a
-rational, hierarchical format. Data are organized around the concept of an
-entry, which is a set of data channels that all start at the same time.
-Supported data types include sampled data and event data (i.e. spike times).
-Requires h5py (at least 2.8) and numpy (at least 1.3).
-"""
-
-install_requires = ["h5py>=2.8"]
-
-setup(
- name='arf',
- version=__version__,
- description=short_desc,
- long_description=long_desc,
- classifiers=[x for x in cls_txt.split("\n") if x],
- author='Dan Meliza',
- maintainer='Dan Meliza',
- url="https://github.com/melizalab/arf",
- download_url="https://github.com/melizalab/arf/archive/%s.tar.gz" % __version__,
- install_requires=install_requires,
-
- py_modules=['arf'],
- test_suite='tests'
-)
-# Variables:
-# End:
+setup()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arf-2.6.1/tests/test_arf.py new/arf-2.6.4/tests/test_arf.py
--- old/arf-2.6.1/tests/test_arf.py 2020-09-29 19:29:45.000000000 +0200
+++ new/arf-2.6.4/tests/test_arf.py 2021-01-04 19:59:29.000000000 +0100
@@ -12,72 +12,88 @@
entry_base = "entry_%03d"
tstamp = time.mktime(time.localtime())
-entry_attributes = {'intattr': 1,
- 'vecattr': [1, 2, 3],
- 'arrattr': randn(5),
- 'strattr': "an attribute",
- }
-datasets = [dict(name="acoustic",
- data=randn(100000),
- sampling_rate=20000,
- datatype=arf.DataTypes.ACOUSTIC,
- maxshape=(None,),
- microphone="DK-1234",
- compression=0),
- dict(name="neural",
- data=(randn(100000) * 2 ** 16).astype('h'),
- sampling_rate=20000,
- datatype=arf.DataTypes.EXTRAC_HP,
- compression=9),
- dict(name="spikes",
- data=randint(0, 100000, 100),
- datatype=arf.DataTypes.SPIKET,
- units="samples",
- sampling_rate=20000, # required
- ),
- dict(name="empty-spikes",
- data=nx.array([], dtype='f'),
- datatype=arf.DataTypes.SPIKET,
- method="broken",
- maxshape=(None,),
- units="s",
- ),
- dict(name="events",
- data=nx.rec.fromrecords(
- [(1.0, 1, b"stimulus"), (5.0, 0, b"stimulus")],
- names=("start", "state", "name")), # 'start' required
- datatype=arf.DataTypes.EVENT,
- units=(b"s",b"",b"")) # only bytes supported by h5py
- ]
-
-bad_datasets = [dict(name="string datatype",
- data="a string"),
- dict(name="object datatype",
- data=bytes),
- dict(name="missing samplerate/units",
- data=randn(1000)),
- dict(name="missing samplerate for units=samples",
- data=randn(1000),
- units="samples"),
- dict(name="missing start field",
- data=nx.rec.fromrecords([(1.0, 1), (2.0, 2)],
- names=("time", "state")),
- units="s"),
- dict(name="missing units for complex dtype",
- data=nx.rec.fromrecords(
- [(1.0, 1, b"stimulus"), (5.0, 0, b"stimulus")],
- names=("start", "state", "name"))),
- dict(name="wrong length units for complex dtype",
- data=nx.rec.fromrecords(
- [(1.0, 1, b"stimulus"), (5.0, 0, b"stimulus")],
- names=("start", "state", "name")),
- units=("seconds",)),
- ]
+entry_attributes = {
+ "intattr": 1,
+ "vecattr": [1, 2, 3],
+ "arrattr": randn(5),
+ "strattr": "an attribute",
+}
+datasets = [
+ dict(
+ name="acoustic",
+ data=randn(100000),
+ sampling_rate=20000,
+ datatype=arf.DataTypes.ACOUSTIC,
+ maxshape=(None,),
+ microphone="DK-1234",
+ compression=0,
+ ),
+ dict(
+ name="neural",
+ data=(randn(100000) * 2 ** 16).astype("h"),
+ sampling_rate=20000,
+ datatype=arf.DataTypes.EXTRAC_HP,
+ compression=9,
+ ),
+ dict(
+ name="spikes",
+ data=randint(0, 100000, 100),
+ datatype=arf.DataTypes.SPIKET,
+ units="samples",
+ sampling_rate=20000, # required
+ ),
+ dict(
+ name="empty-spikes",
+ data=nx.array([], dtype="f"),
+ datatype=arf.DataTypes.SPIKET,
+ method="broken",
+ maxshape=(None,),
+ units="s",
+ ),
+ dict(
+ name="events",
+ data=nx.rec.fromrecords(
+ [(1.0, 1, b"stimulus"), (5.0, 0, b"stimulus")],
+ names=("start", "state", "name"),
+ ), # 'start' required
+ datatype=arf.DataTypes.EVENT,
+ units=(b"s", b"", b""),
+ ), # only bytes supported by h5py
+]
+
+bad_datasets = [
+ dict(name="string datatype", data="a string"),
+ dict(name="object datatype", data=bytes),
+ dict(name="missing samplerate/units", data=randn(1000)),
+ dict(
+ name="missing samplerate for units=samples", data=randn(1000), units="samples"
+ ),
+ dict(
+ name="missing start field",
+ data=nx.rec.fromrecords([(1.0, 1), (2.0, 2)], names=("time", "state")),
+ units="s",
+ ),
+ dict(
+ name="missing units for complex dtype",
+ data=nx.rec.fromrecords(
+ [(1.0, 1, b"stimulus"), (5.0, 0, b"stimulus")],
+ names=("start", "state", "name"),
+ ),
+ ),
+ dict(
+ name="wrong length units for complex dtype",
+ data=nx.rec.fromrecords(
+ [(1.0, 1, b"stimulus"), (5.0, 0, b"stimulus")],
+ names=("start", "state", "name"),
+ ),
+ units=("seconds",),
+ ),
+]
class TestArfCreation(unittest.TestCase):
def setUp(self):
- self.fp = arf.open_file("test", 'w', driver="core", backing_store=False)
+ self.fp = arf.open_file("test", "w", driver="core", backing_store=False)
self.entry = arf.create_entry(self.fp, "entry", tstamp)
self.dataset = arf.create_dataset(self.entry, **datasets[2])
@@ -88,13 +104,13 @@
g = arf.create_entry(self.fp, name, tstamp, **entry_attributes)
self.assertTrue(name in self.fp)
self.assertTrue(arf.is_entry(g))
- self.assertTrue(arf.timestamp_to_float(g.attrs['timestamp']) > 0)
+ self.assertTrue(arf.timestamp_to_float(g.attrs["timestamp"]) > 0)
for k in entry_attributes:
self.assertTrue(k in g.attrs)
def create_dataset(self, g, dset):
d = arf.create_dataset(g, **dset)
- self.assertEqual(d.shape, dset['data'].shape)
+ self.assertEqual(d.shape, dset["data"].shape)
self.assertFalse(arf.is_entry(d))
def test00_create_entries(self):
@@ -111,7 +127,7 @@
for dset in datasets:
yield self.create_dataset, self.entry, dset
self.assertEqual(len(self.entry), len(datasets))
- self.assertEqual(set(self.entry.keys()), set(dset['name'] for dset in datasets))
+ self.assertEqual(set(self.entry.keys()), set(dset["name"] for dset in datasets))
def test04_create_bad_dataset(self):
for dset in bad_datasets:
@@ -121,46 +137,52 @@
def test05_set_attributes(self):
""" tests the set_attributes convenience function """
arf.set_attributes(self.entry, mystr="myvalue", myint=5000)
- self.assertEqual(self.entry.attrs['myint'], 5000)
- self.assertEqual(self.entry.attrs['mystr'], "myvalue")
+ self.assertEqual(self.entry.attrs["myint"], 5000)
+ self.assertEqual(self.entry.attrs["mystr"], "myvalue")
arf.set_attributes(self.entry, mystr=None)
self.assertFalse("mystr" in self.entry.attrs)
def test06_null_uuid(self):
# nulls in a uuid can make various things barf
from uuid import UUID
- uuid = UUID(bytes=b''.rjust(16, b'\0'))
+
+ uuid = UUID(bytes=b"".rjust(16, b"\0"))
arf.set_uuid(self.entry, uuid)
self.assertEqual(arf.get_uuid(self.entry), uuid)
def test07_copy_entry_with_attrs(self):
src_entry_attrs = dict(self.entry.attrs)
src_entry_timestamp = src_entry_attrs.pop("timestamp")
- tgt_entry = arf.create_entry(self.fp, "copied_entry", src_entry_timestamp, **src_entry_attrs)
- self.assertEqual(self.entry.attrs['uuid'], tgt_entry.attrs['uuid'])
+ tgt_entry = arf.create_entry(
+ self.fp, "copied_entry", src_entry_timestamp, **src_entry_attrs
+ )
+ self.assertEqual(self.entry.attrs["uuid"], tgt_entry.attrs["uuid"])
def test08_check_file_version(self):
arf.check_file_version(self.fp)
def test09_append_to_table(self):
- dtype = nx.dtype({'names': ("f1","f2"), 'formats': [nx.uint, nx.int32]})
- dset = arf.create_table(self.fp, 'test', dtype=dtype)
+ dtype = nx.dtype({"names": ("f1", "f2"), "formats": [nx.uint, nx.int32]})
+ dset = arf.create_table(self.fp, "test", dtype=dtype)
self.assertEqual(dset.shape[0], 0)
arf.append_data(dset, (5, 10))
self.assertEqual(dset.shape[0], 1)
-(a)unittest.skipIf(version.StrictVersion(h5py_version) < version.StrictVersion("2.2"), "not supported on h5py < 2.2")
+(a)unittest.skipIf(
+ version.StrictVersion(h5py_version) < version.StrictVersion("2.2"),
+ "not supported on h5py < 2.2",
+)
class TestArfNavigation(unittest.TestCase):
def setUp(self):
- self.fp = arf.open_file("test", 'w', driver="core", backing_store=False)
+ self.fp = arf.open_file("test", "w", driver="core", backing_store=False)
def tearDown(self):
self.fp.close()
def test01_creation_iter(self):
self.fp = arf.open_file("test06", mode="a", driver="core", backing_store=False)
- entry_names = ['z', 'y', 'a', 'q', 'zzyfij']
+ entry_names = ["z", "y", "a", "q", "zzyfij"]
for name in entry_names:
g = arf.create_entry(self.fp, name, 0)
arf.create_dataset(g, "dset", (1,), sampling_rate=1)
@@ -176,13 +198,15 @@
else:
selected, offset = arf.select_interval(dset, 0.0, 1.0)
if arf.is_time_series(dset):
- nx.testing.assert_array_equal(selected, data["data"][:data["sampling_rate"]])
+ nx.testing.assert_array_equal(
+ selected, data["data"][: data["sampling_rate"]]
+ )
class TestArfUtility(unittest.TestCase):
-
def test01_timestamp_conversion(self):
from datetime import datetime
+
dt = datetime.now()
ts = arf.convert_timestamp(dt)
self.assertEqual(arf.timestamp_to_datetime(ts), dt)
@@ -196,8 +220,5 @@
arf.DataTypes._todict()
-
-
-
# # Variables:
# # End:
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-agate-excel for openSUSE:Factory checked in at 2023-12-03 20:49:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-agate-excel (Old)
and /work/SRC/openSUSE:Factory/.python-agate-excel.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-agate-excel"
Sun Dec 3 20:49:11 2023 rev:8 rq:1130507 version:0.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-agate-excel/python-agate-excel.changes 2023-03-10 22:07:16.941105848 +0100
+++ /work/SRC/openSUSE:Factory/.python-agate-excel.new.25432/python-agate-excel.changes 2023-12-03 20:49:30.403304330 +0100
@@ -1,0 +2,22 @@
+Sat Dec 2 19:39:42 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.4.1:
+ * fix: :meth:`.Table.from_xlsx` no longer errors on unsized
+ sheets.
+ * The ``reset_dimensions`` argument to :meth:`.Table.from_xlsx`
+ defaults to ``None`` instead of ``False``. If
+ ``reset_dimensions`` is ``None``, and if the worksheet's
+ dimensions are ``A1:A1``, recalculate the worksheet's
+ dimensions. To disable this behavior, set
+ ``reset_dimensions`` to ``False``.
+ * If the ``reset_dimensions`` argument to
+ :meth:`.Table.from_xlsx` is set, recalculate the worksheet's
+ dimensions, instead of assuming that the table's width
+ matches the first row's.
+ * The ``reset_dimensions`` argument to :meth:`.Table.from_xlsx`
+ is ignored if the ``read_only`` argument is false.
+ * Add Python 3.8, 3.9, 3.10, 3.11, 3.12 support.
+ * Drop support for 3.5 (2020-09-13), 3.6 (2021-12-23), 3.7
+- drop python-agate-excel-no-python2.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
0.2.5.tar.gz
python-agate-excel-no-python2.patch
New:
----
0.4.1.tar.gz
BETA DEBUG BEGIN:
Old: * Drop support for 3.5 (2020-09-13), 3.6 (2021-12-23), 3.7
- drop python-agate-excel-no-python2.patch (upstream)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-agate-excel.spec ++++++
--- /var/tmp/diff_new_pack.giEW6Z/_old 2023-12-03 20:49:33.195406891 +0100
+++ /var/tmp/diff_new_pack.giEW6Z/_new 2023-12-03 20:49:33.203407186 +0100
@@ -16,29 +16,26 @@
#
-%define skip_python2 1
Name: python-agate-excel
-Version: 0.2.5
+Version: 0.4.1
Release: 0
Summary: Read support for Excel files (xls and xlsx) for agate
License: MIT
URL: https://github.com/wireservice/agate-excel
Source: https://github.com/wireservice/agate-excel/archive/%{version}.tar.gz
-# https://github.com/wireservice/agate-excel/commit/833dc6d39dda3e4b025e3e4dc…
-Patch0: python-agate-excel-no-python2.patch
BuildRequires: %{python_module agate >= 1.5.0}
+BuildRequires: %{python_module numpy}
BuildRequires: %{python_module olefile}
BuildRequires: %{python_module openpyxl >= 2.3.0}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module six}
BuildRequires: %{python_module xlrd >= 0.9.4}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-agate >= 1.5.0
+Requires: python-numpy
Requires: python-olefile
Requires: python-openpyxl >= 2.3.0
-Requires: python-six
Requires: python-xlrd >= 0.9.4
BuildArch: noarch
%python_subpackages
++++++ 0.2.5.tar.gz -> 0.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/.github/workflows/ci.yml new/agate-excel-0.4.1/.github/workflows/ci.yml
--- old/agate-excel-0.2.5/.github/workflows/ci.yml 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/.github/workflows/ci.yml 2023-11-20 21:13:29.000000000 +0100
@@ -2,28 +2,21 @@
on: [push, pull_request]
jobs:
build:
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
- python-version: [2.7, 3.6, 3.7, 3.8, 3.9, pypy-2.7, pypy-3.6, pypy-3.7]
+ python-version: [3.8, 3.9, '3.10', '3.11', '3.12', pypy-3.9]
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- # https://github.com/actions/cache/blob/main/examples.md#using-a-script-to-ge…
- - id: pip-cache
- run: python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)"
- - uses: actions/cache@v1
- with:
- path: ${{ steps.pip-cache.outputs.dir }}
- key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}
- restore-keys: |
- ${{ runner.os }}-pip-
- - run: pip install --upgrade check-manifest flake8 isort setuptools
- - run: check-manifest
- - run: flake8 .
- - run: isort . --check-only
- - run: pip install .[test]
- - run: nosetests
+ cache: pip
+ cache-dependency-path: setup.py
+ - run: pip install .[test] coveralls
+ - run: pytest --cov agateexcel
+ - env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: coveralls --service=github
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/.github/workflows/lint.yml new/agate-excel-0.4.1/.github/workflows/lint.yml
--- old/agate-excel-0.2.5/.github/workflows/lint.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-excel-0.4.1/.github/workflows/lint.yml 2023-11-20 21:13:29.000000000 +0100
@@ -0,0 +1,19 @@
+name: Lint
+on: [push, pull_request]
+env:
+ BASEDIR: https://raw.githubusercontent.com/open-contracting/standard-maintenance-scr…
+jobs:
+ build:
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.10'
+ cache: pip
+ cache-dependency-path: setup.py
+ - run: pip install --upgrade check-manifest flake8 isort setuptools
+ - run: check-manifest
+ - run: flake8 .
+ - run: isort . --check-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/.github/workflows/pypi.yml new/agate-excel-0.4.1/.github/workflows/pypi.yml
--- old/agate-excel-0.2.5/.github/workflows/pypi.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-excel-0.4.1/.github/workflows/pypi.yml 2023-11-20 21:13:29.000000000 +0100
@@ -0,0 +1,23 @@
+name: Publish to PyPI
+on: push
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.10'
+ - run: pip install --upgrade build
+ - run: python -m build --sdist --wheel
+ - name: Publish to TestPyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
+ repository-url: https://test.pypi.org/legacy/
+ skip-existing: true
+ - name: Publish to PyPI
+ if: startsWith(github.ref, 'refs/tags')
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ password: ${{ secrets.PYPI_API_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/.readthedocs.yaml new/agate-excel-0.4.1/.readthedocs.yaml
--- old/agate-excel-0.2.5/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-excel-0.4.1/.readthedocs.yaml 2023-11-20 21:13:29.000000000 +0100
@@ -0,0 +1,11 @@
+version: 2
+build:
+ os: ubuntu-20.04
+ tools:
+ python: "3.9"
+python:
+ install:
+ - path: .
+ - requirements: docs/requirements.txt
+sphinx:
+ fail_on_warning: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/CHANGELOG.rst new/agate-excel-0.4.1/CHANGELOG.rst
--- old/agate-excel-0.2.5/CHANGELOG.rst 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/CHANGELOG.rst 2023-11-20 21:13:29.000000000 +0100
@@ -1,3 +1,21 @@
+0.4.1 - November 20, 2023
+-------------------------
+
+* fix: :meth:`.Table.from_xlsx` no longer errors on unsized sheets.
+
+0.4.0 - November 7, 2023
+------------------------
+
+* The ``reset_dimensions`` argument to :meth:`.Table.from_xlsx` defaults to ``None`` instead of ``False``. If ``reset_dimensions`` is ``None``, and if the worksheet's dimensions are ``A1:A1``, recalculate the worksheet's dimensions. To disable this behavior, set ``reset_dimensions`` to ``False``.
+
+0.3.0 - October 30, 2023
+------------------------
+
+* If the ``reset_dimensions`` argument to :meth:`.Table.from_xlsx` is set, recalculate the worksheet's dimensions, instead of assuming that the table's width matches the first row's.
+* The ``reset_dimensions`` argument to :meth:`.Table.from_xlsx` is ignored if the ``read_only`` argument is false.
+* Add Python 3.8, 3.9, 3.10, 3.11, 3.12 support.
+* Drop support for 3.5 (2020-09-13), 3.6 (2021-12-23), 3.7 (2023-06-27).
+
0.2.5 - August 8, 2021
----------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/MANIFEST.in new/agate-excel-0.4.1/MANIFEST.in
--- old/agate-excel-0.2.5/MANIFEST.in 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/MANIFEST.in 2023-11-20 21:13:29.000000000 +0100
@@ -3,7 +3,9 @@
include COPYING
recursive-include docs *.py
recursive-include docs *.rst
+recursive-include docs *.txt
recursive-include docs Makefile
recursive-include examples *.xls
recursive-include examples *.xlsx
recursive-include tests *.py
+exclude .readthedocs.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/README.rst new/agate-excel-0.4.1/README.rst
--- old/agate-excel-0.2.5/README.rst 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/README.rst 2023-11-20 21:13:29.000000000 +0100
@@ -2,6 +2,10 @@
:target: https://github.com/wireservice/agate-excel/actions
:alt: Build status
+.. image:: https://coveralls.io/repos/wireservice/agate-excel/badge.svg?branch=master
+ :target: https://coveralls.io/r/wireservice/agate-excel
+ :alt: Coverage status
+
.. image:: https://img.shields.io/pypi/dm/agate-excel.svg
:target: https://pypi.python.org/pypi/agate-excel
:alt: PyPI downloads
@@ -22,7 +26,7 @@
Important links:
-* agate http://agate.rtfd.org
-* Documentation: http://agate-excel.rtfd.org
+* agate https://agate.rtfd.org
+* Documentation: https://agate-excel.rtfd.org
* Repository: https://github.com/wireservice/agate-excel
* Issues: https://github.com/wireservice/agate-excel/issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/agateexcel/__init__.py new/agate-excel-0.4.1/agateexcel/__init__.py
--- old/agate-excel-0.2.5/agateexcel/__init__.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/agateexcel/__init__.py 2023-11-20 21:13:29.000000000 +0100
@@ -1,4 +1,2 @@
-#!/usr/bin/env python
-
import agateexcel.table_xls
import agateexcel.table_xlsx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/agateexcel/table_xls.py new/agate-excel-0.4.1/agateexcel/table_xls.py
--- old/agate-excel-0.2.5/agateexcel/table_xls.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/agateexcel/table_xls.py 2023-11-20 21:13:29.000000000 +0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
"""
This module contains the XLS extension to :class:`Table <agate.table.Table>`.
"""
@@ -9,7 +7,6 @@
import agate
import olefile
-import six
import xlrd
EXCEL_TO_AGATE_TYPE = {
@@ -53,7 +50,7 @@
d = ole.openstream('Workbook')
book = xlrd.open_workbook(file_contents=d.read(), on_demand=True)
else:
- raise IOError('No Workbook stream found in OLE file')
+ raise OSError('No Workbook stream found in OLE file')
return book
if hasattr(path, 'read'):
@@ -72,7 +69,7 @@
tables = OrderedDict()
for i, sheet in enumerate(sheets):
- if isinstance(sheet, six.string_types):
+ if isinstance(sheet, str):
sheet = book.sheet_by_name(sheet)
elif isinstance(sheet, int):
sheet = book.sheet_by_index(sheet)
@@ -109,7 +106,7 @@
agate_type = agate.Date()
if header:
- name = six.text_type(sheet.cell_value(skip_lines, i)) or None
+ name = str(sheet.cell_value(skip_lines, i)) or None
column_names.append(name)
columns.append(values)
@@ -137,8 +134,7 @@
if multiple:
return agate.MappedSequence(tables.values(), tables.keys())
- else:
- return tables.popitem()[1]
+ return tables.popitem()[1]
def determine_agate_type(excel_type):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/agateexcel/table_xlsx.py new/agate-excel-0.4.1/agateexcel/table_xlsx.py
--- old/agate-excel-0.2.5/agateexcel/table_xlsx.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/agateexcel/table_xlsx.py 2023-11-20 21:13:29.000000000 +0100
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
"""
This module contains the XLSX extension to :class:`Table <agate.table.Table>`.
"""
@@ -9,13 +7,12 @@
import agate
import openpyxl
-import six
NULL_TIME = datetime.time(0, 0, 0)
def from_xlsx(cls, path, sheet=None, skip_lines=0, header=True, read_only=True,
- reset_dimensions=False, row_limit=None, **kwargs):
+ reset_dimensions=None, row_limit=None, **kwargs):
"""
Parse an XLSX file.
@@ -28,6 +25,9 @@
The number of rows to skip from the top of the sheet.
:param header:
If :code:`True`, the first row is assumed to contain column names.
+ :param read_only:
+ If :code:`True`, the XLSX file is opened in read-only mode, to reduce
+ memory consumption.
:param reset_dimensions:
If :code:`True`, do not trust the dimensions in the file's properties,
and recalculate them based on the data in the file.
@@ -53,7 +53,7 @@
tables = OrderedDict()
for i, sheet in enumerate(sheets):
- if isinstance(sheet, six.string_types):
+ if isinstance(sheet, str):
try:
sheet = book[sheet]
except KeyError:
@@ -72,12 +72,20 @@
offset = 0
rows = []
- if reset_dimensions:
- sheet.reset_dimensions()
+ if (
+ read_only
+ and (reset_dimensions or (reset_dimensions is None and sheet.max_column == 1 and sheet.max_row == 1))
+ ):
+ try:
+ sheet.reset_dimensions()
+ sheet.calculate_dimension(force=True)
+ # https://foss.heptapod.net/openpyxl/openpyxl/-/issues/2111
+ except UnboundLocalError:
+ pass
if header:
sheet_header = sheet.iter_rows(min_row=1 + skip_lines, max_row=1 + skip_lines)
- column_names = [None if c.value is None else six.text_type(c.value) for row in sheet_header for c in row]
+ column_names = [None if c.value is None else str(c.value) for row in sheet_header for c in row]
offset = 1
if row_limit is None:
@@ -117,8 +125,7 @@
if multiple:
return agate.MappedSequence(tables.values(), tables.keys())
- else:
- return tables.popitem()[1]
+ return tables.popitem()[1]
def normalize_datetime(dt):
@@ -129,7 +136,7 @@
if ms < 1000:
return dt.replace(microsecond=0)
- elif ms > 999000:
+ if ms > 999000:
return dt.replace(microsecond=0) + datetime.timedelta(seconds=1)
return dt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/docs/conf.py new/agate-excel-0.4.1/docs/conf.py
--- old/agate-excel-0.2.5/docs/conf.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/docs/conf.py 2023-11-20 21:13:29.000000000 +0100
@@ -1,225 +1,45 @@
-# -*- coding: utf-8 -*-
+# Configuration file for the Sphinx documentation builder.
#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
import os
import sys
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('..'))
-# -- General configuration -----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
-autodoc_member_order = 'bysource'
-
-intersphinx_mapping = {
- 'python': ('http://docs.python.org/3.5/', None),
- 'agate': ('http://agate.readthedocs.org/en/latest/', None)
-}
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-infor…
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'agate-excel'
-copyright = u'2017, Christopher Groskopf'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.2.5'
-# The full version, including alpha/beta/rc tags.
+project = 'agate-excel'
+copyright = '2017, Christopher Groskopf'
+version = '0.4.1'
release = version
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-
-if not on_rtd: # only import and set the theme if we're building docs locally
- import sphinx_rtd_theme
- html_theme = 'sphinx_rtd_theme'
- html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-confi…
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'agateexceldoc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
- ('index', 'agate-excel.tex', u'agate-excel Documentation',
- u'Christopher Groskopf', 'manual'),
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.intersphinx'
]
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
+templates_path = ['_templates']
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-h…
-# If false, no module index is generated.
-#latex_domain_indices = True
+html_theme = 'furo'
+htmlhelp_basename = 'agateexceldoc'
-# -- Options for manual page output --------------------------------------------
+autodoc_default_options = {
+ 'members': None,
+ 'member-order': 'bysource',
+ 'show-inheritance': True,
+}
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-]
+intersphinx_mapping = {
+ 'python': ('https://docs.python.org/3', None),
+ 'agate': ('https://agate.readthedocs.org/en/latest/', None)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/docs/index.rst new/agate-excel-0.4.1/docs/index.rst
--- old/agate-excel-0.2.5/docs/index.rst 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/docs/index.rst 2023-11-20 21:13:29.000000000 +0100
@@ -13,7 +13,7 @@
pip install agate-excel
-For details on development or supported platforms see the `agate documentation <http://agate.readthedocs.org>`_.
+For details on development or supported platforms see the `agate documentation <https://agate.readthedocs.org>`_.
Usage
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/docs/requirements.txt new/agate-excel-0.4.1/docs/requirements.txt
--- old/agate-excel-0.2.5/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-excel-0.4.1/docs/requirements.txt 2023-11-20 21:13:29.000000000 +0100
@@ -0,0 +1,3 @@
+furo
+sphinx>2
+docutils>=0.18
Binary files old/agate-excel-0.2.5/examples/covid_19-iss.xlsx and new/agate-excel-0.4.1/examples/covid_19-iss.xlsx differ
Binary files old/agate-excel-0.2.5/examples/ne_1033_data.xlsx and new/agate-excel-0.4.1/examples/ne_1033_data.xlsx differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/setup.cfg new/agate-excel-0.4.1/setup.cfg
--- old/agate-excel-0.2.5/setup.cfg 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/setup.cfg 2023-11-20 21:13:29.000000000 +0100
@@ -4,8 +4,6 @@
# imported but unused
agateexcel/__init__.py: F401
example.py: F401
- # block comment should start with '# '
- docs/conf.py: E265
[isort]
line_length = 119
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/setup.py new/agate-excel-0.4.1/setup.py
--- old/agate-excel-0.2.5/setup.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/setup.py 2023-11-20 21:13:29.000000000 +0100
@@ -5,13 +5,13 @@
setup(
name='agate-excel',
- version='0.2.5',
+ version='0.4.1',
description='agate-excel adds read support for Excel files (xls and xlsx) to agate.',
long_description=long_description,
long_description_content_type='text/x-rst',
author='Christopher Groskopf',
author_email='chrisgroskopf(a)gmail.com',
- url='http://agate-excel.readthedocs.org/',
+ url='https://agate-excel.readthedocs.org/',
license='MIT',
classifiers=[
'Development Status :: 4 - Beta',
@@ -21,11 +21,11 @@
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
+ 'Programming Language :: Python :: 3.10',
+ 'Programming Language :: Python :: 3.11',
+ 'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Scientific/Engineering :: Information Analysis',
@@ -36,16 +36,12 @@
'agate>=1.5.0',
'olefile',
'openpyxl>=2.3.0',
- 'six',
'xlrd>=0.9.4',
],
extras_require={
'test': [
- 'nose>=1.1.2',
- ],
- 'docs': [
- 'Sphinx>=1.2.2',
- 'sphinx_rtd_theme>=0.1.6',
+ 'pytest',
+ 'pytest-cov',
],
}
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/tests/test_table_xls.py new/agate-excel-0.4.1/tests/test_table_xls.py
--- old/agate-excel-0.2.5/tests/test_table_xls.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/tests/test_table_xls.py 2023-11-20 21:13:29.000000000 +0100
@@ -1,6 +1,3 @@
-#!/usr/bin/env python
-# -*- coding: utf8 -*-
-
import datetime
import agate
@@ -12,7 +9,7 @@
def setUp(self):
self.rows = (
(1, 'a', True, '11/4/2015', '11/4/2015 12:22 PM'),
- (2, u'👍', False, '11/5/2015', '11/4/2015 12:45 PM'),
+ (2, '👍', False, '11/5/2015', '11/4/2015 12:45 PM'),
(None, 'b', None, None, None),
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.5/tests/test_table_xlsx.py new/agate-excel-0.4.1/tests/test_table_xlsx.py
--- old/agate-excel-0.2.5/tests/test_table_xlsx.py 2021-08-09 00:07:03.000000000 +0200
+++ new/agate-excel-0.4.1/tests/test_table_xlsx.py 2023-11-20 21:13:29.000000000 +0100
@@ -1,10 +1,6 @@
-#!/usr/bin/env python
-# -*- coding: utf8 -*-
-
import datetime
import agate
-import six
import agateexcel # noqa: F401
@@ -13,7 +9,7 @@
def setUp(self):
self.rows = (
(1, 'a', True, '11/4/2015', '11/4/2015 12:22 PM'),
- (2, u'👍', False, '11/5/2015', '11/4/2015 12:45 PM'),
+ (2, '👍', False, '11/5/2015', '11/4/2015 12:45 PM'),
(None, 'b', None, None, None),
)
@@ -106,16 +102,10 @@
def test_ambiguous_date(self):
table = agate.Table.from_xlsx('examples/test_ambiguous_date.xlsx')
- # openpyxl >= 3 fixes a bug, but Python 2 is constrained to openpyxl < 3.
- if six.PY2:
- expected = datetime.date(1899, 12, 31)
- else:
- expected = datetime.date(1900, 1, 1)
-
self.assertColumnNames(table, ['s'])
self.assertColumnTypes(table, [agate.Date])
self.assertRows(table, [
- [expected],
+ [datetime.date(1900, 1, 1)],
])
def test_empty(self):
@@ -147,3 +137,16 @@
self.assertColumnNames(table, self.column_names)
self.assertColumnTypes(table, [agate.Number, agate.Text, agate.Boolean, agate.Date, agate.DateTime])
self.assertRows(table, [r.values() for r in self.table.rows])
+
+ def test_from_xlsx_unsized(self):
+ table = agate.Table.from_xlsx('examples/ne_1033_data.xlsx')
+
+ self.assertEqual(len(table.columns), 14)
+ self.assertEqual(len(table.rows), 1036)
+
+ def test_from_xlsx_size_1(self):
+ # https://github.com/wireservice/csvkit/issues/1129
+ table = agate.Table.from_xlsx('examples/covid_19-iss.xlsx')
+
+ self.assertEqual(len(table.columns), 18)
+ self.assertEqual(len(table.rows), 46)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-confluent-kafka for openSUSE:Factory checked in at 2023-12-03 20:49:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-confluent-kafka (Old)
and /work/SRC/openSUSE:Factory/.python-confluent-kafka.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-confluent-kafka"
Sun Dec 3 20:49:08 2023 rev:8 rq:1130506 version:2.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-confluent-kafka/python-confluent-kafka.changes 2023-12-02 17:13:10.189340948 +0100
+++ /work/SRC/openSUSE:Factory/.python-confluent-kafka.new.25432/python-confluent-kafka.changes 2023-12-03 20:49:27.695204853 +0100
@@ -1,0 +2,23 @@
+Sat Dec 2 19:24:06 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2.3.0:
+ * Add Python 3.12 wheels
+ * KIP-117: Add support for AdminAPI `describe_cluster()` and
+ `describe_topics()`. (@jainruchir, #1635)
+ * KIP-430:
+ * Return authorized operations in Describe Responses.
+ (@jainruchir, #1635)
+ * KIP-516: Partial support of topic identifiers. Topic
+ identifiers in metadata response are available through the
+ new describe_topics function (#1645).
+ * KIP-396: completed the implementation with the addition of
+ `list_offsets` (#1576).
+ * Add `Rack` to the `Node` type, so AdminAPI calls can expose
+ racks for brokers
+ * Fix the Describe User Scram Credentials for Describe all
+ users or empty users list.
+ * confluent-kafka-python is based on librdkafka v2.3.0, see the
+ librdkafka release notes for a complete list of changes,
+ enhancements, fixes and upgrade considerations.
+
+-------------------------------------------------------------------
Old:
----
confluent-kafka-2.2.0.tar.gz
New:
----
confluent-kafka-2.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-confluent-kafka.spec ++++++
--- /var/tmp/diff_new_pack.xc1U23/_old 2023-12-03 20:49:28.699241734 +0100
+++ /var/tmp/diff_new_pack.xc1U23/_new 2023-12-03 20:49:28.699241734 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-confluent-kafka
-Version: 2.2.0
+Version: 2.3.0
Release: 0
Summary: Confluent's Apache Kafka client for Python
License: Apache-2.0
@@ -28,7 +28,7 @@
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
-BuildRequires: librdkafka-devel >= 2.2.0
+BuildRequires: librdkafka-devel >= %{version}
BuildRequires: python-rpm-macros
%python_subpackages
++++++ confluent-kafka-2.2.0.tar.gz -> confluent-kafka-2.3.0.tar.gz ++++++
++++ 2410 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon-menus for openSUSE:Factory checked in at 2023-12-03 20:49:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-menus (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-menus.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-menus"
Sun Dec 3 20:49:07 2023 rev:20 rq:1130512 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-menus/cinnamon-menus.changes 2023-06-04 00:12:54.597644280 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon-menus.new.25432/cinnamon-menus.changes 2023-12-03 20:49:26.575163711 +0100
@@ -1,0 +2,6 @@
+Sat Nov 25 19:16:19 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * Fix meson.build deprecations up to 0.56.0
+
+-------------------------------------------------------------------
Old:
----
cinnamon-menus-5.8.0.tar.gz
New:
----
cinnamon-menus-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-menus.spec ++++++
--- /var/tmp/diff_new_pack.BxLIXZ/_old 2023-12-03 20:49:27.251188543 +0100
+++ /var/tmp/diff_new_pack.BxLIXZ/_new 2023-12-03 20:49:27.255188690 +0100
@@ -20,7 +20,7 @@
%define soname libcinnamon-menu-3
%define sover 0
Name: cinnamon-menus
-Version: 5.8.0
+Version: 6.0.0
Release: 0
Summary: A menu system for the Cinnamon Desktop
License: LGPL-2.1-or-later
++++++ cinnamon-menus-5.8.0.tar.gz -> cinnamon-menus-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-5.8.0/debian/changelog new/cinnamon-menus-6.0.0/debian/changelog
--- old/cinnamon-menus-5.8.0/debian/changelog 2023-06-01 14:45:20.000000000 +0200
+++ new/cinnamon-menus-6.0.0/debian/changelog 2023-11-19 13:44:11.000000000 +0100
@@ -1,3 +1,10 @@
+cinnamon-menus (6.0.0) virginia; urgency=medium
+
+ [ Rick Calixte ]
+ * Fix meson.build deprecations up to 0.56.0 (#67)
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Sun, 19 Nov 2023 12:43:17 +0000
+
cinnamon-menus (5.8.0) victoria; urgency=medium
[ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-5.8.0/docs/reference/meson.build new/cinnamon-menus-6.0.0/docs/reference/meson.build
--- old/cinnamon-menus-5.8.0/docs/reference/meson.build 2023-06-01 14:45:20.000000000 +0200
+++ new/cinnamon-menus-6.0.0/docs/reference/meson.build 2023-11-19 13:44:11.000000000 +0100
@@ -9,7 +9,7 @@
gnome.gtkdoc(
'cmenu',
- src_dir: join_paths(meson.source_root(), 'libmenu'),
+ src_dir: join_paths(meson.project_source_root(), 'libmenu'),
main_xml: 'cmenu-docs.xml',
scan_args: ['--rebuild-types'],
ignore_headers: libmenu_private_headers,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-5.8.0/meson.build new/cinnamon-menus-6.0.0/meson.build
--- old/cinnamon-menus-5.8.0/meson.build 2023-06-01 14:45:20.000000000 +0200
+++ new/cinnamon-menus-6.0.0/meson.build 2023-11-19 13:44:11.000000000 +0100
@@ -1,4 +1,4 @@
-project('cinnamon-menus', 'c', version : '5.8.0', meson_version: '>=0.40.0')
+project('cinnamon-menus', 'c', version : '6.0.0', meson_version: '>=0.56.0')
gnome = import('gnome')
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-fastparquet for openSUSE:Factory checked in at 2023-12-03 20:49:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fastparquet (Old)
and /work/SRC/openSUSE:Factory/.python-fastparquet.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-fastparquet"
Sun Dec 3 20:49:03 2023 rev:29 rq:1130498 version:2023.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fastparquet/python-fastparquet.changes 2023-07-03 17:43:07.716839810 +0200
+++ /work/SRC/openSUSE:Factory/.python-fastparquet.new.25432/python-fastparquet.changes 2023-12-03 20:49:22.963031027 +0100
@@ -1,0 +2,9 @@
+Mon Sep 11 21:29:16 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2023.8.0:
+ * More general timestamp units (#874)
+ * ReadTheDocs V2 (#871)
+ * Better roundtrip dtypes (#861, 859)
+ * No convert when computing bytes-per-item for str (#858)
+
+-------------------------------------------------------------------
Old:
----
fastparquet-2023.7.0.tar.gz
New:
----
fastparquet-2023.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-fastparquet.spec ++++++
--- /var/tmp/diff_new_pack.evDvRw/_old 2023-12-03 20:49:23.875064528 +0100
+++ /var/tmp/diff_new_pack.evDvRw/_new 2023-12-03 20:49:23.875064528 +0100
@@ -17,7 +17,7 @@
Name: python-fastparquet
-Version: 2023.7.0
+Version: 2023.8.0
Release: 0
Summary: Python support for Parquet file format
License: Apache-2.0
++++++ fastparquet-2023.7.0.tar.gz -> fastparquet-2023.8.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-fastparquet/fastparquet-2023.7.0.tar.gz /work/SRC/openSUSE:Factory/.python-fastparquet.new.25432/fastparquet-2023.8.0.tar.gz differ: char 14, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-agate-sql for openSUSE:Factory checked in at 2023-12-03 20:49:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-agate-sql (Old)
and /work/SRC/openSUSE:Factory/.python-agate-sql.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-agate-sql"
Sun Dec 3 20:49:02 2023 rev:12 rq:1130497 version:0.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-agate-sql/python-agate-sql.changes 2023-05-10 16:18:51.547093475 +0200
+++ /work/SRC/openSUSE:Factory/.python-agate-sql.new.25432/python-agate-sql.changes 2023-12-03 20:49:21.890991647 +0100
@@ -1,0 +2,9 @@
+Sat Dec 2 17:21:27 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.7.0:
+ * Use Fast Executemany Mode
+ * Add Python 3.12 support.
+ * Drop support for Python 3.6 (2021-12-23), 3.7 (2023-06-27).
+ * Allow SQLAlchemy 2. Disallow SQLAlchemy < 1.4.
+
+-------------------------------------------------------------------
Old:
----
0.5.9.tar.gz
New:
----
0.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-agate-sql.spec ++++++
--- /var/tmp/diff_new_pack.T2PWPR/_old 2023-12-03 20:49:22.411010749 +0100
+++ /var/tmp/diff_new_pack.T2PWPR/_new 2023-12-03 20:49:22.415010896 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-agate-sql
-Version: 0.5.9
+Version: 0.7.0
Release: 0
Summary: SQL read/write support for agate
License: MIT
@@ -32,11 +32,11 @@
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-SQLAlchemy
Requires: python-agate >= 1.5.0
-Requires: (python-sqlalchemy >= 1.0.8 with python-sqlalchemy < 2)
BuildArch: noarch
# SECTION test requirements
-BuildRequires: %{python_module sqlalchemy >= 1.0.8 with %python-sqlalchemy < 2}
+BuildRequires: %{python_module SQLAlchemy}
BuildRequires: %{python_module agate >= 1.5.0}
BuildRequires: %{python_module pytest}
# /SECTION
++++++ 0.5.9.tar.gz -> 0.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/.github/workflows/ci.yml new/agate-sql-0.7.0/.github/workflows/ci.yml
--- old/agate-sql-0.5.9/.github/workflows/ci.yml 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/.github/workflows/ci.yml 2023-10-18 06:41:37.000000000 +0200
@@ -7,7 +7,7 @@
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
- python-version: [3.7, 3.8, 3.9, '3.10', '3.11', pypy-3.7]
+ python-version: [3.8, 3.9, '3.10', '3.11', '3.12', pypy-3.9]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
@@ -15,5 +15,8 @@
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: setup.py
- - run: pip install .[test]
+ - run: pip install .[test] coveralls
- run: pytest --cov agatesql
+ - env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: coveralls --service=github
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/.github/workflows/pypi.yml new/agate-sql-0.7.0/.github/workflows/pypi.yml
--- old/agate-sql-0.5.9/.github/workflows/pypi.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-sql-0.7.0/.github/workflows/pypi.yml 2023-10-18 06:41:37.000000000 +0200
@@ -0,0 +1,23 @@
+name: Publish to PyPI
+on: push
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.10'
+ - run: pip install --upgrade build
+ - run: python -m build --sdist --wheel
+ - name: Publish to TestPyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
+ repository-url: https://test.pypi.org/legacy/
+ skip-existing: true
+ - name: Publish to PyPI
+ if: startsWith(github.ref, 'refs/tags')
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ password: ${{ secrets.PYPI_API_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/.readthedocs.yaml new/agate-sql-0.7.0/.readthedocs.yaml
--- old/agate-sql-0.5.9/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-sql-0.7.0/.readthedocs.yaml 2023-10-18 06:41:37.000000000 +0200
@@ -0,0 +1,11 @@
+version: 2
+build:
+ os: ubuntu-20.04
+ tools:
+ python: "3.9"
+python:
+ install:
+ - path: .
+ - requirements: docs/requirements.txt
+sphinx:
+ fail_on_warning: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/AUTHORS.rst new/agate-sql-0.7.0/AUTHORS.rst
--- old/agate-sql-0.5.9/AUTHORS.rst 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/AUTHORS.rst 2023-10-18 06:41:37.000000000 +0200
@@ -9,3 +9,4 @@
* `Jake Zimmerman <https://github.com/jez>`_
* `Shige Takeda <https://github.com/smtakeda>`_
* `Roger Webb <https://github.com/RogerWebb>`_
+* `Steve Kowalik <https://github.com/s-t-e-v-e-n-k>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/CHANGELOG.rst new/agate-sql-0.7.0/CHANGELOG.rst
--- old/agate-sql-0.5.9/CHANGELOG.rst 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/CHANGELOG.rst 2023-10-18 06:41:37.000000000 +0200
@@ -1,3 +1,15 @@
+0.7.0 - Oct 18, 2023
+--------------------
+
+* feat: Use `Fast Executemany Mode <https://docs.sqlalchemy.org/en/20/dialects/mssql.html#fast-executemany-mode>`_ when using the PyODBC SQL Server dialect.
+* Add Python 3.12 support.
+* Drop support for Python 3.6 (2021-12-23), 3.7 (2023-06-27).
+
+0.6.0 - Sep 26, 2023
+--------------------
+
+* Allow SQLAlchemy 2. Disallow SQLAlchemy < 1.4.
+
0.5.9 - Jan 28, 2023
--------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/MANIFEST.in new/agate-sql-0.7.0/MANIFEST.in
--- old/agate-sql-0.5.9/MANIFEST.in 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/MANIFEST.in 2023-10-18 06:41:37.000000000 +0200
@@ -4,5 +4,7 @@
include COPYING
recursive-include docs *.py
recursive-include docs *.rst
+recursive-include docs *.txt
recursive-include docs Makefile
recursive-include tests *.py
+exclude .readthedocs.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/README.rst new/agate-sql-0.7.0/README.rst
--- old/agate-sql-0.5.9/README.rst 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/README.rst 2023-10-18 06:41:37.000000000 +0200
@@ -2,6 +2,10 @@
:target: https://github.com/wireservice/agate-sql/actions
:alt: Build status
+.. image:: https://coveralls.io/repos/wireservice/agate-sql/badge.svg?branch=master
+ :target: https://coveralls.io/r/wireservice/agate-sql
+ :alt: Coverage status
+
.. image:: https://img.shields.io/pypi/dm/agate-sql.svg
:target: https://pypi.python.org/pypi/agate-sql
:alt: PyPI downloads
@@ -22,7 +26,7 @@
Important links:
-* agate http://agate.rtfd.org
-* Documentation: http://agate-sql.rtfd.org
+* agate https://agate.rtfd.org
+* Documentation: https://agate-sql.rtfd.org
* Repository: https://github.com/wireservice/agate-sql
* Issues: https://github.com/wireservice/agate-sql/issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/agatesql/__init__.py new/agate-sql-0.7.0/agatesql/__init__.py
--- old/agate-sql-0.5.9/agatesql/__init__.py 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/agatesql/__init__.py 2023-10-18 06:41:37.000000000 +0200
@@ -1,3 +1 @@
-#!/usr/bin/env python
-
import agatesql.table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/agatesql/table.py new/agate-sql-0.7.0/agatesql/table.py
--- old/agate-sql-0.5.9/agatesql/table.py 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/agatesql/table.py 2023-10-18 06:41:37.000000000 +0200
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
"""
This module contains the agatesql extensions to
:class:`Table <agate.table.Table>`.
@@ -7,6 +5,7 @@
import datetime
import decimal
+from urllib.parse import urlsplit
import agate
from sqlalchemy import Column, MetaData, Table, UniqueConstraint, create_engine, dialects
@@ -60,7 +59,11 @@
connection = connection_or_string
return None, connection
- engine = create_engine(connection_or_string)
+ kwargs = {}
+ if urlsplit(connection_or_string).scheme == 'mssql+pyodbc':
+ kwargs = {'fast_executemany': True}
+
+ engine = create_engine(connection_or_string, **kwargs)
connection = engine.connect()
return engine, connection
@@ -79,8 +82,8 @@
"""
engine, connection = get_engine_and_connection(connection_or_string)
- metadata = MetaData(connection)
- sql_table = Table(table_name, metadata, autoload=True, autoload_with=connection)
+ metadata = MetaData()
+ sql_table = Table(table_name, metadata, autoload_with=connection)
column_names = []
column_types = []
@@ -110,7 +113,7 @@
else:
raise ValueError('Unsupported sqlalchemy column type: %s' % type(sql_column.type))
- s = select([sql_table])
+ s = select(sql_table)
rows = connection.execute(s)
@@ -179,7 +182,7 @@
"""
Generates a SQL alchemy table from an agate table.
"""
- metadata = MetaData(connection)
+ metadata = MetaData()
sql_table = Table(table_name, metadata, schema=db_schema)
SQL_TYPE_MAP[agate.Boolean] = BOOLEAN_MAP.get(dialect, BOOLEAN)
@@ -216,7 +219,7 @@
sql_type_kwargs['scale'] = table.aggregate(agate.MaxPrecision(column_name))
# Avoid errors due to NO_ZERO_DATE.
- # @see http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
+ # @see https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
if not isinstance(column.data_type, agate.DateTime):
sql_column_kwargs['nullable'] = table.aggregate(agate.HasNulls(column_name))
@@ -254,15 +257,15 @@
Add prefixes to the insert query.
:param db_schema:
Create table in the specified database schema.
- :param constraints
+ :param constraints:
Generate constraints such as ``nullable`` for table columns.
- :param unique_constraint
+ :param unique_constraint:
The names of the columns to include in a UNIQUE constraint.
- :param chunk_size
+ :param chunk_size:
Write rows in batches of this size. If not set, rows will be written at once.
- :param col_min_len
+ :param col_min_len:
The minimum length of text columns.
- :param col_len_multiplier
+ :param col_len_multiplier:
Multiply the maximum column length by this multiplier to accomodate larger values in later runs.
"""
engine, connection = get_engine_and_connection(connection_or_string)
@@ -273,25 +276,30 @@
min_col_len=min_col_len, col_len_multiplier=col_len_multiplier)
if create:
- if overwrite:
- sql_table.drop(checkfirst=True)
+ with connection.begin_nested() as conn:
+ if overwrite:
+ sql_table.drop(bind=connection, checkfirst=True)
- sql_table.create(checkfirst=create_if_not_exists)
+ sql_table.create(bind=connection, checkfirst=create_if_not_exists)
+ conn.commit()
if insert:
- insert = sql_table.insert()
- for prefix in prefixes:
- insert = insert.prefix_with(prefix)
- if chunk_size is None:
- connection.execute(insert, [dict(zip(self.column_names, row)) for row in self.rows])
- else:
- number_of_rows = len(self.rows)
- for index in range((number_of_rows - 1) // chunk_size + 1):
- end_index = (index + 1) * chunk_size
- if end_index > number_of_rows:
- end_index = number_of_rows
- connection.execute(insert, [dict(zip(self.column_names, row)) for row in
- self.rows[index * chunk_size:end_index]])
+ with connection.begin_nested() as conn:
+ insert = sql_table.insert()
+ for prefix in prefixes:
+ insert = insert.prefix_with(prefix)
+ if chunk_size is None:
+ connection.execute(insert, [dict(zip(self.column_names, row)) for row in self.rows])
+ else:
+ number_of_rows = len(self.rows)
+ for index in range((number_of_rows - 1) // chunk_size + 1):
+ end_index = (index + 1) * chunk_size
+ if end_index > number_of_rows:
+ end_index = number_of_rows
+ connection.execute(insert, [dict(zip(self.column_names, row)) for row in
+ self.rows[index * chunk_size:end_index]])
+
+ conn.commit()
try:
return sql_table
@@ -312,9 +320,9 @@
The dialect of SQL to use for the table statement.
:param db_schema:
Create table in the specified database schema.
- :param constraints
+ :param constraints:
Generate constraints such as ``nullable`` for table columns.
- :param unique_constraint
+ :param unique_constraint:
The names of the columns to include in a UNIQUE constraint.
"""
sql_table = make_sql_table(self, table_name, dialect=dialect, db_schema=db_schema, constraints=constraints,
@@ -351,7 +359,7 @@
for q in queries:
if q:
- rows = connection.execute(q)
+ rows = connection.exec_driver_sql(q)
table = agate.Table(list(rows), column_names=rows._metadata.keys)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/docs/conf.py new/agate-sql-0.7.0/docs/conf.py
--- old/agate-sql-0.5.9/docs/conf.py 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/docs/conf.py 2023-10-18 06:41:37.000000000 +0200
@@ -1,224 +1,45 @@
+# Configuration file for the Sphinx documentation builder.
#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
import os
import sys
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('..'))
-# -- General configuration -----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
-autodoc_member_order = 'bysource'
-
-intersphinx_mapping = {
- 'python': ('http://docs.python.org/3.5/', None),
- 'agate': ('http://agate.readthedocs.org/en/latest/', None)
-}
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-infor…
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
project = 'agate-sql'
copyright = '2017, Christopher Groskopf'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.5.8'
-# The full version, including alpha/beta/rc tags.
+version = '0.7.0'
release = version
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-
-if not on_rtd: # only import and set the theme if we're building docs locally
- import sphinx_rtd_theme
- html_theme = 'sphinx_rtd_theme'
- html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-confi…
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'agatesqldoc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
- ('index', 'agate-sql.tex', 'agate-sql Documentation',
- 'Christopher Groskopf', 'manual'),
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.intersphinx'
]
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
+templates_path = ['_templates']
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-h…
-# If false, no module index is generated.
-#latex_domain_indices = True
+html_theme = 'furo'
+htmlhelp_basename = 'agatesqldoc'
-# -- Options for manual page output --------------------------------------------
+autodoc_default_options = {
+ 'members': None,
+ 'member-order': 'bysource',
+ 'show-inheritance': True,
+}
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-]
+intersphinx_mapping = {
+ 'python': ('https://docs.python.org/3', None),
+ 'agate': ('https://agate.readthedocs.org/en/latest/', None)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/docs/index.rst new/agate-sql-0.7.0/docs/index.rst
--- old/agate-sql-0.5.9/docs/index.rst 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/docs/index.rst 2023-10-18 06:41:37.000000000 +0200
@@ -13,11 +13,11 @@
pip install agate-sql
-For details on development or supported platforms see the `agate documentation <http://agate.readthedocs.org>`_.
+For details on development or supported platforms see the `agate documentation <https://agate.readthedocs.org>`_.
.. warning::
- You'll need to have the correct `sqlalchemy drivers <http://docs.sqlalchemy.org/en/rel_1_0/dialects/index.html>`_ installed for whatever database you plan to access. For instance, in order to read/write tables in a Postgres database, you'll also need to ``pip install psycopg2``.
+ You'll need to have the correct `sqlalchemy drivers <https://docs.sqlalchemy.org/en/rel_1_0/dialects/index.html>`_ installed for whatever database you plan to access. For instance, in order to read/write tables in a Postgres database, you'll also need to ``pip install psycopg2``.
Usage
=====
@@ -41,7 +41,7 @@
new_table.to_sql('postgresql:///hospitals', 'doctors')
-The first argument to either function can be any valid `sqlalchemy connection string <http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html>`_. The second argument must be a database name. (Arbitrary SQL queries are not supported.)
+The first argument to either function can be any valid `sqlalchemy connection string <https://docs.sqlalchemy.org/en/rel_1_0/core/engines.html>`_. The second argument must be a database name. (Arbitrary SQL queries are not supported.)
That's all there is to it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/docs/requirements.txt new/agate-sql-0.7.0/docs/requirements.txt
--- old/agate-sql-0.5.9/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/agate-sql-0.7.0/docs/requirements.txt 2023-10-18 06:41:37.000000000 +0200
@@ -0,0 +1,3 @@
+furo
+sphinx>2
+docutils>=0.18
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/setup.cfg new/agate-sql-0.7.0/setup.cfg
--- old/agate-sql-0.5.9/setup.cfg 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/setup.cfg 2023-10-18 06:41:37.000000000 +0200
@@ -4,8 +4,6 @@
# imported but unused
agatesql/__init__.py: F401
example.py: F401
- # block comment should start with '# '
- docs/conf.py: E265
[isort]
line_length = 119
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/setup.py new/agate-sql-0.7.0/setup.py
--- old/agate-sql-0.5.9/setup.py 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/setup.py 2023-10-18 06:41:37.000000000 +0200
@@ -5,13 +5,13 @@
setup(
name='agate-sql',
- version='0.5.9',
+ version='0.7.0',
description='agate-sql adds SQL read/write support to agate.',
long_description=long_description,
long_description_content_type='text/x-rst',
author='Christopher Groskopf',
author_email='chrisgroskopf(a)gmail.com',
- url='http://agate-sql.readthedocs.org/',
+ url='https://agate-sql.readthedocs.org/',
license='MIT',
classifiers=[
'Development Status :: 4 - Beta',
@@ -21,11 +21,11 @@
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
- 'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
+ 'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Scientific/Engineering :: Information Analysis',
@@ -34,7 +34,7 @@
packages=find_packages(exclude=['tests', 'tests.*']),
install_requires=[
'agate>=1.5.0',
- 'sqlalchemy<2',
+ 'sqlalchemy>=1.4',
],
extras_require={
'test': [
@@ -43,9 +43,5 @@
'pytest',
'pytest-cov',
],
- 'docs': [
- 'Sphinx>=1.2.2',
- 'sphinx_rtd_theme>=0.1.6',
- ],
}
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-sql-0.5.9/tests/test_agatesql.py new/agate-sql-0.7.0/tests/test_agatesql.py
--- old/agate-sql-0.5.9/tests/test_agatesql.py 2023-01-28 20:54:48.000000000 +0100
+++ new/agate-sql-0.7.0/tests/test_agatesql.py 2023-10-18 06:41:37.000000000 +0200
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
from decimal import Decimal
from textwrap import dedent
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gutenprint for openSUSE:Factory checked in at 2023-12-03 20:49:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gutenprint (Old)
and /work/SRC/openSUSE:Factory/.gutenprint.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gutenprint"
Sun Dec 3 20:49:00 2023 rev:35 rq:1130500 version:5.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/gutenprint/gutenprint.changes 2023-04-25 16:44:36.814863420 +0200
+++ /work/SRC/openSUSE:Factory/.gutenprint.new.25432/gutenprint.changes 2023-12-03 20:49:20.834952856 +0100
@@ -1,0 +2,6 @@
+Sat Nov 25 17:02:28 UTC 2023 - Bernhard Wiedemann <bwiedemann(a)suse.com>
+
+- Add reproducible.patch to override build date (boo#1047218)
+- drop config.summary with build host name (boo#1084909)
+
+-------------------------------------------------------------------
New:
----
reproducible.patch
BETA DEBUG BEGIN:
New:
- Add reproducible.patch to override build date (boo#1047218)
- drop config.summary with build host name (boo#1084909)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gutenprint.spec ++++++
--- /var/tmp/diff_new_pack.3HpePu/_old 2023-12-03 20:49:21.722985476 +0100
+++ /var/tmp/diff_new_pack.3HpePu/_new 2023-12-03 20:49:21.722985476 +0100
@@ -98,6 +98,8 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://downloads.sourceforge.net/gimp-print/%{name}-%{version}.tar.bz2
+# PATCH-FIX-UPSTREAM bmwiedemann https://sourceforge.net/p/gimp-print/source/merge-requests/9/
+Patch0: reproducible.patch
# How to get Source0 directly:
# wget --no-check-certificate -O gutenprint-5.3.4.tar.bz2 https://sourceforge.net/projects/gimp-print/files/gutenprint-5.3/5.3.4/gute…
# Patch0...Patch9 is for patches from upstream:
@@ -135,6 +137,7 @@
%prep
# Be quiet when unpacking:
%setup -q -n gutenprint-%{tarball_version}
+%patch0 -p1
%build
#autoreconf -fvi
@@ -203,6 +206,7 @@
mv $RPM_BUILD_ROOT/%{_bindir}/testpattern $RPM_BUILD_ROOT/%{_libdir}/gutenprint/%{gutenprintmajor}
# Remove dispensable .po files (only the .mo files are needed on the end-users's system):
rm $RPM_BUILD_ROOT/usr/share/locale/*/gutenprint_*.po
+rm $RPM_BUILD_ROOT%_libdir/gutenprint/*/config.summary # hostname in here made results vary
%find_lang gutenprint
%post
++++++ reproducible.patch ++++++
https://sourceforge.net/p/gimp-print/source/merge-requests/9/ merged
commit cd85016230120da0db71c98e375b37780242ef56
Author: Bernhard M. Wiedemann <bwiedemann(a)suse.de>
Date: Mon Jun 26 08:11:03 2023 +0200
Allow to override build date with SOURCE_DATE_EPOCH
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
Also consistently use ISO 8601 date format to be understood everywhere.
Also use UTC to be independent of timezone.
This patch was done while working on reproducible builds for openSUSE.
diff --git a/configure.ac b/configure.ac
index 6e2d123d..9a749507 100644
--- a/configure
+++ b/configure
@@ -1202,7 +1202,10 @@ echo "$PACKAGE_BUGREPORT" |tee -a config.summary
echo |tee -a config.summary
echo "================================================================" |tee -a config.summary
echo " Release: $PACKAGE_STRING generated on $RELEASE_DATE" |tee -a config.summary
-echo " Generated at `date` by $LOGNAME" |tee -a config.summary
+DATE_FMT="+%Y-%m-%dT%H:%M:%S+0000"
+SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(date +%s)}"
+BUILD_DATE=$(date -u -d "@$SOURCE_DATE_EPOCH" "$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "$DATE_FMT" 2>/dev/null || date -u "$DATE_FMT")
+echo " Generated at $BUILD_DATE by $LOGNAME" |tee -a config.summary
echo |tee -a config.summary
echo " Features:" |tee -a config.summary
if test "$BUILD_CUPS" != "no" ; then
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-barbicanclient for openSUSE:Factory checked in at 2023-12-03 20:48:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-barbicanclient (Old)
and /work/SRC/openSUSE:Factory/.python-barbicanclient.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-barbicanclient"
Sun Dec 3 20:48:59 2023 rev:18 rq:1130499 version:5.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-barbicanclient/python-barbicanclient.changes 2022-06-19 21:11:44.878205017 +0200
+++ /work/SRC/openSUSE:Factory/.python-barbicanclient.new.25432/python-barbicanclient.changes 2023-12-03 20:49:19.778914064 +0100
@@ -1,0 +2,26 @@
+Tue Mar 7 06:53:48 UTC 2023 - cloud-devel(a)suse.de
+
+- update to version 5.5.0
+ - Bump tox minversion to 3.18.0
+ - Unit tests for microversion, initial change for consumers
+ - Fix unit test failue with cliff>=3.5.0
+ - Make functional tests use stestr instead of nose
+ - Updating python testing as per Yoga testing runtime
+ - Add Python 3 only classifier
+ - Added secret consumers list functionality. Unit, smoke
+ - Add Python3 zed unit tests
+ - Remove six
+ - Switch to 2023.1 Python3 unit tests and generic template name
+ - Implement microversions
+ - Add secret consumers documentation
+ - Update the constraints url
+ - Replace deprecated UPPER_CONSTRAINTS_FILE variable
+ - Add secret consumers Python API
+ - Drop lower-constraints.txt and its testing
+ - Replace git.openstack.org URLs with opendev.org URLs
+ - Added the force parameter to consumer removal and the corresponding CLI commands
+ - setup.cfg: Replace dashes by underscores
+ - Fix the import warning of secrets
+ - Remove unicode literal
+
+-------------------------------------------------------------------
Old:
----
python-barbicanclient-5.2.0.tar.gz
New:
----
python-barbicanclient-5.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-barbicanclient.spec ++++++
--- /var/tmp/diff_new_pack.K4mx8G/_old 2023-12-03 20:49:20.310933607 +0100
+++ /var/tmp/diff_new_pack.K4mx8G/_new 2023-12-03 20:49:20.314933754 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-barbicanclient
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,16 +17,16 @@
Name: python-barbicanclient
-Version: 5.2.0
+Version: 5.5.0
Release: 0
Summary: Client for the Barbican Key Management API
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/python-barbicanclient
-Source0: https://files.pythonhosted.org/packages/source/p/python-barbicanclient/pyth…
+Source0: https://files.pythonhosted.org/packages/source/p/python-barbicanclient/pyth…
BuildRequires: openstack-macros
BuildRequires: python3-cliff >= 2.8.0
-BuildRequires: python3-keystoneauth1 >= 3.4.0
+BuildRequires: python3-keystoneauth1 >= 5.1.1
BuildRequires: python3-oslo.i18n >= 3.15.3
BuildRequires: python3-oslo.serialization >= 2.18.0
BuildRequires: python3-oslo.utils >= 3.33.0
@@ -54,13 +54,12 @@
%package -n python3-barbicanclient
Summary: Client for the Barbican Key Management API
Requires: python3-cliff >= 2.8.0
-Requires: python3-keystoneauth1 >= 3.4.0
+Requires: python3-keystoneauth1 >= 5.1.1
Requires: python3-oslo.i18n >= 3.15.3
Requires: python3-oslo.serialization >= 2.18.0
Requires: python3-oslo.utils >= 3.33.0
Requires: python3-pbr >= 2.0.0
Requires: python3-requests >= 2.14.2
-Requires: python3-six
%if 0%{?suse_version}
Obsoletes: python2-barbicanclient < 4.10.0
%endif
@@ -99,8 +98,8 @@
%{py3_install}
%check
-python3 -m stestr.cli run \
- --black-regex 'barbicanclient.tests.test_barbican.WhenTestingBarbicanCLI.test_should_show_usage_with_help_flag'
+%{openstack_stestr_run} \
+ --exclude-regex 'barbicanclient.tests.test_barbican.WhenTestingBarbicanCLI.test_should_show_usage_with_help_flag'
%files -n python3-barbicanclient
%license LICENSE
++++++ python-barbicanclient-5.2.0.tar.gz -> python-barbicanclient-5.5.0.tar.gz ++++++
++++ 3880 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package duply for openSUSE:Factory checked in at 2023-12-03 20:48:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/duply (Old)
and /work/SRC/openSUSE:Factory/.duply.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "duply"
Sun Dec 3 20:48:56 2023 rev:26 rq:1130490 version:2.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/duply/duply.changes 2023-01-21 19:13:37.538007880 +0100
+++ /work/SRC/openSUSE:Factory/.duply.new.25432/duply.changes 2023-12-03 20:49:16.834805918 +0100
@@ -1,0 +2,23 @@
+Sat Dec 2 16:20:23 UTC 2023 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- update to 2.5.2
+ * fix bug #139: "ampersand (&) in gpg passphrase breaks gpg tests"
+
+- update to 2.5.1
+ * quotewrap only strings with quotes ('") or spaces from now on
+ * add --verbosity only if set in profile conf
+ * bugfix #138: fix quoting when filtering params, thx Eric
+ * bugfix #137: relax version parsing regex
+
+- update to 2.5.0
+ * bugfix #136: "not compatible with duplicity 2.x", thx tengel, lds, Rhomeo
+ check for duplicity 2.1+ (2.0 broke implied commands),
+ command line ui changed incompatibly
+ * filter in/excludes more strictly for more duplicity actions now
+ * replace '--file-to-restore' with '--path-to-restore'
+ * filter backup only params now
+
+- update to 2.4.3
+ * bugfix #134: workaround bash 4.2 and earlier read bug (thx Tavio Wong)
+
+-------------------------------------------------------------------
Old:
----
duply_2.4.2.tgz
New:
----
duply_2.5.2.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ duply.spec ++++++
--- /var/tmp/diff_new_pack.EmZz08/_old 2023-12-03 20:49:17.562832662 +0100
+++ /var/tmp/diff_new_pack.EmZz08/_new 2023-12-03 20:49:17.562832662 +0100
@@ -18,12 +18,12 @@
Name: duply
-Version: 2.4.2
+Version: 2.5.2
Release: 0
Summary: A frontend for the "duplicity" backup program
License: GPL-2.0-only
URL: https://duply.net/
-Source0: https://sourceforge.net/projects/ftplicity/files/duply%{20}%{28}simple%{20}…
+Source0: https://sourceforge.net/projects/ftplicity/files/duply%{20}%{28}simple%{20}…
BuildArch: noarch
# MANUAL BEGIN
Requires: duplicity
++++++ duply_2.4.2.tgz -> duply_2.5.2.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.4.2/CHANGELOG.txt new/duply_2.5.2/CHANGELOG.txt
--- old/duply_2.4.2/CHANGELOG.txt 2023-01-19 14:21:57.000000000 +0100
+++ new/duply_2.5.2/CHANGELOG.txt 2023-11-30 15:40:29.000000000 +0100
@@ -17,16 +17,36 @@
- remove url_encode, test for invalid chars n throw error instead
CHANGELOG:
+2.5.2 (30.11.2023)
+- bug #139: "ampersand (&) in gpg passphrase breaks gpg tests"
+
+2.5.1 (4.10.2023)
+- quotewrap only strings with quotes ('") or spaces from now on
+- add --verbosity only if set in profile conf
+- bugfix #138: fix quoting when filtering params, thx Eric
+- bugfix #137: relax version parsing regex
+
+2.5.0 (25.09.2023)
+- bugfix #136: "not compatible with duplicity 2.x", thx tengel, lds, Rhomeo
+ check for duplicity 2.1+ (2.0 broke implied commands),
+ command line ui changed incompatibly
+- filter in/excludes more strictly for more duplicity actions now
+- replace '--file-to-restore' with '--path-to-restore'
+- filter backup only params now
+
+2.4.3 (05.05.2023)
+- bugfix #134: workaround bash 4.2 and earlier read bug (thx Tavio Wong)
+
2.4.2 (19.01.2023)
- featreq #55: change to purgeAuto in systemd unit files (thx B.Foresman)
- featreq #56: systemd files should go in /etc, not /lib (thx B.Foresman)
- bugfix #133: read -N not available on macOS (thx Peter Torelli)
-2.4.1 (9.9.2022)
+2.4.1 (09.09.2022)
- fixup duplicity links, moved to http://duplicity.us
- bugfix: duply hangs on awk version detection on OpenBSD (thx phthomas137)
-2.4 (6.4.2022)
+2.4 (06.04.2022)
- bugfix #127: date_from_nsecs ignores format string
- bugfix #116: separators print date now too
- featreq #48: add purgeAuto command (see man page)
@@ -37,7 +57,7 @@
- version output, always print PYTHONPATH, if interpreter was determined
- update python references to python3
-2.3.1 (11.2.2021)
+2.3.1 (11.02.2021)
- bugfix 123: symmetric encryption errs out, asks for '' private key
2.3 (30.12.2020)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.4.2/duply new/duply_2.5.2/duply
--- old/duply_2.4.2/duply 2023-01-19 14:21:56.000000000 +0100
+++ new/duply_2.5.2/duply 2023-11-30 15:40:29.000000000 +0100
@@ -9,7 +9,7 @@
# changed from ftplicity to duply. #
# See http://duply.net or http://ftplicity.sourceforge.net/ for more info. #
# (c) 2006 Christiane Ruetten, Heise Zeitschriften Verlag, Germany #
-# (c) 2008-2022 Edgar Soldin (changes since version 1.3) #
+# (c) 2008-2023 Edgar Soldin (changes since version 1.3) #
################################################################################
# LICENSE: #
# This program is licensed under GPLv2. #
@@ -33,16 +33,36 @@
# - remove url_encode, test for invalid chars n throw error instead
#
# CHANGELOG:
+# 2.5.2 (30.11.2023)
+# - bug #139: "ampersand (&) in gpg passphrase breaks gpg tests"
+#
+# 2.5.1 (4.10.2023)
+# - quotewrap only strings with quotes ('") or spaces from now on
+# - add --verbosity only if set in profile conf
+# - bugfix #138: fix quoting when filtering params, thx Eric
+# - bugfix #137: relax version parsing regex
+#
+# 2.5.0 (25.09.2023)
+# - bugfix #136: "not compatible with duplicity 2.x", thx tengel, lds, Rhomeo
+# check for duplicity 2.1+ (2.0 broke implied commands),
+# command line ui changed incompatibly
+# - filter in/excludes more strictly for more duplicity actions now
+# - replace '--file-to-restore' with '--path-to-restore'
+# - filter backup only params now
+#
+# 2.4.3 (05.05.2023)
+# - bugfix #134: workaround bash 4.2 and earlier read bug (thx Tavio Wong)
+#
# 2.4.2 (19.01.2023)
# - featreq #55: change to purgeAuto in systemd unit files (thx B.Foresman)
# - featreq #56: systemd files should go in /etc, not /lib (thx B.Foresman)
# - bugfix #133: read -N not available on macOS (thx Peter Torelli)
#
-# 2.4.1 (9.9.2022)
+# 2.4.1 (09.09.2022)
# - fixup duplicity links, moved to http://duplicity.us
# - bugfix: duply hangs on awk version detection on OpenBSD (thx phthomas137)
#
-# 2.4 (6.4.2022)
+# 2.4 (06.04.2022)
# - bugfix #127: date_from_nsecs ignores format string
# - bugfix #116: separators print date now too
# - featreq #48: add purgeAuto command (see man page)
@@ -53,7 +73,7 @@
# - version output, always print PYTHONPATH, if interpreter was determined
# - update python references to python3
#
-# 2.3.1 (11.2.2021)
+# 2.3.1 (11.02.2021)
# - bugfix 123: symmetric encryption errs out, asks for '' private key
#
# 2.3 (30.12.2020)
@@ -536,7 +556,7 @@
ME_LONG="$0"
ME="$(basename $0)"
ME_NAME="${ME%%.*}"
-ME_VERSION="2.4.2"
+ME_VERSION="2.5.2"
ME_WEBSITE="https://duply.net"
# default config values
@@ -1173,8 +1193,8 @@
CMD="$PYTHON $(qw "$(which duplicity)")"
DUPL_VERSION_OUT=$($CMD --version)
- DUPL_VERSION=`echo $DUPL_VERSION_OUT | awk '/^duplicity /{print $2; exit;}'`
- #DUPL_VERSION='0.7.03' #'0.6.08b' #,0.4.4.RC4,0.6.08b
+ DUPL_VERSION=$(echo $DUPL_VERSION_OUT | awk '/^duplicity/{print $2; exit;}')
+ #DUPL_VERSION='1.2.3' #'0.7.03' #'0.6.08b' #,0.4.4.RC4,0.6.08b
DUPL_VERSION_VALUE=0
DUPL_VERSION_AWK=$(awk -v v="$DUPL_VERSION" 'BEGIN{
if (match(v,/[^\.0-9]+[0-9]*$/)){
@@ -1199,8 +1219,12 @@
"
elif [ $DUPL_VERSION_VALUE -le 404 ] && [ ${DUPL_VERSION_RC:-4} -lt 4 ]; then
error "The installed version $DUPL_VERSION is incompatible with $ME_NAME v$ME_VERSION.
-You should upgrade your version of duplicity to at least v0.4.4RC4 or
+You should upgrade your version of $ME_NAME to at least v0.4.4RC4 or
use the older ftplicity version 1.1.1 from $ME_WEBSITE."
+ elif [ $DUPL_VERSION_VALUE -le 20100 ] ; then
+ error "The installed version $DUPL_VERSION is incompatible with $ME_NAME v$ME_VERSION.
+You should upgrade your version of duplicity to at least v2.1.0 or
+use the older $ME_NAME version 2.4.3 from $ME_WEBSITE."
fi
}
@@ -1293,12 +1317,12 @@
return $CMD_ERR
}
-function qw { quotewrap "$@"; }
+function qw { quotewrap $@; }
function quotewrap {
local param="$@"
# quote strings having non word chars (e.g. spaces)
- if echo "$param" | awk '/[^A-Za-z0-9_\.\-\/]/{exit 0}{exit 1}'; then
+ if echo "$param" | awk '/[^a-zA-Z0-9,\._\+\-@%\/]/{exit 0}{exit 1}'; then
echo "$param" | awk '{\
gsub(/[\047]/,"\047\\\047\047",$0);\
gsub(/[\042]/,"\047\\\042\047",$0);\
@@ -1342,45 +1366,83 @@
fi
fi
-DUPL_PARAMS_GLOBAL="${DUPL_ARCHDIR} ${DUPL_PARAM_ENC} \
-${DUPL_PARAM_SIGN} --verbosity '${VERBOSITY:-4}' \
+DUPL_PARAMS_GLOBAL="${DUPL_ARCHDIR} ${DUPL_PARAM_ENC}\
+ ${DUPL_PARAM_SIGN} ${VERBOSITY:+--verbosity $VERBOSITY}\
${GPG_OPTS}"
-DUPL_VARS_GLOBAL="TMPDIR='$TEMP_DIR' \
+DUPL_VARS_GLOBAL="TMPDIR='$TEMP_DIR'\
${DUPL_ARG_ENC}"
}
# function to filter the DUPL_PARAMS var from user conf
function duplicity_params_conf {
+ local OUT="$DUPL_PARAMS"
# reuse cmd var from main loop
- ## in/exclude parameters are currently not supported on restores
- if [ "$cmd" = "fetch" ] || [ "$cmd" = "restore" ] || [ "$cmd" = "status" ]; then
- # filter exclude params from fetch/restore/status
- eval "stripXcludes $DUPL_PARAMS"
- return
- fi
+ ## in/exclude parameters are currently not supported on
+ ## cleanup, status (collection_status), list (list_current_files), purge* (remove_*), fetch/restore
+ case $cmd in
+ cleanup | status | list | purge* | restore | fetch )
+ # filter exclude params from fetch/restore/status
+ OUT=$(eval stripXcludes $OUT)
+ ;;
+ esac
+
+ case $cmd in
+ bkp | incr | full )
+ # nothing to strip, we're backing up'
+ ;;
+ *)
+ OUT=$(eval stripBkpOnlyParams $OUT)
+ ;;
+ esac
- # nothing done, print unchanged
- echo "$DUPL_PARAMS"
+ # print result
+ echo "$OUT"
}
# strip in/exclude parameters from param string
function stripXcludes {
local STRIPNEXT OUT;
for p in "$@"; do
+ #echo "calc =$p="
if [ -n "$STRIPNEXT" ]; then
unset STRIPNEXT
# strip the value of previous parameter
continue
- elif echo "$p" | awk '/^\-\-(in|ex)clude(\-[a-zA-Z]+)?$/{exit 0;}{exit 1;}'; then
+ elif echo "$p" | awk '/^\-\-(in|ex)clude(\-[a-zA-Z\-]+)?$/{exit 0;}{exit 1;}'; then
# strips e.g. --include /foo/bar
STRIPNEXT="yes"
continue
- elif echo "$p" | awk '/^\-\-(in|ex)clude(\-[a-zA-Z]+)?=/{exit 0;}{exit 1;}'; then
+ elif echo "$p" | awk '/^\-\-(in|ex)clude(\-[a-zA-Z\-]+)?=/{exit 0;}{exit 1;}'; then
# strips e.g. --include=/foo/bar
continue
fi
-
+
+ OUT="$OUT $(qw "$p")"
+ done
+ echo "$OUT"
+}
+
+# strip backup only parameters from param string
+function stripBkpOnlyParams {
+ local STRIPNEXT OUT;
+
+ for p in "$@"; do
+ if [ -n "$STRIPNEXT" ]; then
+ unset STRIPNEXT
+ # strip the value of previous parameter
+ continue
+ elif echo "$p" | awk '/^\-\-(allow-source-mismatch|asynchronous-upload|dry-run)$/{exit 0;}{exit 1;}'; then
+ continue
+ elif echo "$p" | awk '/^\-\-(volsize)$/{exit 0;}{exit 1;}'; then
+ # strips e.g. --volsize 100
+ STRIPNEXT="yes"
+ continue
+ elif echo "$p" | awk '/^\-\-volsize=/{exit 0;}{exit 1;}'; then
+ # strips e.g. --volsize=100
+ continue
+ fi
+
OUT="$OUT $(qw "$p")"
done
echo "$OUT"
@@ -1416,8 +1478,8 @@
CMD="$PYTHON $(qw "$(which duplicity)")"
$RUN "${DUPL_VARS_GLOBAL} ${BACKEND_PARAMS}\
- ${DUPL_PRECMD} $CMD $DUPL_CMD $DUPL_PARAMS_GLOBAL $(duplicity_params_conf)\
- $GPG_USEAGENT $(gpg_custom_binary) $DUPL_CMD_PARAMS"
+ ${DUPL_PRECMD} $CMD $DUPL_CMD $DUPL_PARAMS_GLOBAL $(duplicity_params_conf)\
+ $GPG_USEAGENT $(gpg_custom_binary) $DUPL_CMD_PARAMS"
local ERR=$?
return $ERR
@@ -2261,9 +2323,9 @@
# get volsize, default duplicity volume size is 25MB since v0.5.07
-VOLSIZE=${VOLSIZE:-25}
+#VOLSIZE=${VOLSIZE:-25}
# double if asynch is on
-echo $@ $DUPL_PARAMS | grep -q -e '--asynchronous-upload' && FACTOR=2 || FACTOR=1
+#echo $@ $DUPL_PARAMS | grep -q -e '--asynchronous-upload' && FACTOR=2 || FACTOR=1
# TODO: check for enough (async= upload space and WARN only
# use function tmp_space
@@ -2440,7 +2502,7 @@
print cmds}")
# split commands by '_', preserve spaces even if not allowed :)
-IFS='_' read -ra CMDS_IN <<< "$(tolower $cmds)"
+IFS='_' read -ra CMDS_IN <<< "$(tolower "$cmds")"
# convert cmds to array,
# post process, translate batch commands
@@ -2602,11 +2664,11 @@
( run_script "$script" )
;;
'bkp')
- duplify -- "${dupl_opts[@]}" $EXCLUDE_PARAM "$EXCLUDE" \
+ duplify backup -- "${dupl_opts[@]}" $EXCLUDE_PARAM "$EXCLUDE" \
"$SOURCE" "$BACKEND_URL"
;;
'incr')
- duplify incr -- "${dupl_opts[@]}" $EXCLUDE_PARAM "$EXCLUDE" \
+ duplify incremental -- "${dupl_opts[@]}" $EXCLUDE_PARAM "$EXCLUDE" \
"$SOURCE" "$BACKEND_URL"
;;
'full')
@@ -2627,7 +2689,7 @@
Syntax is -> $ME <profile> verifyPath <rel_bkp_path> <local_path> [<age>]"
duplify verify -- $TIME "${dupl_opts[@]}" $EXCLUDE_PARAM "$EXCLUDE" \
- --file-to-restore "$IN_PATH" "$BACKEND_URL" "$OUT_PATH"
+ --path-to-restore "$IN_PATH" "$BACKEND_URL" "$OUT_PATH"
;;
'list')
# time param exists since 0.5.10+
@@ -2664,20 +2726,19 @@
Hint:
Syntax is -> $ME <profile> restore <target_path> [<age>]"
-
- duplify -- -t "$TIME" "${dupl_opts[@]}" "$BACKEND_URL" "$OUT_PATH"
+
+ duplify restore -- -t "$TIME" "${dupl_opts[@]}" "$BACKEND_URL" "$OUT_PATH"
;;
'fetch')
IN_PATH="${ftpl_pars[0]}"; OUT_PATH="${ftpl_pars[1]}";
TIME="${ftpl_pars[2]:-now}";
( [ -z "$IN_PATH" ] || [ -z "$OUT_PATH" ] ) && error " Missing parameter <src_path> or <target_path> for fetch.
-
+
Hint:
Syntax is -> $ME <profile> fetch <src_path> <target_path> [<age>]"
-
- # duplicity 0.4.7 doesnt like cmd restore in combination with --file-to-restore
- duplify -- --restore-time "$TIME" "${dupl_opts[@]}" \
- --file-to-restore "$IN_PATH" "$BACKEND_URL" "$OUT_PATH"
+
+ duplify restore -- --restore-time "$TIME" "${dupl_opts[@]}" \
+ --path-to-restore "$IN_PATH" "$BACKEND_URL" "$OUT_PATH"
;;
'status')
duplify collection-status -- "${dupl_opts[@]}" "$BACKEND_URL"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mkvtoolnix for openSUSE:Factory checked in at 2023-12-03 20:48:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mkvtoolnix (Old)
and /work/SRC/openSUSE:Factory/.mkvtoolnix.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mkvtoolnix"
Sun Dec 3 20:48:54 2023 rev:161 rq:1130495 version:81.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/mkvtoolnix/mkvtoolnix.changes 2023-10-30 22:11:08.945021754 +0100
+++ /work/SRC/openSUSE:Factory/.mkvtoolnix.new.25432/mkvtoolnix.changes 2023-12-03 20:49:15.142743764 +0100
@@ -1,0 +2,71 @@
+Sat Dec 2 16:01:23 UTC 2023 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 81.0
+ New features and enhancements:
+ * mkvmerge: MPEG transport stream reader: HEVC/H.265: added
+ support for reading single-layer Dolby Vision from Annex B
+ type bitstream read from MPEG transport streams.
+ * mkvmerge: MPEG transport stream reader, HEVC/H.265
+ elementary stream reader: added support for reading
+ dual-layer Dolby Vision with both the base & enhancement
+ layers in the same track from Annex B type bitstreams in MPEG
+ transport files & elementary stream files.
+ * mkvmerge: MPEG transport stream reader: HEVC/H.265:
+ implemented combining dual-layer Dolby Vision with base &
+ enhancement layers in different tracks.
+ * MKVToolNix GUI: multiplexer: added a new option in the
+ preferences for always enabling 'forced' subtitle tracks.
+ A subtitle track is considered to be 'forced' if: the
+ corresponding property is set in the source file; the
+ track's name contains the word 'forced' (in English);
+ deriving the 'forced display' flag from file names is active
+ & the file name matches the corresponding pattern. The option
+ is disabled by default.
+ * MKVToolNix GUI: multiplexer: the functionality for detecting
+ file name sequences when adding files can now recognize the
+ patterns used by GoPro's cameras for chaptered video files.
+ * xyzvc_dump: the end position of the current NALU will be
+ output in non-portable format as well.
+ * xyzvc_dump: HEVC: the tool will now also output the inner
+ NALU type of Dolby Vision NALUs (`unspec62` and `unspec63`).
+ Bug fixes:
+ * mkvmerge: when the user requests processing be stopped after
+ the video ends `mkvmerge` will now take appending files into
+ account properly. It won't stop processing unconditionally
+ after the first file ends anymore.
+ * mkvmerge: AV1 handling in readers: the readers will now
+ provide the pixel dimensions to the AV1 packetizer as early
+ as possible, just like for other video packetizers. That way
+ the pixel dimensions are available for calculating the
+ display dimensions when command-line options such as
+ `--aspect-ratio` & `--aspect-ratio-factor` are used. Before
+ the change the calculation was done based on initial pixel
+ dimension values of 0x0, resulting in display dimensions of
+ 0x0, too.
+ * mkvmerge: HEVC/H.265 packetizer: when reading & appending
+ HEVC/H.265 from Matroska, MP4/MOV or FLV files the first
+ frame of all the appended files was sometimes dropped,
+ resulting in broken video at the point where video is
+ appended.
+ * mkvmerge: MPEG transport stream reader: when reading MPEG
+ transport streams from Blu-rays the four-byte long
+ `TP_extra_header` structure in front of the transport
+ packets are now skipped properly. Before the fix a stray
+ byte with value of `0x47` inside that `TP_extra_header`
+ structure could have thrown off the detection of where the
+ transport packets start, leading to mkvmerge dropping a few
+ audio and/or video frames at the start of the file.
+ * mkvextract: AAC extractor: when an invalid program config
+ element in the GA-specific config element is encountered,
+ the program config element will be disregarded, which avoids
+ mkvextract aborting with an exception.
+ * xyzvc_dump: fixed the tool aborting with an exception when
+ the last NALU in an Annex B type file was shorter than four
+ bytes.
+ Other changes:
+ * AVC & HEVC dumper development tool: the tool has been
+ renamed from `xvc_dump` to `xyzvc_dump` as `xvc` is an
+ abbreviation for an existing video codec (Extreme Video
+ Coding), and the tool has nothing to do with that codec.
+
+-------------------------------------------------------------------
Old:
----
mkvtoolnix-80.0.tar.xz
mkvtoolnix-80.0.tar.xz.sig
New:
----
mkvtoolnix-81.0.tar.xz
mkvtoolnix-81.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mkvtoolnix.spec ++++++
--- /var/tmp/diff_new_pack.FDK0Ja/_old 2023-12-03 20:49:16.142780499 +0100
+++ /var/tmp/diff_new_pack.FDK0Ja/_new 2023-12-03 20:49:16.142780499 +0100
@@ -17,7 +17,7 @@
Name: mkvtoolnix
-Version: 80.0
+Version: 81.0
Release: 0
Summary: Tools to Create, Alter, and Inspect Matroska Files
License: GPL-2.0-or-later
@@ -129,7 +129,7 @@
install -m0755 src/tools/ac3parser src/tools/base64tool src/tools/bluray_dump \
src/tools/checksum src/tools/diracparser src/tools/ebml_validator \
src/tools/hevcc_dump src/tools/pgs_dump src/tools/vc1parser \
- src/tools/xvc_dump -t %{buildroot}%{_bindir}
+ src/tools/xyzvc_dump -t %{buildroot}%{_bindir}
%fdupes %{buildroot}/%{_prefix}
@@ -173,5 +173,5 @@
%{_bindir}/hevcc_dump
%{_bindir}/pgs_dump
%{_bindir}/vc1parser
-%{_bindir}/xvc_dump
+%{_bindir}/xyzvc_dump
++++++ mkvtoolnix-80.0.tar.xz -> mkvtoolnix-81.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/mkvtoolnix/mkvtoolnix-80.0.tar.xz /work/SRC/openSUSE:Factory/.mkvtoolnix.new.25432/mkvtoolnix-81.0.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-upgrade for openSUSE:Factory checked in at 2023-12-03 20:48:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-upgrade (Old)
and /work/SRC/openSUSE:Factory/.python-django-upgrade.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-upgrade"
Sun Dec 3 20:48:52 2023 rev:6 rq:1130488 version:1.15.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-upgrade/python-django-upgrade.changes 2023-09-12 21:03:03.292542625 +0200
+++ /work/SRC/openSUSE:Factory/.python-django-upgrade.new.25432/python-django-upgrade.changes 2023-12-03 20:49:13.794694247 +0100
@@ -1,0 +2,11 @@
+Sat Dec 2 16:25:38 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.15.0:
+ * Support Django 5.0 as a target version.
+ * Add Django 5.0+ fixer to drop ``.choices`` on model field
+ ``choices`` parameters when using an enumeration type.
+ * Add some compatibility import replacements for Django 4.0 and
+ below.
+ * Fix issue with ``(a)admin.register()`` checker
+
+-------------------------------------------------------------------
Old:
----
django-upgrade-1.14.1.tar.gz
New:
----
django-upgrade-1.15.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-upgrade.spec ++++++
--- /var/tmp/diff_new_pack.c8X4oG/_old 2023-12-03 20:49:14.542721724 +0100
+++ /var/tmp/diff_new_pack.c8X4oG/_new 2023-12-03 20:49:14.542721724 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-django-upgrade
-Version: 1.14.1
+Version: 1.15.0
Release: 0
Summary: Automatically upgrade your Django projects
License: MIT
++++++ django-upgrade-1.14.1.tar.gz -> django-upgrade-1.15.0.tar.gz ++++++
++++ 1851 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-bincopy for openSUSE:Factory checked in at 2023-12-03 20:48:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bincopy (Old)
and /work/SRC/openSUSE:Factory/.python-bincopy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bincopy"
Sun Dec 3 20:48:51 2023 rev:2 rq:1130492 version:20.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bincopy/python-bincopy.changes 2023-06-28 21:33:56.222064560 +0200
+++ /work/SRC/openSUSE:Factory/.python-bincopy.new.25432/python-bincopy.changes 2023-12-03 20:49:12.770656631 +0100
@@ -1,0 +2,11 @@
+Sat Dec 2 16:47:49 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 20.0.0:
+ * Fix chunk merging for work size > 1
+ * Simply chunk overlap check
+ * Fixup: consider word size when merging chunks
+ * Add tests for padding
+ * Make chunk padding word sized
+ * fix elf
+
+-------------------------------------------------------------------
Old:
----
bincopy-17.14.5.tar.gz
New:
----
bincopy-20.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-bincopy.spec ++++++
--- /var/tmp/diff_new_pack.ijD908/_old 2023-12-03 20:49:13.486682932 +0100
+++ /var/tmp/diff_new_pack.ijD908/_new 2023-12-03 20:49:13.486682932 +0100
@@ -18,28 +18,28 @@
%{?sle15_python_module_pythons}
Name: python-bincopy
-Version: 17.14.5
+Version: 20.0.0
Release: 0
Summary: Mangling of various file formats that conveys binary information
License: MIT
URL: https://github.com/eerimoq/bincopy
Source: https://files.pythonhosted.org/packages/source/b/bincopy/bincopy-%{version}…
-BuildRequires: python-rpm-macros
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
+BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module argparse_addons}
-BuildRequires: %{python_module pyelftools}
BuildRequires: %{python_module humanfriendly}
+BuildRequires: %{python_module pyelftools}
# /SECTION
Requires: python-argparse_addons
+Requires: fdupes
Requires: python-humanfriendly
Requires: python-pyelftools
-Requires: fdupes
Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Requires(postun):update-alternatives
BuildArch: noarch
%python_subpackages
++++++ bincopy-17.14.5.tar.gz -> bincopy-20.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bincopy-17.14.5/PKG-INFO new/bincopy-20.0.0/PKG-INFO
--- old/bincopy-17.14.5/PKG-INFO 2023-02-16 18:49:08.069267300 +0100
+++ new/bincopy-20.0.0/PKG-INFO 2023-10-26 21:13:10.971764600 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: bincopy
-Version: 17.14.5
+Version: 20.0.0
Summary: Mangling of various file formats that conveys binary information (Motorola S-Record, Intel HEX and binary files).
Home-page: https://github.com/eerimoq/bincopy
Author: Erik Moqvist
@@ -14,6 +14,9 @@
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
License-File: LICENSE
+Requires-Dist: humanfriendly
+Requires-Dist: argparse_addons>=0.4.0
+Requires-Dist: pyelftools
About
=====
@@ -64,6 +67,10 @@
3F 01 56 70 2B 5E 71 2B 72 2B 73 21 46 01 34 21
q
+ >>> print(f.as_verilog_vmem())
+ @00000100 21 46 01 36 01 21 47 01 36 00 7E FE 09 D2 19 01 21 46 01 7E 17 C2 00 01 FF 5F 16 00 21 48 01 19
+ @00000120 19 4E 79 23 46 23 96 57 78 23 9E DA 3F 01 B2 CA 3F 01 56 70 2B 5E 71 2B 72 2B 73 21 46 01 34 21
+
>>> f.as_binary()
bytearray(b'!F\x016\x01!G\x016\x00~\xfe\t\xd2\x19\x01!F\x01~\x17\xc2\x00\x01
\xff_\x16\x00!H\x01\x19\x19Ny#F#\x96Wx#\x9e\xda?\x01\xb2\xca?\x01Vp+^q+r+s!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bincopy-17.14.5/README.rst new/bincopy-20.0.0/README.rst
--- old/bincopy-17.14.5/README.rst 2023-02-16 18:48:54.000000000 +0100
+++ new/bincopy-20.0.0/README.rst 2023-10-26 21:12:57.000000000 +0200
@@ -47,6 +47,10 @@
3F 01 56 70 2B 5E 71 2B 72 2B 73 21 46 01 34 21
q
+ >>> print(f.as_verilog_vmem())
+ @00000100 21 46 01 36 01 21 47 01 36 00 7E FE 09 D2 19 01 21 46 01 7E 17 C2 00 01 FF 5F 16 00 21 48 01 19
+ @00000120 19 4E 79 23 46 23 96 57 78 23 9E DA 3F 01 B2 CA 3F 01 56 70 2B 5E 71 2B 72 2B 73 21 46 01 34 21
+
>>> f.as_binary()
bytearray(b'!F\x016\x01!G\x016\x00~\xfe\t\xd2\x19\x01!F\x01~\x17\xc2\x00\x01
\xff_\x16\x00!H\x01\x19\x19Ny#F#\x96Wx#\x9e\xda?\x01\xb2\xca?\x01Vp+^q+r+s!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bincopy-17.14.5/bincopy.egg-info/PKG-INFO new/bincopy-20.0.0/bincopy.egg-info/PKG-INFO
--- old/bincopy-17.14.5/bincopy.egg-info/PKG-INFO 2023-02-16 18:49:08.000000000 +0100
+++ new/bincopy-20.0.0/bincopy.egg-info/PKG-INFO 2023-10-26 21:13:10.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: bincopy
-Version: 17.14.5
+Version: 20.0.0
Summary: Mangling of various file formats that conveys binary information (Motorola S-Record, Intel HEX and binary files).
Home-page: https://github.com/eerimoq/bincopy
Author: Erik Moqvist
@@ -14,6 +14,9 @@
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
License-File: LICENSE
+Requires-Dist: humanfriendly
+Requires-Dist: argparse_addons>=0.4.0
+Requires-Dist: pyelftools
About
=====
@@ -64,6 +67,10 @@
3F 01 56 70 2B 5E 71 2B 72 2B 73 21 46 01 34 21
q
+ >>> print(f.as_verilog_vmem())
+ @00000100 21 46 01 36 01 21 47 01 36 00 7E FE 09 D2 19 01 21 46 01 7E 17 C2 00 01 FF 5F 16 00 21 48 01 19
+ @00000120 19 4E 79 23 46 23 96 57 78 23 9E DA 3F 01 B2 CA 3F 01 56 70 2B 5E 71 2B 72 2B 73 21 46 01 34 21
+
>>> f.as_binary()
bytearray(b'!F\x016\x01!G\x016\x00~\xfe\t\xd2\x19\x01!F\x01~\x17\xc2\x00\x01
\xff_\x16\x00!H\x01\x19\x19Ny#F#\x96Wx#\x9e\xda?\x01\xb2\xca?\x01Vp+^q+r+s!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bincopy-17.14.5/bincopy.py new/bincopy-20.0.0/bincopy.py
--- old/bincopy-17.14.5/bincopy.py 2023-02-16 18:48:54.000000000 +0100
+++ new/bincopy-20.0.0/bincopy.py 2023-10-26 21:12:57.000000000 +0200
@@ -20,7 +20,7 @@
__author__ = 'Erik Moqvist'
-__version__ = '17.14.5'
+__version__ = '20.0.0'
DEFAULT_WORD_SIZE_BITS = 8
@@ -346,54 +346,72 @@
return True
-class _Segment:
+class Segment:
"""A segment is a chunk data with given minimum and maximum address.
"""
- _Chunk = namedtuple('Chunk', ['address', 'data'])
-
def __init__(self, minimum_address, maximum_address, data, word_size_bytes):
self.minimum_address = minimum_address
self.maximum_address = maximum_address
self.data = data
- self._word_size_bytes = word_size_bytes
+ self.word_size_bytes = word_size_bytes
@property
def address(self):
- return self.minimum_address // self._word_size_bytes
+ return self.minimum_address // self.word_size_bytes
+
+ def chunks(self, size=32, alignment=1, padding=b''):
+ """Yield data chunks of `size` words, aligned as given by `alignment`.
+
+ Each chunk is itself a Segment.
+
+ `size` and `alignment` are in words. `size` must be a multiple of
+ `alignment`. If set, `padding` must be a word value.
- def chunks(self, size=32, alignment=1):
- """Return chunks of the data aligned as given by `alignment`. `size`
- must be a multiple of `alignment`. Each chunk is returned as a
- named two-tuple of its address and data. Both `size` and
- `alignment` are in words.
+ If `padding` is set, the first and final chunks are padded so that:
+ 1. The first chunk is aligned even if the segment itself is not.
+ 2. The final chunk's size is a multiple of `alignment`.
"""
if (size % alignment) != 0:
raise Error(f'size {size} is not a multiple of alignment {alignment}')
- size *= self._word_size_bytes
- alignment *= self._word_size_bytes
+ if padding and len(padding) != self.word_size_bytes:
+ raise Error(f'padding must be a word value (size {self.word_size_bytes}),'
+ f' got {padding}')
+
+ size *= self.word_size_bytes
+ alignment *= self.word_size_bytes
address = self.minimum_address
data = self.data
- # First chunk may be shorter than `size` due to alignment.
+ # Apply padding to first and final chunk, if padding is non-empty.
+ align_offset = address % alignment
+ address -= align_offset * bool(padding)
+ data = align_offset // self.word_size_bytes * padding + data
+ data += (alignment - len(data)) % alignment // self.word_size_bytes * padding
+
+ # First chunk may be non-aligned and shorter than `size` if padding is empty.
chunk_offset = (address % alignment)
if chunk_offset != 0:
first_chunk_size = (alignment - chunk_offset)
- yield self._Chunk(address // self._word_size_bytes,
- data[:first_chunk_size])
- address += (first_chunk_size // self._word_size_bytes)
+ yield Segment(address,
+ address + size,
+ data[:first_chunk_size],
+ self.word_size_bytes)
+ address += first_chunk_size
data = data[first_chunk_size:]
else:
first_chunk_size = 0
for offset in range(0, len(data), size):
- yield self._Chunk((address + offset) // self._word_size_bytes,
- data[offset:offset + size])
+ yield Segment(address + offset,
+ address + offset + size,
+ data[offset:offset + size],
+ self.word_size_bytes)
def add_data(self, minimum_address, maximum_address, data, overwrite):
"""Add given data to this segment. The added data must be adjacent to
@@ -464,10 +482,10 @@
self.maximum_address = self.minimum_address + part1_size
self.data = part1_data
- return _Segment(maximum_address,
- maximum_address + len(part2_data),
- part2_data,
- self._word_size_bytes)
+ return Segment(maximum_address,
+ maximum_address + len(part2_data),
+ part2_data,
+ self.word_size_bytes)
else:
# Update this segment.
if len(part1_data) > 0:
@@ -483,11 +501,11 @@
def __eq__(self, other):
if isinstance(other, tuple):
return self.address, self.data == other
- elif isinstance(other, _Segment):
+ elif isinstance(other, Segment):
return ((self.minimum_address == other.minimum_address)
and (self.maximum_address == other.maximum_address)
and (self.data == other.data)
- and (self._word_size_bytes == other._word_size_bytes))
+ and (self.word_size_bytes == other.word_size_bytes))
else:
return False
@@ -499,14 +517,20 @@
def __repr__(self):
return f'Segment(address={self.address}, data={self.data})'
+ def __len__(self):
+ return len(self.data) // self.word_size_bytes
+
-class _Segments:
+_Segment = Segment
+
+
+class Segments:
"""A list of segments.
"""
def __init__(self, word_size_bytes):
- self._word_size_bytes = word_size_bytes
+ self.word_size_bytes = word_size_bytes
self._current_segment = None
self._current_segment_index = None
self._list = []
@@ -625,22 +649,51 @@
self._list = new_list
- def chunks(self, size=32, alignment=1):
- """Iterate over all segments and return chunks of the data aligned as
- given by `alignment`. `size` must be a multiple of
- `alignment`. Each chunk is returned as a named two-tuple of
- its address and data. Both `size` and `alignment` are in
- words.
+ def chunks(self, size=32, alignment=1, padding=b''):
+ """Iterate over all segments and yield chunks of the data.
+
+ The chunks are `size` words long, aligned as given by `alignment`.
+
+ Each chunk is itself a Segment.
+
+ `size` and `alignment` are in words. `size` must be a multiple of
+ `alignment`. If set, `padding` must be a word value.
+
+ If `padding` is set, the first and final chunks of each segment are
+ padded so that:
+ 1. The first chunk is aligned even if the segment itself is not.
+ 2. The final chunk's size is a multiple of `alignment`.
"""
if (size % alignment) != 0:
raise Error(f'size {size} is not a multiple of alignment {alignment}')
+ if padding and len(padding) != self.word_size_bytes:
+ raise Error(f'padding must be a word value (size {self.word_size_bytes}),'
+ f' got {padding}')
+
+ previous = Segment(-1, -1, b'', 1)
+
for segment in self:
- for chunk in segment.chunks(size, alignment):
+ for chunk in segment.chunks(size, alignment, padding):
+ # When chunks are padded to alignment, the final chunk of the previous
+ # segment and the first chunk of the current segment may overlap by
+ # one alignment block. To avoid overwriting data from the lower
+ # segment, the chunks must be merged.
+ if chunk.address < previous.address + len(previous):
+ low = previous.data[-alignment * self.word_size_bytes:]
+ high = chunk.data[:alignment * self.word_size_bytes]
+ merged = int.to_bytes(int.from_bytes(low, 'big') ^
+ int.from_bytes(high, 'big') ^
+ int.from_bytes(alignment * padding, 'big'),
+ alignment * self.word_size_bytes, 'big')
+ chunk.data = merged + chunk.data[alignment * self.word_size_bytes:]
+
yield chunk
+ previous = chunk
+
def __len__(self):
"""Get the number of segments.
@@ -649,6 +702,9 @@
return len(self._list)
+_Segments = Segments
+
+
class BinFile:
"""A binary file.
@@ -682,7 +738,7 @@
self._header_encoding = header_encoding
self._header = None
self._execution_start_address = None
- self._segments = _Segments(self.word_size_bytes)
+ self._segments = Segments(self.word_size_bytes)
if filenames is not None:
if isinstance(filenames, str):
@@ -832,10 +888,10 @@
>>> for chunk in binfile.segments.chunks(2):
... print(chunk)
...
- Chunk(address=0, data=bytearray(b'\\x00\\x01'))
- Chunk(address=2, data=bytearray(b'\\x02'))
- Chunk(address=10, data=bytearray(b'\\x03\\x04'))
- Chunk(address=12, data=bytearray(b'\\x05'))
+ Segment(address=0, data=bytearray(b'\\x00\\x01'))
+ Segment(address=2, data=bytearray(b'\\x02'))
+ Segment(address=10, data=bytearray(b'\\x03\\x04'))
+ Segment(address=12, data=bytearray(b'\\x05'))
Each segment can be split into smaller pieces using the
`chunks(size=32, alignment=1)` method on a single segment.
@@ -846,11 +902,11 @@
... print(chunk)
...
Segment(address=0, data=bytearray(b'\\x00\\x01\\x02'))
- Chunk(address=0, data=bytearray(b'\\x00\\x01'))
- Chunk(address=2, data=bytearray(b'\\x02'))
+ Segment(address=0, data=bytearray(b'\\x00\\x01'))
+ Segment(address=2, data=bytearray(b'\\x02'))
Segment(address=10, data=bytearray(b'\\x03\\x04\\x05'))
- Chunk(address=10, data=bytearray(b'\\x03\\x04'))
- Chunk(address=12, data=bytearray(b'\\x05'))
+ Segment(address=10, data=bytearray(b'\\x03\\x04'))
+ Segment(address=12, data=bytearray(b'\\x05'))
"""
@@ -893,10 +949,10 @@
self._header = data
elif type_ in '123':
address *= self.word_size_bytes
- self._segments.add(_Segment(address,
- address + size,
- data,
- self.word_size_bytes),
+ self._segments.add(Segment(address,
+ address + size,
+ data,
+ self.word_size_bytes),
overwrite)
elif type_ in '789':
self.execution_start_address = address
@@ -924,10 +980,10 @@
+ extended_segment_address
+ extended_linear_address)
address *= self.word_size_bytes
- self._segments.add(_Segment(address,
- address + size,
- data,
- self.word_size_bytes),
+ self._segments.add(Segment(address,
+ address + size,
+ data,
+ self.word_size_bytes),
overwrite)
elif type_ == IHEX_END_OF_FILE:
pass
@@ -987,10 +1043,10 @@
if address is None:
raise Error("missing section address")
- self._segments.add(_Segment(address,
- address + size,
- data,
- self.word_size_bytes),
+ self._segments.add(Segment(address,
+ address + size,
+ data,
+ self.word_size_bytes),
overwrite)
if size == TI_TXT_BYTES_PER_LINE:
@@ -1025,10 +1081,10 @@
for word in words:
if word.startswith('@'):
if address is not None:
- self._segments.add(_Segment(address,
- address + len(chunk),
- chunk,
- self.word_size_bytes))
+ self._segments.add(Segment(address,
+ address + len(chunk),
+ chunk,
+ self.word_size_bytes))
address = int(word[1:], 16) * word_size_bytes
chunk = b''
@@ -1036,10 +1092,10 @@
chunk += bytes.fromhex(word)
if address is not None and chunk:
- self._segments.add(_Segment(address,
- address + len(chunk),
- chunk,
- self.word_size_bytes))
+ self._segments.add(Segment(address,
+ address + len(chunk),
+ chunk,
+ self.word_size_bytes))
def add_binary(self, data, address=0, overwrite=False):
"""Add given data at given address. Set `overwrite` to ``True`` to
@@ -1048,10 +1104,10 @@
"""
address *= self.word_size_bytes
- self._segments.add(_Segment(address,
- address + len(data),
- bytearray(data),
- self.word_size_bytes),
+ self._segments.add(Segment(address,
+ address + len(data),
+ bytearray(data),
+ self.word_size_bytes),
overwrite)
def add_elf(self, data, overwrite=True):
@@ -1086,12 +1142,42 @@
if (section['sh_flags'] & SH_FLAGS.SHF_ALLOC) == 0:
continue
- self._segments.add(_Segment(address,
- address + size,
- data[offset:offset + size],
- self.word_size_bytes),
+ self._segments.add(Segment(address,
+ address + size,
+ data[offset:offset + size],
+ self.word_size_bytes),
overwrite)
+ def add_microchip_hex(self, records, overwrite=False):
+ """Add given Microchip HEX data.
+
+ Microchip's HEX format is identical to Intel's except an address in
+ the HEX file is twice the actual machine address. For example:
+
+ :02000E00E4C943
+
+ : Start code
+ 02 Record contains two data bytes
+ 000E Address 0x000E; Machine address is 0x000E // 2 == 0x0007
+ 00 Record type is data
+ E4 Low byte at address 0x0007 is 0xE4
+ C9 High byte at address 0x0007 is 0xC9
+
+ Microchip HEX records therefore need to be parsed as if the word size
+ is one byte, but the parsed data must be handled as if the word size
+ is two bytes. This is true for both 8-bit PICs such as PIC18 and
+ 16-bit PICs such as PIC24.
+
+ """
+
+ self.word_size_bytes = 1
+ self.add_ihex(records, overwrite)
+ self.word_size_bytes = 2
+ self.segments.word_size_bytes = 2
+
+ for segment in self.segments:
+ segment.word_size_bytes = 2
+
def add_file(self, filename, overwrite=False):
"""Open given file and add its data by guessing its format. The format
must be Motorola S-Records, Intel HEX, TI-TXT. Set `overwrite`
@@ -1162,6 +1248,15 @@
with open(filename, 'rb') as fin:
self.add_elf(fin.read(), overwrite)
+ def add_microchip_hex_file(self, filename, overwrite=False):
+ """Open given Microchip HEX file and add its contents. Set `overwrite`
+ to ``True`` to allow already added data to be overwritten.
+
+ """
+
+ with open(filename, 'r') as fin:
+ self.add_microchip_hex(fin.read(), overwrite)
+
def as_srec(self, number_of_data_bytes=32, address_length_bits=32):
"""Format the binary file as Motorola S-Records records and return
them as a string.
@@ -1610,7 +1705,7 @@
fill_size_words = fill_size // self.word_size_bytes
if max_words is None or fill_size_words <= max_words:
- fill_segments.append(_Segment(
+ fill_segments.append(Segment(
previous_segment_maximum_address,
previous_segment_maximum_address + fill_size,
value * fill_size_words,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bincopy-17.14.5/tests/test_bincopy.py new/bincopy-20.0.0/tests/test_bincopy.py
--- old/bincopy-17.14.5/tests/test_bincopy.py 2023-02-16 18:48:54.000000000 +0100
+++ new/bincopy-20.0.0/tests/test_bincopy.py 2023-10-26 21:12:57.000000000 +0200
@@ -910,6 +910,12 @@
self.assertEqual(str(cm.exception),
'size 4 is not a multiple of alignment 8')
+ with self.assertRaises(bincopy.Error) as cm:
+ list(binfile.segments.chunks(padding=b'\xff\xff'))
+
+ self.assertEqual(str(cm.exception),
+ r"padding must be a word value (size 1), got b'\xff\xff'")
+
def test_segment(self):
binfile = bincopy.BinFile()
binfile.add_binary(b'\x00\x01\x02\x03\x04', 2)
@@ -1841,6 +1847,66 @@
with open('tests/files/empty_main.bin', 'rb') as fin:
self.assertEqual(binfile.as_binary(padding=b'\x00'), fin.read())
+ def test_segment_len(self):
+ length = 0x100
+ word_size_bytes = 1
+ segment = bincopy.Segment(0, length, bytes(length), word_size_bytes)
+ self.assertEqual(length, len(segment))
+
+ def test_segment_len_16(self):
+ length = 0x100
+ word_size_bytes = 2
+ segment = bincopy.Segment(0,
+ length,
+ bytes(length * word_size_bytes),
+ word_size_bytes)
+ self.assertEqual(length, len(segment))
+
+ def test_add_microchip_hex_record(self):
+ binfile = bincopy.BinFile()
+ binfile.add_microchip_hex(':02000E00E4C943')
+ self.assertEqual(0x0007, binfile.minimum_address)
+ first_word = int.from_bytes(binfile[:binfile.minimum_address + 1], 'little')
+ self.assertEqual(0xC9E4, first_word)
+
+ def test_chunk_padding(self):
+ records = (':02000004000AF0\n'
+ ':10B8440000000000000000009630000007770000B0\n')
+ hexfile = bincopy.BinFile()
+ hexfile.add_ihex(records)
+ align = 8
+ size = 16
+ chunks = hexfile.segments.chunks(size=size, alignment=align, padding=b'\xff')
+ chunks = list(chunks)
+ assert not any(c.address % align for c in chunks)
+ assert not any(len(c) % align for c in chunks)
+
+ def test_merge_chunks(self):
+ records = (':0A0000001010101010101010101056\n'
+ ':0A000E001010101010101010101048\n')
+ hexfile = bincopy.BinFile()
+ hexfile.add_ihex(records)
+ align = 8
+ size = 16
+ chunks = hexfile.segments.chunks(size=size, alignment=align, padding=b'\xff')
+ chunks = list(chunks)
+ assert list(chunks[-1]) == [8, b'\x10\x10\xff\xff\xff\xff\x10\x10\x10\x10\x10'
+ b'\x10\x10\x10\x10\x10']
+
+ def test_merge_chunks_16(self):
+ records = (':1000000010101010101010101010101010101010F0\n'
+ ':10000A0010101010101010101010101010101010E6\n')
+ hexfile = bincopy.BinFile(word_size_bits=16)
+ hexfile.add_ihex(records)
+ align = 6
+ size = 12
+ chunks = hexfile.segments.chunks(size=size, alignment=align,
+ padding=b'\xff\xff')
+ chunks = list(chunks)
+ assert list(chunks[-1]) == [6, b'\x10\x10\x10\x10\xff\xff\xff\xff\x10\x10\x10'
+ b'\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10'
+ b'\x10\x10']
+
if __name__ == '__main__':
unittest.main()
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-daiquiri for openSUSE:Factory checked in at 2023-12-03 20:48:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-daiquiri (Old)
and /work/SRC/openSUSE:Factory/.python-daiquiri.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-daiquiri"
Sun Dec 3 20:48:50 2023 rev:13 rq:1130491 version:3.2.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-daiquiri/python-daiquiri.changes 2022-12-02 15:47:34.164617325 +0100
+++ /work/SRC/openSUSE:Factory/.python-daiquiri.new.25432/python-daiquiri.changes 2023-12-03 20:49:11.234600207 +0100
@@ -1,0 +2,8 @@
+Sat Dec 2 16:38:06 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.2.4:
+ * Add support up to Python 3.12
+ * Use sphinx-build command to generate doc
+ * build system and CI improvements
+
+-------------------------------------------------------------------
Old:
----
daiquiri-3.2.1.tar.gz
New:
----
daiquiri-3.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-daiquiri.spec ++++++
--- /var/tmp/diff_new_pack.Mdvz56/_old 2023-12-03 20:49:11.906624892 +0100
+++ /var/tmp/diff_new_pack.Mdvz56/_new 2023-12-03 20:49:11.906624892 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-daiquiri
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,19 @@
#
-%global skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-daiquiri
-Version: 3.2.1
+Version: 3.2.3
Release: 0
Summary: Library to configure Python logging
License: Apache-2.0
-URL: https://github.com/jd/daiquiri
+URL: https://github.com/Mergifyio/daiquiri
Source: https://files.pythonhosted.org/packages/source/d/daiquiri/daiquiri-%{versio…
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-json-logger}
BuildRequires: %{python_module setuptools_scm}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-python-json-logger
@@ -42,10 +43,10 @@
%setup -q -n daiquiri-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -55,5 +56,5 @@
%license LICENSE
%doc README.rst
%{python_sitelib}/daiquiri
-%{python_sitelib}/daiquiri-%{version}*-info
+%{python_sitelib}/daiquiri-%{version}.dist-info
++++++ daiquiri-3.2.1.tar.gz -> daiquiri-3.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/.github/dependabot.yml new/daiquiri-3.2.3/.github/dependabot.yml
--- old/daiquiri-3.2.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/daiquiri-3.2.3/.github/dependabot.yml 2023-10-19 11:01:06.000000000 +0200
@@ -0,0 +1,6 @@
+version: 2
+updates:
+ - package-ecosystem: "pip"
+ directory: "/"
+ schedule:
+ interval: "weekly"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/.github/workflows/ci.yaml new/daiquiri-3.2.3/.github/workflows/ci.yaml
--- old/daiquiri-3.2.1/.github/workflows/ci.yaml 2022-06-21 17:37:53.000000000 +0200
+++ new/daiquiri-3.2.3/.github/workflows/ci.yaml 2023-10-19 11:01:06.000000000 +0200
@@ -10,9 +10,9 @@
test:
strategy:
matrix:
- python: ["3.7", "3.8", "3.9", "3.10"]
+ python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- name: Checkout 🛎️
uses: actions/checkout(a)v2.4.0
@@ -29,7 +29,7 @@
run: tox -e py$(echo ${{ matrix.python }} | tr -d .)
pep8:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- name: Checkout 🛎️
uses: actions/checkout(a)v2.4.0
@@ -37,7 +37,7 @@
- name: Setup Python 🔧
uses: actions/setup-python@v4
with:
- python-version: "3.10"
+ python-version: "3.12"
- name: Install tox
run: pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/.github/workflows/release.yml new/daiquiri-3.2.3/.github/workflows/release.yml
--- old/daiquiri-3.2.1/.github/workflows/release.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/daiquiri-3.2.3/.github/workflows/release.yml 2023-10-19 11:01:06.000000000 +0200
@@ -0,0 +1,37 @@
+name: upload release to PyPI
+on:
+ workflow_dispatch:
+
+jobs:
+ pypi-publish:
+ name: upload release to PyPI
+ runs-on: ubuntu-latest
+ environment: release
+ permissions:
+ id-token: write
+ contents: write
+ steps:
+ - uses: actions/checkout(a)v4.1.1
+ with:
+ fetch-depth: 0
+ fetch-tags: 'true'
+
+ - uses: actions/setup-python(a)v2.3.1
+ with:
+ python-version: 3.12
+
+ - name: Install deps
+ run: pip install build setuptools_scm
+
+ - name: Tag the release
+ run: |
+ tag="$(python3 -m setuptools_scm --strip-dev)"
+ git tag "$tag"
+ git push origin "$tag"
+
+ - name: Build the packages distributions
+ run: |
+ python3 -m build . --wheel --sdist
+
+ - name: Publish package distributions to PyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/.mergify.yml new/daiquiri-3.2.3/.mergify.yml
--- old/daiquiri-3.2.1/.mergify.yml 2022-06-22 11:43:52.000000000 +0200
+++ new/daiquiri-3.2.3/.mergify.yml 2023-10-19 11:01:06.000000000 +0200
@@ -2,17 +2,8 @@
- name: automatic merge
conditions:
- base=main
- - "#approved-reviews-by>=1"
- - and: &CheckRuns
- - "check-success=pep8"
- - "check-success=test (3.7)"
- - "check-success=test (3.8)"
- - "check-success=test (3.9)"
- - "check-success=test (3.10)"
-
actions:
queue:
- name: default
- name: dismiss reviews
conditions: []
@@ -22,4 +13,18 @@
queue_rules:
- name: default
- conditions: []
+ queue_conditions:
+ - "#approved-reviews-by>=1"
+ - "check-success=pep8"
+ - "check-success=test (3.8)"
+ - "check-success=test (3.9)"
+ - "check-success=test (3.10)"
+ - "check-success=test (3.11)"
+ - "check-success=test (3.12)"
+ merge_conditions:
+ - "check-success=pep8"
+ - "check-success=test (3.8)"
+ - "check-success=test (3.9)"
+ - "check-success=test (3.10)"
+ - "check-success=test (3.11)"
+ - "check-success=test (3.12)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/PKG-INFO new/daiquiri-3.2.3/PKG-INFO
--- old/daiquiri-3.2.1/PKG-INFO 2022-07-01 09:24:39.595489500 +0200
+++ new/daiquiri-3.2.3/PKG-INFO 2023-10-19 11:01:31.361128000 +0200
@@ -1,25 +1,29 @@
Metadata-Version: 2.1
Name: daiquiri
-Version: 3.2.1
+Version: 3.2.3
Summary: Library to configure Python logging easily
-Home-page: https://github.com/Mergifyio/daiquiri
-Author: Julien Danjou
-Author-email: julien(a)danjou.info
+Author-email: Julien Danjou <julien(a)danjou.info>
License: Apache 2.0
+Project-URL: homepage, https://github.com/Mergifyio/daiquiri
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Requires-Python: >=3.8
Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: python-json-logger
Provides-Extra: test
+Requires-Dist: pytest; extra == "test"
Provides-Extra: systemd
-License-File: LICENSE
+Requires-Dist: systemd-python>=234; extra == "systemd"
=======================================
daiquiri -- Python logging setup helper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/daiquiri/formatter.py new/daiquiri-3.2.3/daiquiri/formatter.py
--- old/daiquiri-3.2.1/daiquiri/formatter.py 2022-07-01 09:24:32.000000000 +0200
+++ new/daiquiri-3.2.3/daiquiri/formatter.py 2023-10-19 11:01:06.000000000 +0200
@@ -157,9 +157,9 @@
return s
-class DatadogFormatter(jsonlogger.JsonFormatter): # type: ignore[misc]
+class DatadogFormatter(jsonlogger.JsonFormatter):
def __init__(self) -> None:
- super(DatadogFormatter, self).__init__(timestamp=True)
+ super(DatadogFormatter, self).__init__(timestamp=True) # type: ignore[no-untyped-call]
def add_fields(
self,
@@ -183,5 +183,5 @@
TEXT_FORMATTER = ColorExtrasFormatter(fmt=DEFAULT_EXTRAS_FORMAT)
-JSON_FORMATTER = jsonlogger.JsonFormatter()
+JSON_FORMATTER = jsonlogger.JsonFormatter() # type: ignore[no-untyped-call]
DATADOG_FORMATTER = DatadogFormatter()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/daiquiri/tests/test_daiquiri.py new/daiquiri-3.2.3/daiquiri/tests/test_daiquiri.py
--- old/daiquiri-3.2.1/daiquiri/tests/test_daiquiri.py 2022-06-30 09:29:14.000000000 +0200
+++ new/daiquiri-3.2.3/daiquiri/tests/test_daiquiri.py 2023-10-19 11:01:06.000000000 +0200
@@ -12,6 +12,8 @@
import io
import json
import logging
+import sys
+import typing
import unittest
import warnings
@@ -39,7 +41,10 @@
)
)
daiquiri.getLogger(__name__).warning("foobar")
- self.assertEqual({"message": "foobar"}, json.loads(stream.getvalue()))
+ expected: dict[str, typing.Any] = {"message": "foobar"}
+ if sys.version_info >= (3, 12):
+ expected.update({"taskName": None})
+ self.assertEqual(expected, json.loads(stream.getvalue()))
def test_setup_json_formatter_with_extras(self) -> None:
stream = io.StringIO()
@@ -51,9 +56,10 @@
)
)
daiquiri.getLogger(__name__).warning("foobar", foo="bar")
- self.assertEqual(
- {"message": "foobar", "foo": "bar"}, json.loads(stream.getvalue())
- )
+ expected: dict[str, typing.Any] = {"message": "foobar", "foo": "bar"}
+ if sys.version_info >= (3, 12):
+ expected.update({"taskName": None})
+ self.assertEqual(expected, json.loads(stream.getvalue()))
def test_get_logger_set_level(self) -> None:
logger = daiquiri.getLogger(__name__)
@@ -66,7 +72,7 @@
line = stream.getvalue()
self.assertIn("WARNING py.warnings: ", line)
self.assertIn(
- "daiquiri/tests/test_daiquiri.py:65: "
+ "daiquiri/tests/test_daiquiri.py:71: "
'UserWarning: omg!\n warnings.warn("omg!")\n',
line,
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/daiquiri/tests/test_output.py new/daiquiri-3.2.3/daiquiri/tests/test_output.py
--- old/daiquiri-3.2.1/daiquiri/tests/test_output.py 2022-06-30 09:29:14.000000000 +0200
+++ new/daiquiri-3.2.3/daiquiri/tests/test_output.py 2023-10-19 11:01:06.000000000 +0200
@@ -11,6 +11,7 @@
# under the License.
import json
import logging
+import sys
import syslog
import typing
import unittest
@@ -100,49 +101,44 @@
logger = daiquiri.getLogger()
logger.error("foo", bar=1)
logger.info("bar")
+ expected_error_1 = {
+ "status": "error",
+ "message": "foo",
+ "bar": 1,
+ "logger": {"name": "root"},
+ "timestamp": mock.ANY,
+ }
+ expected_info_1 = {
+ "status": "info",
+ "message": "bar",
+ "logger": {"name": "root"},
+ "timestamp": mock.ANY,
+ }
+ expected_error_2 = {
+ "status": "error",
+ "message": "backtrace",
+ "logger": {"name": "saymyname"},
+ "timestamp": mock.ANY,
+ "error": {
+ "kind": "ZeroDivisionError",
+ "stack": None,
+ "message": mock.ANY,
+ },
+ }
+ if sys.version_info >= (3, 12):
+ expected_error_1.update({"taskName": None})
+ expected_info_1.update({"taskName": None})
+ expected_error_2.update({"taskName": None})
try:
1 / 0
except ZeroDivisionError:
logger = daiquiri.getLogger("saymyname")
- logger.error("backtrace", exc_info=True)
+ logger.exception("backtrace")
socket_instance.connect.assert_called_once_with(("127.0.0.1", 10518))
socket_instance.sendall.assert_has_calls(
[
- mock.call(
- DatadogMatcher(
- {
- "status": "error",
- "message": "foo",
- "bar": 1,
- "logger": {"name": "root"},
- "timestamp": mock.ANY,
- }
- )
- ),
- mock.call(
- DatadogMatcher(
- {
- "status": "info",
- "message": "bar",
- "logger": {"name": "root"},
- "timestamp": mock.ANY,
- }
- )
- ),
- mock.call(
- DatadogMatcher(
- {
- "status": "error",
- "message": "backtrace",
- "logger": {"name": "saymyname"},
- "timestamp": mock.ANY,
- "error": {
- "kind": "ZeroDivisionError",
- "stack": None,
- "message": mock.ANY,
- },
- }
- )
- ),
+ mock.call(DatadogMatcher(expected_error_1)),
+ mock.call(DatadogMatcher(expected_info_1)),
+ mock.call(DatadogMatcher(expected_error_2)),
]
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/daiquiri.egg-info/PKG-INFO new/daiquiri-3.2.3/daiquiri.egg-info/PKG-INFO
--- old/daiquiri-3.2.1/daiquiri.egg-info/PKG-INFO 2022-07-01 09:24:39.000000000 +0200
+++ new/daiquiri-3.2.3/daiquiri.egg-info/PKG-INFO 2023-10-19 11:01:31.000000000 +0200
@@ -1,25 +1,29 @@
Metadata-Version: 2.1
Name: daiquiri
-Version: 3.2.1
+Version: 3.2.3
Summary: Library to configure Python logging easily
-Home-page: https://github.com/Mergifyio/daiquiri
-Author: Julien Danjou
-Author-email: julien(a)danjou.info
+Author-email: Julien Danjou <julien(a)danjou.info>
License: Apache 2.0
+Project-URL: homepage, https://github.com/Mergifyio/daiquiri
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Requires-Python: >=3.8
Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: python-json-logger
Provides-Extra: test
+Requires-Dist: pytest; extra == "test"
Provides-Extra: systemd
-License-File: LICENSE
+Requires-Dist: systemd-python>=234; extra == "systemd"
=======================================
daiquiri -- Python logging setup helper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/daiquiri.egg-info/SOURCES.txt new/daiquiri-3.2.3/daiquiri.egg-info/SOURCES.txt
--- old/daiquiri-3.2.1/daiquiri.egg-info/SOURCES.txt 2022-07-01 09:24:39.000000000 +0200
+++ new/daiquiri-3.2.3/daiquiri.egg-info/SOURCES.txt 2023-10-19 11:01:31.000000000 +0200
@@ -3,10 +3,10 @@
LICENSE
README.rst
pyproject.toml
-setup.cfg
-setup.py
tox.ini
+.github/dependabot.yml
.github/workflows/ci.yaml
+.github/workflows/release.yml
daiquiri/__init__.py
daiquiri/formatter.py
daiquiri/handlers.py
@@ -16,7 +16,6 @@
daiquiri.egg-info/PKG-INFO
daiquiri.egg-info/SOURCES.txt
daiquiri.egg-info/dependency_links.txt
-daiquiri.egg-info/pbr.json
daiquiri.egg-info/requires.txt
daiquiri.egg-info/top_level.txt
daiquiri/tests/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/daiquiri.egg-info/pbr.json new/daiquiri-3.2.3/daiquiri.egg-info/pbr.json
--- old/daiquiri-3.2.1/daiquiri.egg-info/pbr.json 2020-01-16 11:06:41.000000000 +0100
+++ new/daiquiri-3.2.3/daiquiri.egg-info/pbr.json 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"git_version": "66933d7", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/pyproject.toml new/daiquiri-3.2.3/pyproject.toml
--- old/daiquiri-3.2.1/pyproject.toml 2022-06-30 09:29:14.000000000 +0200
+++ new/daiquiri-3.2.3/pyproject.toml 2023-10-19 11:01:06.000000000 +0200
@@ -1,5 +1,51 @@
+[build-system]
+requires = ["setuptools>=64", "setuptools_scm>=8"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "daiquiri"
+requires-python = ">=3.8"
+dynamic = ["version"]
+license = {"text" = "Apache 2.0"}
+description = "Library to configure Python logging easily"
+readme = "README.rst"
+authors = [
+ {name = "Julien Danjou", email = "julien(a)danjou.info"}
+]
+classifiers = [
+ "Intended Audience :: Information Technology",
+ "Intended Audience :: System Administrators",
+ "License :: OSI Approved :: Apache Software License",
+ "Operating System :: POSIX :: Linux",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+]
+dependencies = [
+ "python-json-logger"
+]
+
+[project.urls]
+homepage = "https://github.com/Mergifyio/daiquiri"
+
+[tool.setuptools_scm]
+
+[tool.setuptools]
+packages = ["daiquiri"]
+
+[tool.setuptools.package-data]
+"daiquiri" = ["py.typed"]
+
+[project.optional-dependencies]
+test = ["pytest"]
+systemd = ["systemd-python>=234"]
+
[tool.black]
-target-version = ['py37', 'py38', 'py39', 'py310']
+target-version = ['py38', 'py39', 'py310', 'py311', 'py312']
[tool.mypy]
files = "daiquiri"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/setup.cfg new/daiquiri-3.2.3/setup.cfg
--- old/daiquiri-3.2.1/setup.cfg 2022-07-01 09:24:39.595755000 +0200
+++ new/daiquiri-3.2.3/setup.cfg 2023-10-19 11:01:31.361128000 +0200
@@ -1,39 +1,3 @@
-[metadata]
-name = daiquiri
-license = Apache 2.0
-summary = Library to configure Python logging easily
-long_description = file:README.rst
-long_description_content_type = text/x-rst
-author = Julien Danjou
-author_email = julien(a)danjou.info
-home_page = https://github.com/Mergifyio/daiquiri
-classifier =
- Intended Audience :: Information Technology
- Intended Audience :: System Administrators
- License :: OSI Approved :: Apache Software License
- Operating System :: POSIX :: Linux
- Programming Language :: Python
- Programming Language :: Python :: 3
- Programming Language :: Python :: 3.7
- Programming Language :: Python :: 3.8
- Programming Language :: Python :: 3.9
- Programming Language :: Python :: 3.10
-
-[options]
-install_requires =
- python-json-logger
-packages =
- daiquiri
-
-[options.package_data]
-daiquiri = py.typed
-
-[options.extras_require]
-test =
- pytest
-systemd =
- systemd-python>=234
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/setup.py new/daiquiri-3.2.3/setup.py
--- old/daiquiri-3.2.1/setup.py 2020-11-06 13:43:29.000000000 +0100
+++ new/daiquiri-3.2.3/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-#!/usr/bin/env python
-import setuptools
-
-setuptools.setup(
- setup_requires=["setuptools_scm"],
- use_scm_version=True,
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/daiquiri-3.2.1/tox.ini new/daiquiri-3.2.3/tox.ini
--- old/daiquiri-3.2.1/tox.ini 2022-06-30 09:29:14.000000000 +0200
+++ new/daiquiri-3.2.3/tox.ini 2023-10-19 11:01:06.000000000 +0200
@@ -1,8 +1,8 @@
[tox]
-envlist = py37,py38,py39,p310,pep8,docs
+envlist = py38,py39,py310,py311,py312,pep8,docs
[testenv]
-whitelist_externals = sh
+allowlist_externals = sh
deps = -e.[test]
commands =
pytest {posargs}
@@ -10,7 +10,7 @@
sh -c "rm errors.log everything.log"
[testenv:pep8]
-basepython = python3.10
+basepython = python3.12
deps =
{[testenv]deps}
black
@@ -37,4 +37,4 @@
[testenv:docs]
deps = sphinx
-commands = python setup.py build_sphinx
\ No newline at end of file
+commands = sphinx-build -b html doc/source doc/build/html
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-dictknife for openSUSE:Factory checked in at 2023-12-03 20:48:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dictknife (Old)
and /work/SRC/openSUSE:Factory/.python-dictknife.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dictknife"
Sun Dec 3 20:48:48 2023 rev:5 rq:1130485 version:0.14.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dictknife/python-dictknife.changes 2022-04-16 00:14:59.873709078 +0200
+++ /work/SRC/openSUSE:Factory/.python-dictknife.new.25432/python-dictknife.changes 2023-12-03 20:49:10.090558183 +0100
@@ -1,0 +2,8 @@
+Sat Dec 2 14:18:06 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.14.0:
+ * use tomlkit instead of qtoml
+ * use ruamel.yaml instead of pyyaml (for preserving comments)
+ * add `dictknife diff -o pair`
+
+-------------------------------------------------------------------
Old:
----
dictknife-0.13.0.tar.gz
New:
----
dictknife-0.14.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-dictknife.spec ++++++
--- /var/tmp/diff_new_pack.b5E7q0/_old 2023-12-03 20:49:10.634578167 +0100
+++ /var/tmp/diff_new_pack.b5E7q0/_new 2023-12-03 20:49:10.634578167 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-dictknife
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,36 +16,33 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-dictknife
-Version: 0.13.0
+Version: 0.14.0
Release: 0
Summary: Army knife of handling data
License: MIT
URL: https://github.com/podhmo/dictknife
Source: https://github.com/podhmo/dictknife/archive/%{version}.tar.gz#/dictknife-%{…
Patch0: support-python-310.patch
-BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module google-api-python-client}
BuildRequires: %{python_module google-auth-oauthlib}
BuildRequires: %{python_module jsonpatch}
BuildRequires: %{python_module magicalimport}
BuildRequires: %{python_module prestring}
BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module ruamel.yaml}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires(post): update-alternatives
Requires(postun):update-alternatives
-Suggests: python-PyYAML
+Suggests: python-ruamel.yaml
Suggests: python-google-api-python-client
Suggests: python-google-auth-oauthlib
Suggests: python-jsonpatch
Suggests: python-magicalimport
Suggests: python-prestring
-# Not available
-Suggests: python-qtoml
BuildArch: noarch
%python_subpackages
@@ -83,7 +80,7 @@
%pytest
%files %{python_files}
-%doc README.rst
+%doc README.md
%license LICENSE
%python_alternative %{_bindir}/dictknife
%python_alternative %{_bindir}/jsonknife
++++++ dictknife-0.13.0.tar.gz -> dictknife-0.14.0.tar.gz ++++++
++++ 3821 lines of diff (skipped)
++++++ support-python-310.patch ++++++
--- /var/tmp/diff_new_pack.b5E7q0/_old 2023-12-03 20:49:10.822585073 +0100
+++ /var/tmp/diff_new_pack.b5E7q0/_new 2023-12-03 20:49:10.822585073 +0100
@@ -1,7 +1,7 @@
-Index: dictknife-0.13.0/dictknife/tests/cliutils/test_extraarguments.py
+Index: dictknife-0.14.0/dictknife/tests/cliutils/test_extraarguments.py
===================================================================
---- dictknife-0.13.0.orig/dictknife/tests/cliutils/test_extraarguments.py
-+++ dictknife-0.13.0/dictknife/tests/cliutils/test_extraarguments.py
+--- dictknife-0.14.0.orig/dictknife/tests/cliutils/test_extraarguments.py
++++ dictknife-0.14.0/dictknife/tests/cliutils/test_extraarguments.py
@@ -1,3 +1,4 @@
+import sys
import textwrap
@@ -13,13 +13,13 @@
def test_help_message(self):
+ ending = "al arguments"
+ if sys.version_info >= (3, 10):
-+ ending ="s"
++ ending = "s"
target = self._makeOne()
expected = textwrap.dedent(
"""
usage: cmd [-h]
-- optional arguments:
+- options:
+ option%s:
-h, --help show this help message and exit
@@ -27,7 +27,7 @@
for --format=json:
--sort-keys sort keys
- """
-+ """ % (ending,)
++ """ % (ending, )
).strip()
actual = target.parser.format_help().strip()
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon for openSUSE:Factory checked in at 2023-12-03 20:48:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon (Old)
and /work/SRC/openSUSE:Factory/.cinnamon.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon"
Sun Dec 3 20:48:45 2023 rev:58 rq:1130395 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon/cinnamon.changes 2023-10-17 20:25:09.627622526 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon.new.25432/cinnamon.changes 2023-12-03 20:49:06.666432405 +0100
@@ -1,0 +2,89 @@
+Fri Dec 1 12:00:00 UTC 2023 - sb56637 <mxoo28j7(a)duck.com>
+
+- Update to version 6.0.0:
+ * settings: Replace PIL.Image.ANTIALIAS with PIL.Image.LANCZOS.
+ * gestures: Adjust to amplified max volume, not normal.
+ * cs_themes: Finish removing tinycss support.
+ * cs_themes.py: Fix navigation/stack issue.
+ * cinnamon.css: Center text in .applet-box
+ * lightbox: Reduce color banding with dithering...
+ * sound(a)cinnamon.org: Word wrap for artist and title labels
+ * bug report: Mention crashes.
+ * Fix thumbnails not appearing for windows created while menu is open
+ * cinnamon-menu-editor: Fix window type to enable window resizing.
+ * keybindings: Make Above_Tab displayable.
+ * Looking glass: Fix log text colors.
+ * gesturesManager.js: Ignore gestures when the screensaver is active.
+ * Updated write-applet.xml for Cinnamon 4.6 to 5.8+
+ * Update issue template with a link to open and closed issues for convenience.
+ * window-list/gwl: Simplify window focus updates.
+ * applet.js: Improve code comments.
+ * gwl: Track the getThumbnail timeout source id.
+ * Show all batteries as "primary" batteries, removing set_device_battery_additional()
+ * Menu applet: Fix bug where menu is partly behind panel
+ * gestures: Remove device detection.
+ * Fix issue #11810
+ * Emphasize checking for duplicate existing issues in the bug report form.
+ * Updated cs_info module
+ * sound applet: Add telegram-desktop to players without seek support
+ * Fix various typos
+ * js: Use string instead of regexp
+ * cinnamon-subprocess-wrapper: Handle invalid utf8, fix error message.
+ * Replace misc/util.js polyfills with js natives...
+ * Replace util.js polyfills with JS natives...
+ * state.js: replace polyfills with js natives..
+ * Fix meson.build deprecations up to 0.56.0
+ * cs_backgrounds: Recognize .avif files.
+ * misc: Use locale.getlocale() instead of locale.getdefaultlocale().
+ * calendar eventView.js: Try to cancel scroll-to-row callback when set_events() is called.
+ * cs_info.py: Don't freeze when 'Copy to clipboard' is clicked.
+ * Fixed calculate a sidePage height when it comes as standalone
+ * Update cinnamon-settings.py
+ * Require soup 3.0.
+ * Ensure settings window expands to fit toolbar
+ * Adds a shift-middle click action to the sound applet.
+ * Adds option to always show the input switch in the sound applet. (Closes #11232)
+ * wayland: Add session files
+ * Clean up build deps and some unused imports
+ * wayland: Don't use Gtk/Gdk anywhere in core/startup code
+ * st-texture-cache: Make our own GtkIconTheme instead of trying to get it from a GdkScreen (which won't be able to exist until Cinnamon completes startup)
+ * Disable/avoid things that don't currently work in Wayland
+ * Extensions: Block certain x11-only xlets from trying to load
+ * dbus: Add monitor labeler
+ * Restore system background
+ * Log the backend at Cinnamon start, add a row for it in cs_info.py
+ * cs_themes: Don't use a GtkPlug/Socket for overview-scrollbar previews
+ * cs_display: Add scale-monitor-framebuffer for Wayland fractional scaling
+ * Remove some leftovers from main.c, adjust a string in cs_themes.py
+ * power applet: Wait for csd-power's dbus presence before trying to connect to it
+ * cinnamon-launcher: Launch cinnamon immediately under Wayland
+ * session: Use a separate desktop file for Wayland sessions.
+ * cinnamon-settings: Suppress/hide some x11-only elements.
+ * modalDialog.js: Fix sync call in x11.
+ * melange: convert to GApplication, cleanup, fix launch-as-inspector mode.
+ * lookingGlass.js: Initialize melange interface at startup.
+ * Add .git-blame-ignore-revs for commits
+ * Adding an option for notification screen selection
+ * Fix whitespace
+ * Fix GLib exception:
+ * meson: Re-add dbus dependency
+ * Gestures: Allow the user to specify when an action is triggered.
+ * Gestures: Add a desktop zoom action.
+ * Rename Wayland session
+ * cinnamon-launcher: Remove wayland handling.
+ * cinnamon-global.c: Restore cinnamon_global_set_pointer.
+ * Fix xlet-settings TreeListWidget's handling of columns with option lists
+ * Use menu for window list hover tooltip choice
+ * Fix the power applet battery status when the seconds var is 3600
+ * Spices.py: Fix desklet reload after update when there are multiple instances
+ * gesturesManager.js: Fix a couple small issues
+ * Add Actions module
+ * debian/control: Update soup version.
+ * Remove .settings folder
+ * Added menu details option
+ * menu applet: Add some safety to the right-click properties item.
+ * screenshot service: Add color picker support.
+ * add xdg-portal conf
+ * l10n: Update POT
+
+-------------------------------------------------------------------
Old:
----
cinnamon-5.8.4.tar.gz
New:
----
cinnamon-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon.spec ++++++
--- /var/tmp/diff_new_pack.sWzBlE/_old 2023-12-03 20:49:07.606466935 +0100
+++ /var/tmp/diff_new_pack.sWzBlE/_new 2023-12-03 20:49:07.606466935 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cinnamon
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,9 @@
#
-%define _version 5.0.0
+%define _version 6.0.0
Name: cinnamon
-Version: 5.8.4
+Version: 6.0.0
Release: 0
Summary: GNU/Linux Desktop featuring a traditional layout
License: GPL-2.0-or-later AND LGPL-2.1-only
@@ -270,6 +270,10 @@
%ghost %{_sysconfdir}/alternatives/default-xsession.desktop
%ghost %{_sysconfdir}/alternatives/default.desktop
%{_datadir}/cinnamon-session
+%dir %{_datadir}/wayland-sessions
+%{_datadir}/wayland-sessions/cinnamon-wayland.desktop
+%dir %{_datadir}/xdg-desktop-portal/
+%{_datadir}/xdg-desktop-portal/x-cinnamon-portals.conf
%{_datadir}/applications/*
%{_datadir}/dbus-1/services/org.Cinnamon.*.service
%{_datadir}/dbus-1/services/org.cinnamon.*.service
++++++ cinnamon-5.8.4.tar.gz -> cinnamon-6.0.0.tar.gz ++++++
++++ 16044 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package muffin for openSUSE:Factory checked in at 2023-12-03 20:48:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/muffin (Old)
and /work/SRC/openSUSE:Factory/.muffin.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "muffin"
Sun Dec 3 20:48:42 2023 rev:30 rq:1130391 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/muffin/muffin.changes 2023-09-29 12:00:10.846004132 +0200
+++ /work/SRC/openSUSE:Factory/.muffin.new.25432/muffin.changes 2023-12-03 20:49:02.042262546 +0100
@@ -1,0 +2,18 @@
+Fri Dec 1 12:03:06 UTC 2023 - sb56637 <mxoo28j7(a)duck.com>
+
+- Update to version 6.0.0:
+ * Remove deprecated/removed zenity arguments.
+ * Update issue templates.
+ * bug report: Mention crashes.
+ * Update issue template with a link to open and closed issues.
+ * meta-monitor.c: Allow 75% scaling once more.
+ * Make meta_set_verbose() public.
+ * Fix a meson warning
+ * Fix meson.build deprecations up to 0.56.0
+ * keybindings: Restore window opacity keybindings.
+ * input settings: Allow disabling stylus buttons.
+ * Fix some incorrect gsettings schemas
+ * build/packaging: Restore Wayland support
+ * wayland: Fix desktop background
+
+-------------------------------------------------------------------
Old:
----
muffin-5.8.1.tar.gz
New:
----
muffin-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ muffin.spec ++++++
--- /var/tmp/diff_new_pack.qpv2OV/_old 2023-12-03 20:49:04.874366577 +0100
+++ /var/tmp/diff_new_pack.qpv2OV/_new 2023-12-03 20:49:04.878366724 +0100
@@ -1,7 +1,7 @@
#
# spec file for package muffin
#
-# Copyright (c) 2023 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
@@ -21,36 +21,41 @@
%define typelib typelib-1_0-Muffin-0_0
%define _lto_cflags %{nil}
Name: muffin
-Version: 5.8.1
+Version: 6.0.0
Release: 0
Summary: Cinnamon Desktop default window manager
License: GPL-2.0-or-later AND MIT
Group: System/GUI/Other
URL: https://github.com/linuxmint/muffin
Source: https://github.com/linuxmint/%{name}/archive/%{version}.tar.gz#/%{name}-%{v…
-BuildRequires: Mesa-libGLESv3-devel
-BuildRequires: fdupes
BuildRequires: meson
+BuildRequires: fdupes
BuildRequires: mutter-devel
BuildRequires: update-desktop-files
BuildRequires: zenity
+BuildRequires: Mesa-libGLESv3-devel
BuildRequires: pkgconfig(cinnamon-desktop) >= 4.0.0
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gnome-doc-utils)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk-doc)
-BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libinput)
-BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(libudev)
-BuildRequires: pkgconfig(libwacom)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(xkbcommon-x11)
BuildRequires: pkgconfig(xkeyboard-config)
BuildRequires: pkgconfig(xtst)
+BuildRequires: pkgconfig(gudev-1.0)
+BuildRequires: pkgconfig(libwacom)
+BuildRequires: pkgconfig(libpipewire-0.3)
+BuildRequires: pkgconfig(wayland-protocols)
+BuildRequires: pkgconfig(libdrm)
+BuildRequires: pkgconfig(xwayland)
+BuildRequires: pkgconfig(libxcvt)
+BuildRequires: libxcvt
Requires: cinnamon-gschemas
Requires: zenity
Recommends: %{name}-lang
++++++ muffin-5.8.1.tar.gz -> muffin-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/.github/ISSUE_TEMPLATE/bug_report.yaml new/muffin-6.0.0/.github/ISSUE_TEMPLATE/bug_report.yaml
--- old/muffin-5.8.1/.github/ISSUE_TEMPLATE/bug_report.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/muffin-6.0.0/.github/ISSUE_TEMPLATE/bug_report.yaml 2023-11-19 14:50:08.000000000 +0100
@@ -0,0 +1,92 @@
+name: Bug Report
+description: File a bug report
+body:
+ - type: markdown
+ attributes:
+ value: |
+ ### STOP! Before continuing:
+ - Please try searching for [existing reports](https://github.com/linuxmint/muffin/issues?q=is%3Aissue+state%3Aal… that may match the behavior you're seeing. *If you find one, add to that issue, instead of opening a new one*. Include any relevant details that may differ from the original author's.
+ - If this is related to Cinnamon, sometimes third-party xlets (applets, desklets and extensions) can cause erroneous or unexpected behavior. Try disabling these first to see if the behavior goes away. After disabling, be sure to restart Cinnamon before continuing. Right-click an empty portion of the panel, select Troubleshooting, then 'Restart Cinnamon'. Alternately, you can open the run dialog - Alt-F2, type 'r' or 'restart', and enter.
+ - Check your logs - there may be some obvious cause for your trouble - in Linux Mint you can check ~/.xsession-errors (a hidden file in your Home folder).
+ - If this is a *crash*, provide information about it if possible (CoreDump file, stack trace, etc...). In Linux Mint you can check the System Reports program.
+ - Have you tried rebooting?
+
+ ---
+
+ Thank you for taking the time to report this issue. To allow us to work as efficiently as possible at resolving this, we need some information from you.
+
+ - type: input
+ id: distro
+ attributes:
+ label: Distribution
+ description: Which Linux distribution are you using? Please be as specific as possible.
+ placeholder: "example: Mint 21.1"
+ validations:
+ required: true
+
+ - type: input
+ id: pkgver
+ attributes:
+ label: Package version
+ description: Please provide the Cinnamon version. You can get this by running `cinnamon --version` in a terminal, or launching 'System Info" from the menu.
+ placeholder: "example: 5.6.1"
+ validations:
+ required: true
+
+ - type: input
+ id: graphics
+ attributes:
+ label: Graphics hardware in use
+ description: Please provide information about your graphics hardware, if known. If you are using a dual-gpu system please specify that also.
+ placeholder: "example: NVIDIA GeForce GTX 1660 TI"
+ validations:
+ required: false
+
+ - type: dropdown
+ id: frequency
+ attributes:
+ label: Frequency
+ description: How often does this behavior occur?
+ options:
+ - Always
+ - Quite often
+ - Only occasionally
+ validations:
+ required: true
+
+ - type: textarea
+ id: current-behavior
+ attributes:
+ label: Bug description
+ description: Please describe what is happening
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to reproduce
+ description: Please try to provide **detailed** steps on the most direct way to reproduce this issue. The chances of a bug being fixed go up **considerably** if we are able to duplicate the behavior ourselves.
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected-behavior
+ attributes:
+ label: Expected behavior
+ description: Describe what you think should happen instead of the current behavior.
+ validations:
+ required: true
+
+ - type: textarea
+ id: more-info
+ attributes:
+ label: Additional information
+ description: You can add any other information you think may be relevant.
+ validations:
+ required: false
+
+ - type: markdown
+ attributes:
+ value: |
+ #### By submitting this report you agree to behave respectfully and in a mature manner. If in doubt, refer to the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule) and [Github's Community Guidelines](https://docs.github.com/en/site-policy/github-terms/github-comm….
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/.github/ISSUE_TEMPLATE/feature_request.md new/muffin-6.0.0/.github/ISSUE_TEMPLATE/feature_request.md
--- old/muffin-5.8.1/.github/ISSUE_TEMPLATE/feature_request.md 1970-01-01 01:00:00.000000000 +0100
+++ new/muffin-6.0.0/.github/ISSUE_TEMPLATE/feature_request.md 2023-11-19 14:50:08.000000000 +0100
@@ -0,0 +1,12 @@
+---
+name: Feature request (OBSOLETE)
+about: Feature requests are no longer accepted here, please use https://github.com/orgs/linuxmint/discussions instead.
+title: ""
+labels: ["FEATURE REQUEST"]
+assignees: ''
+
+---
+
+Please use:
+
+https://github.com/orgs/linuxmint/discussions
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/.github/ISSUE_TEMPLATE.md new/muffin-6.0.0/.github/ISSUE_TEMPLATE.md
--- old/muffin-5.8.1/.github/ISSUE_TEMPLATE.md 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/.github/ISSUE_TEMPLATE.md 1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-
-```
- * muffin version (muffin --version or 'dpkg --list | grep libmuffin0' for Mint/Ubuntu)
- * Distribution - (Mint 17.2, Arch, Fedora 25, etc...)
- * Graphics hardware *and* driver used
- * 32 or 64 bit
- ```
-
-**Issue**
-
-
-
-**Steps to reproduce**
-
-
-
-**Expected behaviour**
-
-
-
-**Other information**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/clutter/clutter/egl/clutter-backend-eglnative.c new/muffin-6.0.0/clutter/clutter/egl/clutter-backend-eglnative.c
--- old/muffin-5.8.1/clutter/clutter/egl/clutter-backend-eglnative.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/clutter/clutter/egl/clutter-backend-eglnative.c 2023-11-19 14:50:08.000000000 +0100
@@ -229,7 +229,7 @@
static void
clutter_backend_egl_native_init (ClutterBackendEglNative *backend_egl_native)
{
- static const gchar xsettings_path[] = "org.gnome.settings-daemon.plugins.xsettings";
+ static const gchar xsettings_path[] = "org.cinnamon.settings-daemon.plugins.xsettings";
GSettingsSchemaSource *source = g_settings_schema_source_get_default ();
GSettingsSchema *schema = g_settings_schema_source_lookup (source,
xsettings_path,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/data/meson.build new/muffin-6.0.0/data/meson.build
--- old/muffin-5.8.1/data/meson.build 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/data/meson.build 2023-11-19 14:50:08.000000000 +0100
@@ -7,7 +7,7 @@
msgfmt,
'--desktop', '--template',
'@INPUT@',
- '-d', join_paths(meson.source_root(), 'po'),
+ '-d', join_paths(meson.project_source_root(), 'po'),
'-o', '@OUTPUT@'
],
install: true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/debian/changelog new/muffin-6.0.0/debian/changelog
--- old/muffin-5.8.1/debian/changelog 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/debian/changelog 2023-11-19 14:50:08.000000000 +0100
@@ -1,3 +1,30 @@
+muffin (6.0.0) virginia; urgency=medium
+
+ [ Michael Webster ]
+ * Remove deprecated/removed zenity arguments.
+ * Update issue templates.
+ * bug report: Mention crashes.
+ * Update issue template with a link to open and closed issues.
+ * meta-monitor.c: Allow 75% scaling once more.
+ * Make meta_set_verbose() public.
+
+ [ Rick Calixte ]
+ * Fix a meson warning (#674)
+ * Fix meson.build deprecations up to 0.56.0 (#675)
+
+ [ Michael Webster ]
+ * keybindings: Restore window opacity keybindings.
+ * input settings: Allow disabling stylus buttons.
+
+ [ Clement Lefebvre ]
+ * Fix some incorrect gsettings schemas
+
+ [ Michael Webster ]
+ * build/packaging: Restore Wayland support
+ * wayland: Fix desktop background
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Sun, 19 Nov 2023 13:47:31 +0000
+
muffin (5.8.1) victoria; urgency=medium
[ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/debian/control new/muffin-6.0.0/debian/control
--- old/muffin-5.8.1/debian/control 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/debian/control 2023-11-19 14:50:08.000000000 +0100
@@ -25,12 +25,15 @@
libgles2-mesa-dev (>= 7.1~rc3-1~) | libgles2-dev,
libglib2.0-dev (>= 2.61.1),
libcinnamon-desktop-dev,
+ libgbm-dev (>= 17.3) [linux-any],
+ libgdk-pixbuf-2.0-dev | libgdk-pixbuf2.0-dev,
libgraphene-1.0-dev (>= 1.9.3),
libgtk-3-dev (>= 3.19.8),
libgudev-1.0-dev (>= 232) [linux-any],
libice-dev,
libinput-dev (>= 1.7) [linux-any],
libjson-glib-dev (>= 0.13.2-1~),
+ libnvidia-egl-wayland-dev [linux-any],
libpam0g-dev,
libpango1.0-dev (>= 1.2.0),
libpipewire-0.3-dev [linux-any] | libpipewire-0.2-dev [linux-any],
@@ -38,6 +41,7 @@
libstartup-notification0-dev (>= 0.7),
libsystemd-dev (>= 212) [linux-any],
libwacom-dev (>= 0.13) [linux-any],
+ libwayland-dev,
libxau-dev,
libx11-dev,
libx11-xcb-dev,
@@ -58,10 +62,14 @@
libxt-dev,
meson (>= 0.50),
pkg-config (>= 0.22),
+ udev [linux-any],
+ wayland-protocols (>= 1.25) [linux-any],
xauth <!nocheck>,
+ xcvt [linux-any],
xkb-data,
xserver-xorg-core [linux-any],
xvfb <!nocheck>,
+ xwayland [linux-any],
zenity
Rules-Requires-Root: no
Standards-Version: 4.5.0
@@ -153,7 +161,8 @@
libcinnamon-desktop-dev (>= 5.4),
libdrm-dev,
libegl1-mesa-dev,
- libgdk-pixbuf2.0-dev,
+ libgbm-dev,
+ libgdk-pixbuf-2.0-dev | libgdk-pixbuf2.0-dev,
libgles2-mesa-dev (>= 7.1~rc3-1~) | libgles2-dev,
libglib2.0-dev,
libgraphene-1.0-dev (>= 1.9.3),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/debian/rules new/muffin-6.0.0/debian/rules
--- old/muffin-5.8.1/debian/rules 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/debian/rules 2023-11-19 14:50:08.000000000 +0100
@@ -13,11 +13,20 @@
-Dprofiler=false \
-Dremote_desktop=false
-ifneq ($(DEB_HOST_ARCH_OS),linux)
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+CONFFLAGS += \
+ -Degl_device=true\
+ -Dwayland=true \
+ -Dwayland_eglstream=true \
+ -Dnative_backend=true
+else
CONFFLAGS += \
-Dudev=false \
-Dcore_tests=false \
- -Dlibwacom=false
+ -Dlibwacom=false \
+ -Dwayland=false \
+ -Dnative_backend=false \
+ -Ddefault_driver=gl
endif
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),armel armhf))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/meson.build new/muffin-6.0.0/meson.build
--- old/muffin-5.8.1/meson.build 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/meson.build 2023-11-19 14:50:08.000000000 +0100
@@ -1,6 +1,6 @@
project('muffin', 'c',
- version: '5.8.1',
- meson_version: '>= 0.50.0',
+ version: '6.0.0',
+ meson_version: '>=0.56.0',
license: 'GPLv2+'
)
@@ -161,8 +161,7 @@
endif
endif
-#have_wayland = get_option('wayland')
-have_wayland = false
+have_wayland = get_option('wayland')
if have_wayland
wayland_server_dep = dependency('wayland-server', version: wayland_server_req)
@@ -182,8 +181,7 @@
gudev_dep = dependency('gudev-1.0', version: gudev_req)
endif
-# have_native_backend = get_option('native_backend')
-have_native_backend = false
+have_native_backend = get_option('native_backend')
if have_native_backend
libdrm_dep = dependency('libdrm')
@@ -210,11 +208,9 @@
endif
endif
-#have_egl_device = get_option('egl_device')
-have_egl_device = false
+have_egl_device = get_option('egl_device')
-#have_wayland_eglstream = get_option('wayland_eglstream')
-have_wayland_eglstream = false
+have_wayland_eglstream = get_option('wayland_eglstream')
if have_wayland_eglstream
wayland_eglstream_protocols_dep = dependency('wayland-eglstream-protocols')
@@ -376,7 +372,7 @@
cdata.set('HAVE_INTROSPECTION', have_introspection)
cdata.set('HAVE_PROFILER', have_profiler)
-xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
+xkb_base = xkeyboard_config_dep.get_variable(pkgconfig: 'xkb_base')
cdata.set_quoted('XKB_BASE', xkb_base)
if cc.has_header_symbol('sys/prctl.h', 'prctl')
@@ -403,7 +399,7 @@
# For Xwayland -initfd usage
use_initfd = get_option('xwayland_initfd')
if use_initfd.auto()
- xwayland_options = run_command(xwayland_path, '-help')
+ xwayland_options = run_command([xwayland_path, '-help'], check: true)
have_xwayland_initfd = xwayland_options.stderr().contains('-initfd')
else
have_xwayland_initfd = use_initfd.enabled()
@@ -483,7 +479,7 @@
' Clutter tests............ ' + have_clutter_tests.to_string(),
' Installed tests.......... ' + have_installed_tests.to_string(),
'',
- ' Now type \'ninja -C ' + meson.build_root() + '\' to build ' + meson.project_name(),
+ ' Now type \'ninja -C ' + meson.project_build_root() + '\' to build ' + meson.project_name(),
'',
'',
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/meson_options.txt new/muffin-6.0.0/meson_options.txt
--- old/muffin-5.8.1/meson_options.txt 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/meson_options.txt 2023-11-19 14:50:08.000000000 +0100
@@ -33,12 +33,36 @@
description: 'Enable GLX support'
)
+option('wayland',
+ type: 'boolean',
+ value: true,
+ description: 'Enable Wayland support'
+)
+
+option('native_backend',
+ type: 'boolean',
+ value: true,
+ description: 'Enable the native backend'
+)
+
option('remote_desktop',
type: 'boolean',
value: true,
description: 'Enable remote desktop and screen cast support'
)
+option('egl_device',
+ type: 'boolean',
+ value: false,
+ description: 'Enable EGLDevice and EGLStream renderer support'
+)
+
+option('wayland_eglstream',
+ type: 'boolean',
+ value: false,
+ description: 'Enable Wayland EGLStream support client support'
+)
+
option('udev',
type: 'boolean',
value: true,
@@ -120,5 +144,23 @@
option('default_driver',
type: 'combo',
choices: ['auto', 'gl', 'gl3', 'gles2', 'nop'],
- value: 'gl'
+ value: 'auto'
+)
+
+option('xwayland_path',
+ type: 'string',
+ value: '',
+ description: 'Path to Xwayland executable'
+)
+
+option('xwayland_grab_default_access_rules',
+ type: 'string',
+ value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
+ description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland'
+)
+
+option('xwayland_initfd',
+ type: 'feature',
+ value: 'auto',
+ description: 'Whether -initfd argument is passed to Xwayland to guarantee services (e.g. gsd-xsettings) startup before applications'
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/backends/meta-monitor.c new/muffin-6.0.0/src/backends/meta-monitor.c
--- old/muffin-5.8.1/src/backends/meta-monitor.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/backends/meta-monitor.c 2023-11-19 14:50:08.000000000 +0100
@@ -33,7 +33,7 @@
#define SCALE_FACTORS_PER_INTEGER 4
#define SCALE_FACTORS_STEPS (1.0 / (float) SCALE_FACTORS_PER_INTEGER)
-#define MINIMUM_SCALE_FACTOR 1.0f
+#define MINIMUM_SCALE_FACTOR 0.74f
#define MAXIMUM_SCALE_FACTOR 4.0f
#define MINIMUM_LOGICAL_AREA (800 * 480)
#define MAXIMUM_REFRESH_RATE_DIFF 0.001
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/backends/native/meta-input-settings-native.c new/muffin-6.0.0/src/backends/native/meta-input-settings-native.c
--- old/muffin-5.8.1/src/backends/native/meta-input-settings-native.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/backends/native/meta-input-settings-native.c 2023-11-19 14:50:08.000000000 +0100
@@ -547,6 +547,8 @@
return BTN_BACK;
case C_DESKTOP_STYLUS_BUTTON_ACTION_FORWARD:
return BTN_FORWARD;
+ case C_DESKTOP_STYLUS_BUTTON_ACTION_DISABLED:
+ return BTN_DEAD; // This needs testing under wayland?
case C_DESKTOP_STYLUS_BUTTON_ACTION_DEFAULT:
default:
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/backends/x11/meta-input-settings-x11.c new/muffin-6.0.0/src/backends/x11/meta-input-settings-x11.c
--- old/muffin-5.8.1/src/backends/x11/meta-input-settings-x11.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/backends/x11/meta-input-settings-x11.c 2023-11-19 14:50:08.000000000 +0100
@@ -901,6 +901,8 @@
return 8;
case C_DESKTOP_STYLUS_BUTTON_ACTION_FORWARD:
return 9;
+ case C_DESKTOP_STYLUS_BUTTON_ACTION_DISABLED:
+ return 0;
case C_DESKTOP_STYLUS_BUTTON_ACTION_DEFAULT:
default:
return button;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/compositor/compositor.c new/muffin-6.0.0/src/compositor/compositor.c
--- old/muffin-5.8.1/src/compositor/compositor.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/compositor/compositor.c 2023-11-19 14:50:08.000000000 +0100
@@ -600,15 +600,19 @@
priv->top_window_group = meta_window_group_new (display);
priv->bottom_window_group = meta_window_group_new (display);
priv->feedback_group = meta_window_group_new (display);
- priv->background_actor = meta_x11_background_actor_new_for_display (display);
+
+ if (!meta_is_wayland_compositor ())
+ {
+ priv->background_actor = meta_x11_background_actor_new_for_display (display);
+ clutter_actor_add_child (priv->window_group, priv->background_actor);
+ }
+
+ clutter_actor_add_child (priv->window_group, priv->bottom_window_group);
// This needs to remain stacked just above the background actor in the window group.
// So sync_actor_stacking() has to be able to reference it. The deskletManager
// will take this and finish setting it up.
priv->desklet_container = clutter_actor_new ();
-
- clutter_actor_add_child (priv->window_group, priv->background_actor);
- clutter_actor_add_child (priv->window_group, priv->bottom_window_group);
clutter_actor_add_child (priv->window_group, priv->desklet_container);
clutter_actor_add_child (priv->stage, priv->window_group);
clutter_actor_add_child (priv->stage, priv->top_window_group);
@@ -954,7 +958,7 @@
}
}
- g_list_free (children);
+ g_clear_pointer (&children, g_list_free);
if (!reordered)
{
@@ -989,6 +993,31 @@
// Then the bottom window group (which META_WINDOW_DESKTOP windows like nemo-desktop's get placed in).
clutter_actor_set_child_below_sibling (priv->window_group, priv->bottom_window_group, NULL);
+ if (meta_is_wayland_compositor ())
+ {
+ children = clutter_actor_get_children (priv->bottom_window_group);
+ for (tmp = children; tmp != NULL; tmp = tmp->next)
+ {
+ MetaWindowActor *child = tmp->data;
+ MetaWindow *mw = meta_window_actor_get_meta_window (child);
+
+ if (mw != NULL)
+ {
+ // CsdBackground manager sets _NET_WM_STATE_BELOW (gtk_window_set_keep_below)
+ // This sets its stack layer to META_LAYER_BOTTOM, so we can keep these below
+ // the nemo-desktop, etc..
+ MetaStackLayer layer = meta_window_get_default_layer (mw);
+
+ if (layer == META_LAYER_BOTTOM)
+ {
+ clutter_actor_set_child_below_sibling (priv->bottom_window_group, CLUTTER_ACTOR (child), NULL);
+ }
+ }
+ }
+
+ g_list_free (children);
+ }
+
// and finally backgrounds..
/* we prepended the backgrounds above so the last actor in the list
@@ -1719,6 +1748,11 @@
MetaCompositorPrivate *priv =
meta_compositor_get_instance_private (display->compositor);
+ if (meta_is_wayland_compositor ())
+ {
+ return NULL;
+ }
+
return priv->background_actor;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/compositor/plugins/default.c new/muffin-6.0.0/src/compositor/plugins/default.c
--- old/muffin-5.8.1/src/compositor/plugins/default.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/compositor/plugins/default.c 2023-11-19 14:50:08.000000000 +0100
@@ -910,7 +910,6 @@
NULL,
"_Keep This Configuration",
"_Restore Previous Configuration",
- "preferences-desktop-display",
0,
NULL, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/core/keybindings.c new/muffin-6.0.0/src/core/keybindings.c
--- old/muffin-5.8.1/src/core/keybindings.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/core/keybindings.c 2023-11-19 14:50:08.000000000 +0100
@@ -4073,6 +4073,25 @@
}
static void
+handle_opacity (MetaDisplay *display,
+ MetaWindow *window,
+ ClutterKeyEvent *event,
+ MetaKeyBinding *binding,
+ gpointer dummy)
+{
+ MetaKeyBindingAction action = meta_prefs_get_keybinding_action (binding->name);
+
+ if (action == META_KEYBINDING_ACTION_DECREASE_OPACITY)
+ {
+ meta_window_decrease_opacity (window);
+ }
+ else
+ {
+ meta_window_increase_opacity (window);
+ }
+}
+
+static void
handle_restore_shortcuts (MetaDisplay *display,
MetaWindow *window,
ClutterKeyEvent *event,
@@ -4925,6 +4944,20 @@
META_KEYBINDING_ACTION_MOVE_TO_CENTER,
handle_move_to_center, 0);
+ add_builtin_keybinding (display,
+ "increase-opacity",
+ common_keybindings,
+ META_KEY_BINDING_PER_WINDOW,
+ META_KEYBINDING_ACTION_INCREASE_OPACITY,
+ handle_opacity, 0);
+
+ add_builtin_keybinding (display,
+ "decrease-opacity",
+ common_keybindings,
+ META_KEY_BINDING_PER_WINDOW,
+ META_KEYBINDING_ACTION_DECREASE_OPACITY,
+ handle_opacity, 0);
+
g_object_unref (common_keybindings);
g_object_unref (mutter_keybindings);
g_object_unref (mutter_wayland_keybindings);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/core/meta-close-dialog-default.c new/muffin-6.0.0/src/core/meta-close-dialog-default.c
--- old/muffin-5.8.1/src/core/meta-close-dialog-default.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/core/meta-close-dialog-default.c 2023-11-19 14:50:08.000000000 +0100
@@ -163,7 +163,7 @@
window_content, NULL,
window->display->x11_display->screen_name,
_("_Force Quit"), _("_Wait"),
- "face-sad-symbolic", window->xwindow,
+ window->xwindow,
NULL, NULL);
g_free (window_content);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/core/util-private.h new/muffin-6.0.0/src/core/util-private.h
--- old/muffin-5.8.1/src/core/util-private.h 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/core/util-private.h 2023-11-19 14:50:08.000000000 +0100
@@ -34,7 +34,6 @@
* for testability purposes */
#define META_EXPORT_TEST META_EXPORT
-void meta_set_verbose (gboolean setting);
void meta_set_debugging (gboolean setting);
void meta_set_syncing (gboolean setting);
void meta_set_replace_current_wm (gboolean setting);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/core/util.c new/muffin-6.0.0/src/core/util.c
--- old/muffin-5.8.1/src/core/util.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/core/util.c 2023-11-19 14:50:08.000000000 +0100
@@ -594,13 +594,11 @@
/**
* meta_show_dialog: (skip)
- * @type: type of dialog
* @message: message
* @timeout: timeout
* @display: display
* @ok_text: text for Ok button
* @cancel_text: text for Cancel button
- * @icon_name: icon name
* @transient_for: window XID of parent
* @columns: columns
* @entries: entries
@@ -613,7 +611,6 @@
const char *display,
const char *ok_text,
const char *cancel_text,
- const char *icon_name,
const int transient_for,
GSList *columns,
GSList *entries)
@@ -634,8 +631,6 @@
append_argument (args, display);
}
- append_argument (args, "--class");
- append_argument (args, "mutter-dialog");
append_argument (args, "--title");
append_argument (args, "");
append_argument (args, "--text");
@@ -659,12 +654,6 @@
append_argument (args, cancel_text);
}
- if (icon_name)
- {
- append_argument (args, "--icon-name");
- append_argument (args, icon_name);
- }
-
tmp = columns;
while (tmp)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/meson.build new/muffin-6.0.0/src/meson.build
--- old/muffin-5.8.1/src/meson.build 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/meson.build 2023-11-19 14:50:08.000000000 +0100
@@ -734,7 +734,7 @@
'backends/meta-profiler.h',
]
- sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces')
+ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_variable(pkgconfig: 'datadir'), 'dbus-1', 'interfaces')
sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
@@ -820,14 +820,14 @@
['xwayland-keyboard-grab', 'unstable', 'v1', ],
]
if have_wayland_eglstream
- wayland_eglstream_protocols_dir = wayland_eglstream_protocols_dep.get_pkgconfig_variable('pkgdatadir')
+ wayland_eglstream_protocols_dir = wayland_eglstream_protocols_dep.get_variable(pkgconfig: 'pkgdatadir')
wayland_protocols += [
['wayland-eglstream-controller', 'third-party', wayland_eglstream_protocols_dir],
]
endif
wayland_scanner = find_program('wayland-scanner')
- protocols_dir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
+ protocols_dir = wayland_protocols_dep.get_variable(pkgconfig: 'pkgdatadir')
assert(protocols_dir != '', 'Could not get pkgdatadir from wayland-protocols.pc')
foreach p: wayland_protocols
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/meta/prefs.h new/muffin-6.0.0/src/meta/prefs.h
--- old/muffin-5.8.1/src/meta/prefs.h 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/meta/prefs.h 2023-11-19 14:50:08.000000000 +0100
@@ -374,6 +374,8 @@
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_E: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_W: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CENTER: FILLME
+ * META_KEYBINDING_ACTION_INCREASE_OPACITY: FILLME,
+ * META_KEYBINDING_ACTION_DECREASE_OPACITY: FILLME,
* @META_KEYBINDING_ACTION_OVERLAY_KEY: FILLME
* @META_KEYBINDING_ACTION_LOCATE_POINTER_KEY: FILLME
* @META_KEYBINDING_ACTION_ALWAYS_ON_TOP: FILLME
@@ -474,6 +476,8 @@
META_KEYBINDING_ACTION_MOVE_TO_SIDE_E,
META_KEYBINDING_ACTION_MOVE_TO_SIDE_W,
META_KEYBINDING_ACTION_MOVE_TO_CENTER,
+ META_KEYBINDING_ACTION_INCREASE_OPACITY,
+ META_KEYBINDING_ACTION_DECREASE_OPACITY,
META_KEYBINDING_ACTION_OVERLAY_KEY,
META_KEYBINDING_ACTION_LOCATE_POINTER_KEY,
META_KEYBINDING_ACTION_ISO_NEXT_GROUP,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/meta/util.h new/muffin-6.0.0/src/meta/util.h
--- old/muffin-5.8.1/src/meta/util.h 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/meta/util.h 2023-11-19 14:50:08.000000000 +0100
@@ -119,6 +119,8 @@
void meta_topic_real (MetaDebugTopic topic,
const char *format,
...) G_GNUC_PRINTF (2, 3);
+META_EXPORT
+void meta_set_verbose (gboolean setting);
META_EXPORT
void meta_add_verbose_topic (MetaDebugTopic topic);
@@ -157,7 +159,6 @@
const char *display,
const char *ok_text,
const char *cancel_text,
- const char *icon_name,
const int transient_for,
GSList *columns,
GSList *entries);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/tests/meson.build new/muffin-6.0.0/src/tests/meson.build
--- old/muffin-5.8.1/src/tests/meson.build 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/tests/meson.build 2023-11-19 14:50:08.000000000 +0100
@@ -38,8 +38,8 @@
endif
test_env = environment()
-test_env.set('G_TEST_SRCDIR', join_paths(meson.source_root(), 'src'))
-test_env.set('G_TEST_BUILDDIR', meson.build_root())
+test_env.set('G_TEST_SRCDIR', join_paths(meson.project_source_root(), 'src'))
+test_env.set('G_TEST_BUILDDIR', meson.project_build_root())
test_env.set('MUTTER_TEST_PLUGIN_PATH', '@0@'.format(default_plugin.full_path()))
test_client = executable('mutter-test-client',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/wayland/meta-wayland-keyboard.c new/muffin-6.0.0/src/wayland/meta-wayland-keyboard.c
--- old/muffin-5.8.1/src/wayland/meta-wayland-keyboard.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/wayland/meta-wayland-keyboard.c 2023-11-19 14:50:08.000000000 +0100
@@ -64,7 +64,7 @@
#include "backends/native/meta-event-native.h"
#endif
-#define GSD_KEYBOARD_SCHEMA "org.gnome.settings-daemon.peripherals.keyboard"
+#define GSD_KEYBOARD_SCHEMA "org.cinnamon.settings-daemon.peripherals.keyboard"
G_DEFINE_TYPE (MetaWaylandKeyboard, meta_wayland_keyboard,
META_TYPE_WAYLAND_INPUT_DEVICE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/x11/meta-x11-background-actor.c new/muffin-6.0.0/src/x11/meta-x11-background-actor.c
--- old/muffin-5.8.1/src/x11/meta-x11-background-actor.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/x11/meta-x11-background-actor.c 2023-11-19 14:50:08.000000000 +0100
@@ -534,6 +534,9 @@
g_return_val_if_fail (META_IS_DISPLAY (display), NULL);
+ if (meta_is_wayland_compositor ())
+ return NULL;
+
self = g_object_new (META_TYPE_X11_BACKGROUND_ACTOR, NULL);
priv = self->priv;
@@ -567,7 +570,6 @@
{
MetaX11Display *x11_display;
MetaDisplayBackground *background;
- MetaCompositor *compositor;
Atom type;
int format;
gulong nitems;
@@ -577,7 +579,6 @@
x11_display = meta_display_get_x11_display (display);
background = meta_display_background_get (display);
- compositor = meta_display_get_compositor (display);
root_pixmap_id = None;
if (!XGetWindowProperty (meta_x11_display_get_xdisplay (x11_display),
@@ -666,29 +667,3 @@
update_wrap_mode (background);
}
-
-static MetaDisplayBackground *
-display_background_get (MetaDisplay *display)
-{
- MetaDisplayBackground *background;
-
- background = g_object_get_data (G_OBJECT (display), "meta-display-background");
- if (background == NULL)
- {
- ClutterActor *stage;
-
- background = g_new0 (MetaDisplayBackground, 1);
-
- background->x11_display = meta_display_get_x11_display (display);
- g_object_set_data_full (G_OBJECT (display), "meta-screen-background",
- background, (GDestroyNotify) free_display_background);
-
- stage = meta_get_stage_for_display (display);
- g_signal_connect (stage, "notify::background-color",
- G_CALLBACK (on_notify_stage_color), background);
-
- meta_x11_background_actor_update (display);
- }
-
- return background;
-}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/muffin-5.8.1/src/x11/session.c new/muffin-6.0.0/src/x11/session.c
--- old/muffin-5.8.1/src/x11/session.c 2023-07-07 15:25:13.000000000 +0200
+++ new/muffin-6.0.0/src/x11/session.c 2023-11-19 14:50:08.000000000 +0100
@@ -1823,7 +1823,7 @@
"you log in."),
"240",
meta_get_display()->x11_display->screen_name,
- NULL, NULL, NULL,
+ NULL, NULL,
None,
columns,
lame_details);
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon-session for openSUSE:Factory checked in at 2023-12-03 20:48:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-session (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-session.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-session"
Sun Dec 3 20:48:40 2023 rev:26 rq:1130389 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-session/cinnamon-session.changes 2022-02-13 00:16:15.528262941 +0100
+++ /work/SRC/openSUSE:Factory/.cinnamon-session.new.25432/cinnamon-session.changes 2023-12-03 20:49:00.906220822 +0100
@@ -1,0 +2,35 @@
+Sat Dec 2 08:47:42 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * Fix meson.build deprecations up to 0.56.0
+ * wayland: Don't use egg library
+ * wayland: Replace cs-idle-monitor with gnome-idle-monitor
+ * wayland: Add compatibility
+ * wayland: Add DisplayServer phase
+ * wayland: Reimplement logout/inhibit dialogs as a separate
+ process
+ * Clean up and unify logging for session failures
+ * More cleanup - leftover includes, unused files
+ * Fix build.
+ * Don't make a required component failure fatal.
+ * On required app failure, log both the app and startup ID.
+ * csm-manager: Remove maybe_restart_user_bus.
+ * main.c: Don't direct logging to the journal.
+ * csm-manager: Terminate the logout dialog at the beginning of
+ the session end phase, not the end.
+ * cinnamon-session-quit: Set modal.
+ * l10n: Update POT
+ * cinnamon-session (5.8.1) victoria; urgency=medium
+ * Block touchegg from autostarting.
+ * cinnamon-session (5.8.0) victoria; urgency=medium
+ * main.c: Don't set GTK_OVERLAY_SCROLLING.
+ * github workflow: Add optional ssh session.
+ * cinnamon-session (5.6.0) vera; urgency=medium
+ * Fix .gitignore for builds
+ * Accept Desktop Entry Specification v1.5
+ * Use github instead of circleci.
+ * cinnamon-session (5.4.0) vanessa; urgency=medium
+ * Remove gconf code, disable docs, remove doc dependencies.
+ * CI: Update targets
+
+-------------------------------------------------------------------
Old:
----
cinnamon-session-5.2.0.tar.gz
New:
----
cinnamon-session-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-session.spec ++++++
--- /var/tmp/diff_new_pack.OQmJGd/_old 2023-12-03 20:49:01.426239919 +0100
+++ /var/tmp/diff_new_pack.OQmJGd/_new 2023-12-03 20:49:01.430240066 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cinnamon-session
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: cinnamon-session
-Version: 5.2.0
+Version: 6.0.0
Release: 0
Summary: The session manager for the Cinnamon Desktop
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@@ -33,6 +33,7 @@
BuildRequires: update-desktop-files
BuildRequires: xmlto
BuildRequires: xtrans
+BuildRequires: pkgconfig(cinnamon-desktop)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glib-2.0)
@@ -61,8 +62,6 @@
%build
%meson \
- -Ddocbook=true \
- -Dgconf=false \
-Dipv6=true \
-Dxtrans=true
%meson_build
@@ -73,11 +72,6 @@
# We should own this directory.
mkdir -p %{buildroot}%{_datadir}/%{name}/sessions/
-# Fix documentation location.
-mkdir -p %{buildroot}%{_docdir}/
-mv -f %{buildroot}%{_datadir}/doc/%{name}/ \
- %{buildroot}%{_docdir}/%{name}/
-
# Use systemd-logind for suspend by default.
install -Dpm 0644 %{SOURCE1} \
%{buildroot}%{_datadir}/glib-2.0/schemas/org.cinnamon.desktop.session.gschema.override
@@ -85,8 +79,6 @@
%files
%license COPYING
%doc AUTHORS README README.md
-%dir %{_docdir}/%{name}/dbus/
-%doc %{_docdir}/%{name}/dbus/%{name}.html
%{_bindir}/%{name}
%{_bindir}/%{name}-quit
%{_libexecdir}/%{name}-check-accelerated*
++++++ cinnamon-session-5.2.0.tar.gz -> cinnamon-session-6.0.0.tar.gz ++++++
++++ 11193 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon-desktop for openSUSE:Factory checked in at 2023-12-03 20:48:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-desktop (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-desktop.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-desktop"
Sun Dec 3 20:48:39 2023 rev:28 rq:1128875 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-desktop/cinnamon-desktop.changes 2023-06-04 00:12:55.485649588 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon-desktop.new.25432/cinnamon-desktop.changes 2023-12-03 20:48:58.674138852 +0100
@@ -1,0 +2,14 @@
+Sat Nov 25 18:59:22 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * gschemas: Change a comment
+ * Fix meson.build deprecations up to 0.56.0
+ * cdesktop-enums: Expand CDesktopStylusButtonAction to include
+ 'disabled'.
+ * Add gnome-systemd
+ * Add gnome-idle-monitor
+ * a11y: Add 'always-show-text-caret' xsetting
+ * Adding an option for notification screen selection
+ * notifications schema: Add fullscreen-notifications boolean
+
+-------------------------------------------------------------------
Old:
----
cinnamon-desktop-5.8.0.tar.gz
New:
----
cinnamon-desktop-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-desktop.spec ++++++
--- /var/tmp/diff_new_pack.fo7ThD/_old 2023-12-03 20:49:00.430203341 +0100
+++ /var/tmp/diff_new_pack.fo7ThD/_new 2023-12-03 20:49:00.430203341 +0100
@@ -23,7 +23,7 @@
%define typelib typelib-1_0-CinnamonDesktop-3_0
%define typelib_cvc typelib-1_0-Cvc-1_0
Name: cinnamon-desktop
-Version: 5.8.0
+Version: 6.0.0
Release: 0
Summary: Libcinnamon-desktop API
License: GPL-2.0-or-later AND MIT
@@ -49,6 +49,7 @@
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10.0
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libpulse-mainloop-glib)
+BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(xext) >= 1.1
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xkeyboard-config)
++++++ cinnamon-desktop-5.8.0.tar.gz -> cinnamon-desktop-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/debian/changelog new/cinnamon-desktop-6.0.0/debian/changelog
--- old/cinnamon-desktop-5.8.0/debian/changelog 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/debian/changelog 2023-11-19 14:37:50.000000000 +0100
@@ -1,3 +1,23 @@
+cinnamon-desktop (6.0.0) virginia; urgency=medium
+
+ [ Michael Webster ]
+ * gschemas: Change a comment
+
+ [ Rick Calixte ]
+ * Fix meson.build deprecations up to 0.56.0 (#234)
+
+ [ Michael Webster ]
+ * cdesktop-enums: Expand CDesktopStylusButtonAction to include 'disabled'.
+ * Add gnome-systemd
+ * Add gnome-idle-monitor
+ * a11y: Add 'always-show-text-caret' xsetting
+
+ [ Rick Calixte ]
+ * Adding an option for notification screen selection (#231)
+ * notifications schema: Add fullscreen-notifications boolean (#233)
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Sun, 19 Nov 2023 13:37:20 +0000
+
cinnamon-desktop (5.8.0) victoria; urgency=medium
[ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/debian/control new/cinnamon-desktop-6.0.0/debian/control
--- old/cinnamon-desktop-5.8.0/debian/control 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/debian/control 2023-11-19 14:37:50.000000000 +0100
@@ -13,6 +13,7 @@
libglib2.0-dev (>= 2.37.3),
libgtk-3-dev (>= 3.3.16),
libpulse-dev (>= 12.99.3),
+ libsystemd-dev,
libx11-dev,
libxext-dev,
libxkbfile-dev,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/cdesktop-enums.h new/cinnamon-desktop-6.0.0/libcinnamon-desktop/cdesktop-enums.h
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/cdesktop-enums.h 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/cdesktop-enums.h 2023-11-19 14:37:50.000000000 +0100
@@ -199,11 +199,19 @@
C_DESKTOP_STYLUS_BUTTON_ACTION_MIDDLE,
C_DESKTOP_STYLUS_BUTTON_ACTION_RIGHT,
C_DESKTOP_STYLUS_BUTTON_ACTION_BACK,
- C_DESKTOP_STYLUS_BUTTON_ACTION_FORWARD
+ C_DESKTOP_STYLUS_BUTTON_ACTION_FORWARD,
+ C_DESKTOP_STYLUS_BUTTON_ACTION_DISABLED
} CDesktopStylusButtonAction;
typedef enum
{
+ C_DESKTOP_NOTIFICATION_SCREEN_DISPLAY_PRIMARY_SCREEN,
+ C_DESKTOP_NOTIFICATION_SCREEN_DISPLAY_ACTIVE_SCREEN,
+ C_DESKTOP_NOTIFICATION_SCREEN_DISPLAY_FIXED_SCREEN
+} CDesktopNotificationScreenDisplay;
+
+typedef enum
+{
/* All bindings before _SEPARATOR are treated as
* "global" bindings, i.e. they work regardless of
* Cinnamon's global state (open menus, etc...)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-idle-monitor.c new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-idle-monitor.c
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-idle-monitor.c 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-idle-monitor.c 2023-11-19 14:37:50.000000000 +0100
@@ -0,0 +1,574 @@
+/* -*- mode: C; c-file-style: "linux"; indent-tabs-mode: t -*-
+ *
+ * Adapted from gnome-session/gnome-session/gs-idle-monitor.c
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <time.h>
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gi18n-lib.h>
+
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include "gnome-idle-monitor.h"
+#include "meta-dbus-idle-monitor.h"
+
+G_STATIC_ASSERT(sizeof(unsigned long) == sizeof(gpointer));
+
+struct _GnomeIdleMonitorPrivate
+{
+ GCancellable *cancellable;
+ MetaDBusIdleMonitor *proxy;
+ MetaDBusObjectManagerClient *om;
+ int name_watch_id;
+ GHashTable *watches;
+ GHashTable *watches_by_upstream_id;
+};
+
+typedef struct
+{
+ int ref_count;
+ gboolean dead;
+ GnomeIdleMonitor *monitor;
+ guint id;
+ guint upstream_id;
+ GnomeIdleMonitorWatchFunc callback;
+ gpointer user_data;
+ GDestroyNotify notify;
+ guint64 timeout_msec;
+} GnomeIdleMonitorWatch;
+
+static void gnome_idle_monitor_initable_iface_init (GInitableIface *iface);
+static void gnome_idle_monitor_remove_watch_internal (GnomeIdleMonitor *monitor,
+ guint id);
+
+static void add_idle_watch (GnomeIdleMonitor *, GnomeIdleMonitorWatch *);
+static void add_active_watch (GnomeIdleMonitor *, GnomeIdleMonitorWatch *);
+
+G_DEFINE_TYPE_WITH_CODE (GnomeIdleMonitor, gnome_idle_monitor, G_TYPE_OBJECT,
+ G_ADD_PRIVATE (GnomeIdleMonitor)
+ G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
+ gnome_idle_monitor_initable_iface_init))
+
+#define IDLE_MONITOR_PATH "/org/gnome/Mutter/IdleMonitor/Core"
+
+static void
+on_watch_fired (MetaDBusIdleMonitor *proxy,
+ guint upstream_id,
+ GnomeIdleMonitor *monitor)
+{
+ GnomeIdleMonitorWatch *watch;
+
+ watch = g_hash_table_lookup (monitor->priv->watches_by_upstream_id, GINT_TO_POINTER (upstream_id));
+ if (!watch)
+ return;
+
+ g_object_ref (monitor);
+
+ if (watch->callback) {
+ watch->callback (watch->monitor,
+ watch->id,
+ watch->user_data);
+ }
+
+ if (watch->timeout_msec == 0)
+ gnome_idle_monitor_remove_watch_internal (monitor, watch->id);
+
+ g_object_unref (monitor);
+}
+
+static guint32
+get_next_watch_serial (void)
+{
+ static guint32 serial = 0;
+ g_atomic_int_inc (&serial);
+ return serial;
+}
+
+static void
+idle_monitor_watch_unref (GnomeIdleMonitorWatch *watch)
+{
+ watch->ref_count--;
+ if (watch->ref_count)
+ return;
+
+ if (watch->notify != NULL)
+ watch->notify (watch->user_data);
+
+
+ if (watch->upstream_id != 0)
+ g_hash_table_remove (watch->monitor->priv->watches_by_upstream_id,
+ GINT_TO_POINTER (watch->upstream_id));
+
+ g_slice_free (GnomeIdleMonitorWatch, watch);
+}
+
+static GnomeIdleMonitorWatch *
+idle_monitor_watch_ref (GnomeIdleMonitorWatch *watch)
+{
+ g_assert (watch->ref_count > 0);
+
+ watch->ref_count++;
+ return watch;
+}
+
+static void
+idle_monitor_watch_destroy (GnomeIdleMonitorWatch *watch)
+{
+ watch->dead = TRUE;
+ idle_monitor_watch_unref (watch);
+}
+
+static void
+gnome_idle_monitor_dispose (GObject *object)
+{
+ GnomeIdleMonitor *monitor;
+
+ monitor = GNOME_IDLE_MONITOR (object);
+
+ if (monitor->priv->cancellable)
+ g_cancellable_cancel (monitor->priv->cancellable);
+ g_clear_object (&monitor->priv->cancellable);
+
+ if (monitor->priv->name_watch_id) {
+ g_bus_unwatch_name (monitor->priv->name_watch_id);
+ monitor->priv->name_watch_id = 0;
+ }
+
+ g_clear_object (&monitor->priv->proxy);
+ g_clear_object (&monitor->priv->om);
+ g_clear_pointer (&monitor->priv->watches, g_hash_table_destroy);
+ g_clear_pointer (&monitor->priv->watches_by_upstream_id, g_hash_table_destroy);
+
+ G_OBJECT_CLASS (gnome_idle_monitor_parent_class)->dispose (object);
+}
+
+static void
+add_known_watch (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ GnomeIdleMonitor *monitor = user_data;
+ GnomeIdleMonitorWatch *watch = value;
+
+ if (watch->timeout_msec == 0)
+ add_active_watch (monitor, watch);
+ else
+ add_idle_watch (monitor, watch);
+}
+
+static void
+connect_proxy (GDBusObject *object,
+ GnomeIdleMonitor *monitor)
+{
+ MetaDBusIdleMonitor *proxy;
+
+ proxy = meta_dbus_object_get_idle_monitor (META_DBUS_OBJECT (object));
+ if (!proxy) {
+ g_critical ("Unable to get idle monitor from object at %s",
+ g_dbus_object_get_object_path (object));
+ return;
+ }
+
+ monitor->priv->proxy = proxy;
+ g_signal_connect_object (proxy, "watch-fired", G_CALLBACK (on_watch_fired), monitor, 0);
+ g_hash_table_foreach (monitor->priv->watches, add_known_watch, monitor);
+}
+
+static void
+on_object_added (GDBusObjectManager *manager,
+ GDBusObject *object,
+ gpointer user_data)
+{
+ GnomeIdleMonitor *monitor = user_data;
+
+ if (!g_str_equal (IDLE_MONITOR_PATH, g_dbus_object_get_object_path (object)))
+ return;
+
+ connect_proxy (object, monitor);
+
+ g_signal_handlers_disconnect_by_func (manager, on_object_added, user_data);
+}
+
+static void
+get_proxy (GnomeIdleMonitor *monitor)
+{
+ GDBusObject *object;
+
+ object = g_dbus_object_manager_get_object (G_DBUS_OBJECT_MANAGER (monitor->priv->om),
+ IDLE_MONITOR_PATH);
+ if (object) {
+ connect_proxy (object, monitor);
+ g_object_unref (object);
+ return;
+ }
+
+ g_signal_connect_object (monitor->priv->om, "object-added",
+ G_CALLBACK (on_object_added), monitor, 0);
+}
+
+static void
+on_object_manager_ready (GObject *source,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ GnomeIdleMonitor *monitor = user_data;
+ GDBusObjectManager *om;
+ GError *error = NULL;
+
+ om = meta_dbus_object_manager_client_new_finish (res, &error);
+ if (!om) {
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ g_warning ("Failed to acquire idle monitor object manager: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ monitor->priv->om = META_DBUS_OBJECT_MANAGER_CLIENT (om);
+ get_proxy (monitor);
+}
+
+static void
+on_name_appeared (GDBusConnection *connection,
+ const char *name,
+ const char *name_owner,
+ gpointer user_data)
+{
+ GnomeIdleMonitor *monitor = user_data;
+
+ meta_dbus_object_manager_client_new (connection,
+ G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
+ name_owner,
+ "/org/gnome/Mutter/IdleMonitor",
+ monitor->priv->cancellable,
+ on_object_manager_ready,
+ monitor);
+}
+
+static void
+clear_watch (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ GnomeIdleMonitorWatch *watch = value;
+ GnomeIdleMonitor *monitor = user_data;
+
+ g_hash_table_remove (monitor->priv->watches_by_upstream_id, GINT_TO_POINTER (watch->upstream_id));
+ watch->upstream_id = 0;
+}
+
+static void
+on_name_vanished (GDBusConnection *connection,
+ const char *name,
+ gpointer user_data)
+{
+ GnomeIdleMonitor *monitor = user_data;
+
+ g_hash_table_foreach (monitor->priv->watches, clear_watch, monitor);
+ g_clear_object (&monitor->priv->proxy);
+ g_clear_object (&monitor->priv->om);
+}
+
+static gboolean
+gnome_idle_monitor_initable_init (GInitable *initable,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GnomeIdleMonitor *monitor;
+
+ monitor = GNOME_IDLE_MONITOR (initable);
+
+ monitor->priv->name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
+ "org.gnome.Mutter.IdleMonitor",
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ on_name_appeared,
+ on_name_vanished,
+ monitor, NULL);
+
+ return TRUE;
+}
+
+static void
+gnome_idle_monitor_initable_iface_init (GInitableIface *iface)
+{
+ iface->init = gnome_idle_monitor_initable_init;
+}
+
+static void
+gnome_idle_monitor_class_init (GnomeIdleMonitorClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->dispose = gnome_idle_monitor_dispose;
+}
+
+static void
+gnome_idle_monitor_init (GnomeIdleMonitor *monitor)
+{
+ monitor->priv = gnome_idle_monitor_get_instance_private (monitor);
+
+ monitor->priv->watches = g_hash_table_new_full (NULL,
+ NULL,
+ NULL,
+ (GDestroyNotify)idle_monitor_watch_destroy);
+ monitor->priv->watches_by_upstream_id = g_hash_table_new (NULL, NULL);
+
+ monitor->priv->cancellable = g_cancellable_new ();
+}
+
+/**
+ * gnome_idle_monitor_new:
+ *
+ * Returns: a new #GnomeIdleMonitor that tracks the server-global
+ * idletime for all devices.
+ */
+GnomeIdleMonitor *
+gnome_idle_monitor_new (void)
+{
+ return GNOME_IDLE_MONITOR (g_initable_new (GNOME_TYPE_IDLE_MONITOR, NULL, NULL, NULL));
+}
+
+static GnomeIdleMonitorWatch *
+make_watch (GnomeIdleMonitor *monitor,
+ guint64 timeout_msec,
+ GnomeIdleMonitorWatchFunc callback,
+ gpointer user_data,
+ GDestroyNotify notify)
+{
+ GnomeIdleMonitorWatch *watch;
+
+ watch = g_slice_new0 (GnomeIdleMonitorWatch);
+ watch->ref_count = 1;
+ watch->id = get_next_watch_serial ();
+ watch->monitor = monitor;
+ watch->callback = callback;
+ watch->user_data = user_data;
+ watch->notify = notify;
+ watch->timeout_msec = timeout_msec;
+
+ return watch;
+}
+
+static void
+on_watch_added (GObject *object,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GnomeIdleMonitorWatch *watch = user_data;
+ GnomeIdleMonitor *monitor;
+ GError *error;
+ GVariant *res;
+
+ error = NULL;
+ res = g_dbus_proxy_call_finish (G_DBUS_PROXY (object), result, &error);
+ if (!res) {
+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
+ g_error_free (error);
+ idle_monitor_watch_unref (watch);
+ return;
+ }
+
+ g_warning ("Failed to acquire idle monitor proxy: %s", error->message);
+ g_error_free (error);
+ idle_monitor_watch_unref (watch);
+ return;
+ }
+
+ if (watch->dead) {
+ idle_monitor_watch_unref (watch);
+ return;
+ }
+
+ monitor = watch->monitor;
+ g_variant_get (res, "(u)", &watch->upstream_id);
+ g_variant_unref (res);
+
+ g_hash_table_insert (monitor->priv->watches_by_upstream_id,
+ GINT_TO_POINTER (watch->upstream_id), watch);
+ idle_monitor_watch_unref (watch);
+}
+
+static void
+add_idle_watch (GnomeIdleMonitor *monitor,
+ GnomeIdleMonitorWatch *watch)
+{
+ meta_dbus_idle_monitor_call_add_idle_watch (monitor->priv->proxy,
+ watch->timeout_msec,
+ monitor->priv->cancellable,
+ on_watch_added, idle_monitor_watch_ref (watch));
+}
+
+static void
+add_active_watch (GnomeIdleMonitor *monitor,
+ GnomeIdleMonitorWatch *watch)
+{
+ meta_dbus_idle_monitor_call_add_user_active_watch (monitor->priv->proxy,
+ monitor->priv->cancellable,
+ on_watch_added, idle_monitor_watch_ref (watch));
+}
+
+/**
+ * gnome_idle_monitor_add_idle_watch:
+ * @monitor: A #GnomeIdleMonitor
+ * @interval_msec: The idletime interval, in milliseconds. It must be
+ * a strictly positive value (> 0).
+ * @callback: (allow-none): The callback to call when the user has
+ * accumulated @interval_msec milliseconds of idle time.
+ * @user_data: (allow-none): The user data to pass to the callback
+ * @notify: A #GDestroyNotify
+ *
+ * Returns: a watch id
+ *
+ * Adds a watch for a specific idle time. The callback will be called
+ * when the user has accumulated @interval_msec milliseconds of idle time.
+ * This function will return an ID that can either be passed to
+ * gnome_idle_monitor_remove_watch(), or can be used to tell idle time
+ * watches apart if you have more than one.
+ *
+ * Also note that this function will only care about positive transitions
+ * (user's idle time exceeding a certain time). If you want to know about
+ * when the user has become active, use
+ * gnome_idle_monitor_add_user_active_watch().
+ */
+guint
+gnome_idle_monitor_add_idle_watch (GnomeIdleMonitor *monitor,
+ guint64 interval_msec,
+ GnomeIdleMonitorWatchFunc callback,
+ gpointer user_data,
+ GDestroyNotify notify)
+{
+ GnomeIdleMonitorWatch *watch;
+
+ g_return_val_if_fail (GNOME_IS_IDLE_MONITOR (monitor), 0);
+ g_return_val_if_fail (interval_msec > 0, 0);
+
+ watch = make_watch (monitor,
+ interval_msec,
+ callback,
+ user_data,
+ notify);
+
+ g_hash_table_insert (monitor->priv->watches,
+ GUINT_TO_POINTER (watch->id),
+ watch);
+
+ if (monitor->priv->proxy)
+ add_idle_watch (monitor, watch);
+
+ return watch->id;
+}
+
+/**
+ * gnome_idle_monitor_add_user_active_watch:
+ * @monitor: A #GnomeIdleMonitor
+ * @callback: (allow-none): The callback to call when the user is
+ * active again.
+ * @user_data: (allow-none): The user data to pass to the callback
+ * @notify: A #GDestroyNotify
+ *
+ * Returns: a watch id
+ *
+ * Add a one-time watch to know when the user is active again.
+ * Note that this watch is one-time and will de-activate after the
+ * function is called, for efficiency purposes. It's most convenient
+ * to call this when an idle watch, as added by
+ * gnome_idle_monitor_add_idle_watch(), has triggered.
+ */
+guint
+gnome_idle_monitor_add_user_active_watch (GnomeIdleMonitor *monitor,
+ GnomeIdleMonitorWatchFunc callback,
+ gpointer user_data,
+ GDestroyNotify notify)
+{
+ GnomeIdleMonitorWatch *watch;
+
+ g_return_val_if_fail (GNOME_IS_IDLE_MONITOR (monitor), 0);
+
+ watch = make_watch (monitor,
+ 0,
+ callback,
+ user_data,
+ notify);
+
+ g_hash_table_insert (monitor->priv->watches,
+ GUINT_TO_POINTER (watch->id),
+ watch);
+
+ if (monitor->priv->proxy)
+ add_active_watch (monitor, watch);
+
+ return watch->id;
+}
+
+/**
+ * gnome_idle_monitor_remove_watch:
+ * @monitor: A #GnomeIdleMonitor
+ * @id: A watch ID
+ *
+ * Removes an idle time watcher, previously added by
+ * gnome_idle_monitor_add_idle_watch() or
+ * gnome_idle_monitor_add_user_active_watch().
+ */
+void
+gnome_idle_monitor_remove_watch (GnomeIdleMonitor *monitor,
+ guint id)
+{
+ GnomeIdleMonitorWatch *watch;
+
+ g_return_if_fail (GNOME_IS_IDLE_MONITOR (monitor));
+
+ watch = g_hash_table_lookup (monitor->priv->watches, GINT_TO_POINTER (id));
+ if (!watch)
+ return;
+
+ if (watch->upstream_id)
+ meta_dbus_idle_monitor_call_remove_watch (monitor->priv->proxy,
+ watch->upstream_id,
+ NULL, NULL, NULL);
+
+ gnome_idle_monitor_remove_watch_internal (monitor, id);
+}
+
+static void
+gnome_idle_monitor_remove_watch_internal (GnomeIdleMonitor *monitor,
+ guint id)
+{
+ g_hash_table_remove (monitor->priv->watches,
+ GUINT_TO_POINTER (id));
+}
+
+/**
+ * gnome_idle_monitor_get_idletime:
+ * @monitor: A #GnomeIdleMonitor
+ *
+ * Returns: The current idle time, in milliseconds
+ */
+guint64
+gnome_idle_monitor_get_idletime (GnomeIdleMonitor *monitor)
+{
+ guint64 value;
+
+ value = 0;
+ if (monitor->priv->proxy)
+ meta_dbus_idle_monitor_call_get_idletime_sync (monitor->priv->proxy, &value,
+ NULL, NULL);
+
+ return value;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-idle-monitor.h new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-idle-monitor.h
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-idle-monitor.h 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-idle-monitor.h 2023-11-19 14:37:50.000000000 +0100
@@ -0,0 +1,84 @@
+/* -*- mode: C; c-file-style: "linux"; indent-tabs-mode: t -*-
+ *
+ * Adapted from gnome-session/gnome-session/gs-idle-monitor.h
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: William Jon McCann <mccann(a)jhu.edu>
+ */
+
+#ifndef __GNOME_IDLE_MONITOR_H__
+#define __GNOME_IDLE_MONITOR_H__
+
+#ifndef GNOME_DESKTOP_USE_UNSTABLE_API
+#error This is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-idle-monitor.h
+#endif
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GNOME_TYPE_IDLE_MONITOR (gnome_idle_monitor_get_type ())
+#define GNOME_IDLE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitor))
+#define GNOME_IDLE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitorClass))
+#define GNOME_IS_IDLE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNOME_TYPE_IDLE_MONITOR))
+#define GNOME_IS_IDLE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNOME_TYPE_IDLE_MONITOR))
+#define GNOME_IDLE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitorClass))
+
+typedef struct _GnomeIdleMonitor GnomeIdleMonitor;
+typedef struct _GnomeIdleMonitorClass GnomeIdleMonitorClass;
+typedef struct _GnomeIdleMonitorPrivate GnomeIdleMonitorPrivate;
+
+struct _GnomeIdleMonitor
+{
+ GObject parent;
+ GnomeIdleMonitorPrivate *priv;
+};
+
+struct _GnomeIdleMonitorClass
+{
+ GObjectClass parent_class;
+};
+
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GnomeIdleMonitor, g_object_unref)
+
+typedef void (*GnomeIdleMonitorWatchFunc) (GnomeIdleMonitor *monitor,
+ guint id,
+ gpointer user_data);
+
+GType gnome_idle_monitor_get_type (void);
+
+GnomeIdleMonitor * gnome_idle_monitor_new (void);
+
+guint gnome_idle_monitor_add_idle_watch (GnomeIdleMonitor *monitor,
+ guint64 interval_msec,
+ GnomeIdleMonitorWatchFunc callback,
+ gpointer user_data,
+ GDestroyNotify notify);
+
+guint gnome_idle_monitor_add_user_active_watch (GnomeIdleMonitor *monitor,
+ GnomeIdleMonitorWatchFunc callback,
+ gpointer user_data,
+ GDestroyNotify notify);
+
+void gnome_idle_monitor_remove_watch (GnomeIdleMonitor *monitor,
+ guint id);
+
+guint64 gnome_idle_monitor_get_idletime (GnomeIdleMonitor *monitor);
+
+G_END_DECLS
+
+#endif /* __GNOME_IDLE_MONITOR_H__ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-systemd.c new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-systemd.c
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-systemd.c 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-systemd.c 2023-11-19 14:37:50.000000000 +0100
@@ -0,0 +1,270 @@
+/* gnome-systemd.c
+ *
+ * Copyright 2019 Benjamin Berg <bberg(a)redhat.com>
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * SPDX-License-Identifier: LGPL-3.0-or-later
+ */
+
+#include "config.h"
+
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include "gnome-systemd.h"
+
+#ifdef HAVE_SYSTEMD
+#include <errno.h>
+#include <systemd/sd-login.h>
+#endif
+
+#ifdef HAVE_SYSTEMD
+typedef struct {
+ char *name;
+ char *description;
+ gint32 pid;
+} StartSystemdScopeData;
+
+static void
+start_systemd_scope_data_free (StartSystemdScopeData *data)
+{
+ g_clear_pointer (&data->name, g_free);
+ g_clear_pointer (&data->description, g_free);
+ g_free (data);
+}
+
+static void
+on_start_transient_unit_cb (GObject *source,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ g_autoptr (GTask) task = G_TASK (user_data);
+ g_autoptr (GVariant) reply = NULL;
+ GError *error = NULL;
+ StartSystemdScopeData *task_data = g_task_get_task_data (task);
+
+ reply = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source),
+ res, &error);
+ if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ {
+ g_warning ("Could not create transient scope for PID %d: %s",
+ task_data->pid, error->message);
+ g_task_return_error (task, error);
+ return;
+ }
+
+ g_debug ("Created transient scope for PID %d", task_data->pid);
+
+ g_task_return_boolean (task, TRUE);
+}
+
+static void
+start_systemd_scope (GDBusConnection *connection, GTask *task)
+{
+ GVariantBuilder builder;
+ g_autofree char *unit_name = NULL;
+ StartSystemdScopeData *task_data = g_task_get_task_data (task);
+
+ g_assert (task_data != NULL);
+
+ /* This needs to be unique, hopefully the pid will be enough. */
+ unit_name = g_strdup_printf ("gnome-launched-%s-%d.scope", task_data->name, task_data->pid);
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("(ssa(sv)a(sa(sv)))"));
+ g_variant_builder_add (&builder, "s", unit_name);
+ g_variant_builder_add (&builder, "s", "fail");
+
+ /* Note that gnome-session ships a drop-in to control further defaults. */
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("a(sv)"));
+ if (task_data->description)
+ g_variant_builder_add (&builder,
+ "(sv)",
+ "Description",
+ g_variant_new_string (task_data->description));
+ g_variant_builder_add (&builder,
+ "(sv)",
+ "PIDs",
+ g_variant_new_fixed_array (G_VARIANT_TYPE_UINT32, &task_data->pid, 1, 4));
+ g_variant_builder_close (&builder);
+
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("a(sa(sv))"));
+ g_variant_builder_close (&builder);
+
+ g_dbus_connection_call (connection,
+ "org.freedesktop.systemd1",
+ "/org/freedesktop/systemd1",
+ "org.freedesktop.systemd1.Manager",
+ "StartTransientUnit",
+ g_variant_builder_end (&builder),
+ G_VARIANT_TYPE ("(o)"),
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+ 1000,
+ g_task_get_cancellable (task),
+ on_start_transient_unit_cb,
+ task);
+}
+
+static void
+on_bus_gotten_cb (GObject *source,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ g_autoptr(GTask) task = G_TASK (user_data);
+ g_autoptr(GDBusConnection) connection = NULL;
+ GError *error = NULL;
+
+ connection = g_bus_get_finish (res, &error);
+ if (error)
+ {
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ g_warning ("Could not get session bus: %s", error->message);
+
+ g_task_return_error (task, error);
+ return;
+ }
+
+ start_systemd_scope (connection, g_steal_pointer (&task));
+}
+#endif
+
+/**
+ * gnome_start_systemd_scope:
+ * @name: Name for the application
+ * @pid: The PID of the application
+ * @description: (nullable): A description to use for the unit, or %NULL
+ * @connection: (nullable): An #GDBusConnection to the session bus, or %NULL
+ * @cancellable: (nullable): #GCancellable to use
+ * @callback: (nullable): Callback to call when the operation is done
+ * @user_data: Data to be passed to @callback
+ *
+ * If the current process is running inside a user systemd instance, then move
+ * the launched PID into a transient scope. The given @name will be used to
+ * create a unit name. It should be the application ID for desktop files or
+ * the executable in all other cases.
+ *
+ * It is advisable to use this function every time where the started application
+ * can be considered reasonably independent of the launching application. Placing
+ * it in a scope creates proper separation between the programs rather than being
+ * considered a single entity by systemd.
+ *
+ * It is always safe to call this function. Note that a successful return code
+ * does not imply that a unit has been created. It solely means that no error
+ * condition was hit sending the request.
+ *
+ * If @connection is %NULL then g_dbus_get() will be called internally.
+ *
+ * Note that most callers will not need to handle errors. As such, it is normal
+ * to pass a %NULL @callback.
+ *
+ * Stability: unstable
+ */
+void
+gnome_start_systemd_scope (const char *name,
+ gint32 pid,
+ const char *description,
+ GDBusConnection *connection,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_autoptr(GTask) task = NULL;
+
+#ifdef HAVE_SYSTEMD
+ g_autofree char *own_unit = NULL;
+ const char *valid_chars =
+ "-._1234567890"
+ "abcdefghijklmnopqrstuvwxyz"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ StartSystemdScopeData *task_data;
+ gint res;
+
+ task = g_task_new (NULL, cancellable, callback, user_data);
+ task_data = g_new0 (StartSystemdScopeData, 1);
+
+ task_data->pid = pid;
+
+ /* Create a nice and (mangled) name to embed into the unit */
+ if (name == NULL)
+ name = "anonymous";
+
+ if (name[0] == '/')
+ name++;
+
+ task_data->name = g_str_to_ascii (name, "C");
+ g_strdelimit (task_data->name, "/", '-');
+ g_strcanon (task_data->name, valid_chars, '_');
+
+ task_data->description = g_strdup (description);
+ if (task_data->description == NULL)
+ {
+ const char *app_name = g_get_application_name();
+
+ if (app_name)
+ task_data->description = g_strdup_printf ("Application launched by %s",
+ app_name);
+ }
+
+ g_task_set_task_data (task, task_data, (GDestroyNotify) start_systemd_scope_data_free);
+
+ /* We cannot do anything if this process is not managed by the
+ * systemd user instance. */
+ res = sd_pid_get_user_unit (getpid (), &own_unit);
+ if (res == -ENODATA)
+ {
+ g_debug ("Not systemd managed, will not move PID %d into transient scope\n", pid);
+ g_task_return_boolean (task, TRUE);
+
+ return;
+ }
+ if (res < 0)
+ {
+ g_warning ("Error fetching user unit for own pid: %d\n", -res);
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ g_io_error_from_errno (-res),
+ "Error fetching user unit for own pid: %d", -res);
+
+ return;
+ }
+
+ if (connection == NULL)
+ g_bus_get (G_BUS_TYPE_SESSION, cancellable, on_bus_gotten_cb, g_steal_pointer (&task));
+ else
+ start_systemd_scope (connection, g_steal_pointer (&task));
+#else
+ g_debug ("Not creating transient scope for PID %d. Systemd support not compiled in.", pid);
+
+ task = g_task_new (NULL, cancellable, callback, user_data);
+ g_task_return_boolean (task, TRUE);
+#endif
+}
+
+/**
+ * gnome_start_systemd_scope_finish:
+ * @res: A #GAsyncResult
+ * @error: Return location for errors, or %NULL to ignore
+ *
+ * Finish an asynchronous operation to create a transient scope that was
+ * started with gnome_start_systemd_scope().
+ *
+ * Note that a successful return code does not imply that a unit has been
+ * created. It solely means that no error condition was hit sending the request.
+ *
+ * Returns: %FALSE on error, %TRUE otherwise
+ */
+gboolean
+gnome_start_systemd_scope_finish (GAsyncResult *res,
+ GError **error)
+{
+ return g_task_propagate_boolean (G_TASK (res), error);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-systemd.h new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-systemd.h
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/gnome-systemd.h 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/gnome-systemd.h 2023-11-19 14:37:50.000000000 +0100
@@ -0,0 +1,41 @@
+/* gnome-systemd.h
+ *
+ * Copyright 2019 Benjamin Berg <bberg(a)redhat.com>
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * SPDX-License-Identifier: LGPL-3.0-or-later
+ */
+
+#ifndef _GNOME_SYSTEMD_H
+#define _GNOME_SYSTEMD_H
+
+#ifndef GNOME_DESKTOP_USE_UNSTABLE_API
+#error GnomeDesktopSystemd is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-systemd.h
+#endif
+
+#include <gio/gio.h>
+
+void gnome_start_systemd_scope (const char *name,
+ gint32 pid,
+ const char *description,
+ GDBusConnection *connection,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+gboolean gnome_start_systemd_scope_finish (GAsyncResult *res,
+ GError **error);
+
+#endif /* _GNOME_SYSTEMD_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/idle-monitor.xml new/cinnamon-desktop-6.0.0/libcinnamon-desktop/idle-monitor.xml
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/idle-monitor.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/idle-monitor.xml 2023-11-19 14:37:50.000000000 +0100
@@ -0,0 +1,35 @@
+<!DOCTYPE node PUBLIC
+'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
+'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
+<node>
+ <!--
+ org.gnome.Mutter.IdleMonitor:
+ @short_description: idle monitor interface
+
+ This interface is used by gnome-desktop to implement
+ user activity monitoring.
+ -->
+
+ <interface name="org.gnome.Muffin.IdleMonitor">
+ <method name="GetIdletime">
+ <arg name="idletime" direction="out" type="t"/>
+ </method>
+
+ <method name="AddIdleWatch">
+ <arg name="interval" direction="in" type="t" />
+ <arg name="id" direction="out" type="u" />
+ </method>
+
+ <method name="AddUserActiveWatch">
+ <arg name="id" direction="out" type="u" />
+ </method>
+
+ <method name="RemoveWatch">
+ <arg name="id" direction="in" type="u" />
+ </method>
+
+ <signal name="WatchFired">
+ <arg name="id" direction="out" type="u" />
+ </signal>
+ </interface>
+</node>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/libcinnamon-desktop/meson.build new/cinnamon-desktop-6.0.0/libcinnamon-desktop/meson.build
--- old/cinnamon-desktop-5.8.0/libcinnamon-desktop/meson.build 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/libcinnamon-desktop/meson.build 2023-11-19 14:37:50.000000000 +0100
@@ -1,3 +1,10 @@
+dbus_idle_built_sources = gnome.gdbus_codegen('meta-dbus-idle-monitor',
+ 'idle-monitor.xml',
+ namespace: 'MetaDBus',
+ interface_prefix: 'org.gnome.Muffin',
+ object_manager: true
+)
+
libcinnamon_desktop_gir_sources = [
'display-name.c',
'edid-parse.c',
@@ -5,12 +12,14 @@
'gnome-bg.c',
'gnome-desktop-thumbnail.c',
'gnome-desktop-utils.c',
+ 'gnome-idle-monitor.c',
'gnome-installer.c',
'gnome-pnp-ids.c',
'gnome-rr-config.c',
'gnome-rr-labeler.c',
'gnome-rr-output-info.c',
'gnome-rr.c',
+ 'gnome-systemd.c',
'gnome-thumbnail-pixbuf-utils.c',
'gnome-wall-clock.c',
'gnome-xkb-info.c',
@@ -37,17 +46,19 @@
'gnome-bg.h',
'gnome-desktop-thumbnail.h',
'gnome-desktop-utils.h',
+ 'gnome-idle-monitor.h',
'gnome-installer.h',
'gnome-pnp-ids.h',
'gnome-rr-config.h',
'gnome-rr-labeler.h',
'gnome-rr.h',
+ 'gnome-systemd.h',
'gnome-wall-clock.h',
'gnome-xkb-info.h',
]
libcinnamon_desktop = shared_library('cinnamon-desktop',
- libcinnamon_desktop_sources,
+ [libcinnamon_desktop_sources, dbus_idle_built_sources],
include_directories: [ rootInclude ],
c_args: [
'-DG_LOG_DOMAIN="CinnamonDesktop"',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/meson.build new/cinnamon-desktop-6.0.0/meson.build
--- old/cinnamon-desktop-5.8.0/meson.build 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/meson.build 2023-11-19 14:37:50.000000000 +0100
@@ -1,8 +1,8 @@
# Meson build file
# https://github.com/linuxmint/cinnamon-desktop
-project('cinnamon-desktop', 'c', version: '5.8.0',
- meson_version: '>=0.50.0'
+project('cinnamon-desktop', 'c', version: '6.0.0',
+ meson_version: '>=0.56.0'
)
# Before making a release, the LT_VERSION string should be modified.
@@ -35,6 +35,7 @@
gio = dependency('gio-2.0', version: '>=2.37.3')
glib = dependency('glib-2.0', version: '>=2.37.3')
gtk = dependency('gtk+-3.0', version: '>=3.3.16')
+systemd = dependency('libsystemd', required: get_option('systemd'))
x11 = dependency('x11')
xext = dependency('xext', version: '>=1.1')
@@ -48,6 +49,7 @@
glib,
gtk,
math,
+ systemd,
x11,
xext,
xkbconf,
@@ -57,7 +59,7 @@
use_alsa = get_option('alsa')
-xkb_base = xkbconf.get_pkgconfig_variable('xkb_base')
+xkb_base = xkbconf.get_variable(pkgconfig: 'xkb_base')
# Path to the pnp.ids file -- to know if we use one shipped with another
# package, or an internal file
@@ -96,6 +98,7 @@
conf.set('HAVE_ALSA', use_alsa)
conf.set('HAVE_GETTEXT', true)
conf.set('HAVE_INTROSPECTION', true)
+conf.set('HAVE_SYSTEMD', systemd.found())
conf.set('HAVE_TIMERFD', timerfd_check)
################################################################################
@@ -129,11 +132,12 @@
' sysconfdir: ' + get_option('sysconfdir'),
' localstatedir: ' + get_option('localstatedir'),
' datadir: ' + get_option('datadir'),
- ' source code location: ' + meson.source_root(),
+ ' source code location: ' + meson.project_source_root(),
' compiler: ' + cc.get_id(),
' debugging support: ' + get_option('buildtype'),
' Use *_DISABLE_DEPRECATED: @0@'.format(get_option('deprecation_warnings')),
' Use PNP files: ' + pnp_message,
' Use ALSA: ' + '@0@'.format(use_alsa),
+ ' systemd: @0@'.format(systemd.found()),
'',
]))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/meson_options.txt new/cinnamon-desktop-6.0.0/meson_options.txt
--- old/cinnamon-desktop-5.8.0/meson_options.txt 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/meson_options.txt 2023-11-19 14:37:50.000000000 +0100
@@ -4,3 +4,6 @@
description: 'Specify the path to pnp.ids (default is an internal copy)')
option('alsa', type: 'boolean', value: false,
description: 'ALSA support')
+option('systemd',
+ type: 'feature', description: 'Systemd integration support'
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/schemas/org.cinnamon.desktop.a11y.keyboard.gschema.xml.in new/cinnamon-desktop-6.0.0/schemas/org.cinnamon.desktop.a11y.keyboard.gschema.xml.in
--- old/cinnamon-desktop-5.8.0/schemas/org.cinnamon.desktop.a11y.keyboard.gschema.xml.in 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/schemas/org.cinnamon.desktop.a11y.keyboard.gschema.xml.in 2023-11-19 14:37:50.000000000 +0100
@@ -118,5 +118,13 @@
<default>'/usr/share/cinnamon/sounds/togglekeys-sound-off.ogg'</default>
<summary>Sound to use when turning caps/num lock off</summary>
</key>
+ <key name="always-show-text-caret" type="b">
+ <default>false</default>
+ <summary>Always show the text caret</summary>
+ <description>
+ This key overrides the hiding of the text caret in noneditable
+ text in applications.
+ </description>
+ </key>
</schema>
</schemalist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/schemas/org.cinnamon.desktop.interface.gschema.xml.in new/cinnamon-desktop-6.0.0/schemas/org.cinnamon.desktop.interface.gschema.xml.in
--- old/cinnamon-desktop-5.8.0/schemas/org.cinnamon.desktop.interface.gschema.xml.in 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/schemas/org.cinnamon.desktop.interface.gschema.xml.in 2023-11-19 14:37:50.000000000 +0100
@@ -295,7 +295,7 @@
</key>
<key name="high-contrast" type="b">
<default>false</default>
- <summary>Use a high contrast icon and application theme.</summary>
+ <summary>not currently used</summary>
</key>
</schema>
</schemalist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-desktop-5.8.0/schemas/org.cinnamon.desktop.notifications.gschema.xml.in new/cinnamon-desktop-6.0.0/schemas/org.cinnamon.desktop.notifications.gschema.xml.in
--- old/cinnamon-desktop-5.8.0/schemas/org.cinnamon.desktop.notifications.gschema.xml.in 2023-06-01 14:56:48.000000000 +0200
+++ new/cinnamon-desktop-6.0.0/schemas/org.cinnamon.desktop.notifications.gschema.xml.in 2023-11-19 14:37:50.000000000 +0100
@@ -6,13 +6,11 @@
<summary>Notifications fade out</summary>
<description>Set this to TRUE to allow notifications to fade under the mouse.</description>
</key>
-
<key type="b" name="remove-old">
<default>false</default>
<summary>Remove old notifications</summary>
<description>Check this to automatically remove old notifications.</description>
</key>
-
<key type="i" name="timeout">
<default>1800</default>
<summary>Notification timeout</summary>
@@ -32,10 +30,35 @@
<default>false</default>
<summary>Whether notifications are displayed on the bottom side of the screen</summary>
</key>
+ <key name="notification-screen-display"
+ enum="org.cinnamon.desktop.CDesktopNotificationScreenDisplay">
+ <default>'primary-screen'</default>
+ <summary>Define which screen(s) to use for displaying notifications</summary>
+ <description>
+ This option provides control over how newly created notifications are displayed.
+ It has three possible values: "primary-screen" which shows notifications only on
+ the primary display, "active-screen" which shows subsequent notifications only on
+ the display where the mouse is located, and "fixed-screen" which shows
+ notifications on a fixed display number if it exists and the primary display if
+ it does not exist.
+ </description>
+ </key>
+ <key type="i" name="notification-fixed-screen">
+ <default>1</default>
+ <summary>Fixed screen number for displaying notifications</summary>
+ <description>
+ The fixed display number to use for displaying notifications if it exists,
+ where the primary display is last. If the fixed screen number does
+ not exist, the primary display is used instead.
+ </description>
+ </key>
<key type="i" name="notification-duration">
<default>4</default>
<summary>How long notifications are displayed before disappearing</summary>
</key>
+ <key type="b" name="fullscreen-notifications">
+ <default>false</default>
+ <summary>Whether notifications are displayed over fullscreen windows</summary>
+ </key>
</schema>
</schemalist>
-
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon-screensaver for openSUSE:Factory checked in at 2023-12-03 20:48:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-screensaver (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-screensaver.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-screensaver"
Sun Dec 3 20:48:37 2023 rev:27 rq:1128874 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-screensaver/cinnamon-screensaver.changes 2023-06-11 19:57:27.987950728 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon-screensaver.new.25432/cinnamon-screensaver.changes 2023-12-03 20:48:57.606099630 +0100
@@ -1,0 +2,12 @@
+Sat Nov 25 19:11:28 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * Don't use libaccountsservice, which can block startup.
+ * Update issue templates.
+ * Fix meson.build deprecations up to 0.56.0
+ * Disable screensaver in wayland sessions
+ * muffinClient.py: Fix typo and clean up Python
+ * cinnamon-screensaver-command: Only try an action if the proxy
+ activation was successful.
+
+-------------------------------------------------------------------
Old:
----
cinnamon-screensaver-5.8.0.tar.gz
New:
----
cinnamon-screensaver-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-screensaver.spec ++++++
--- /var/tmp/diff_new_pack.9TwkDl/_old 2023-12-03 20:48:58.202121517 +0100
+++ /var/tmp/diff_new_pack.9TwkDl/_new 2023-12-03 20:48:58.206121665 +0100
@@ -17,7 +17,7 @@
Name: cinnamon-screensaver
-Version: 5.8.0
+Version: 6.0.0
Release: 0
Summary: Cinnamon screensaver and locker
License: GPL-2.0-or-later
++++++ cinnamon-screensaver-5.8.0.tar.gz -> cinnamon-screensaver-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/.github/ISSUE_TEMPLATE/bug_report.yaml new/cinnamon-screensaver-6.0.0/.github/ISSUE_TEMPLATE/bug_report.yaml
--- old/cinnamon-screensaver-5.8.0/.github/ISSUE_TEMPLATE/bug_report.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-screensaver-6.0.0/.github/ISSUE_TEMPLATE/bug_report.yaml 2023-11-19 14:43:43.000000000 +0100
@@ -0,0 +1,90 @@
+name: Bug Report
+description: File a bug report
+body:
+ - type: markdown
+ attributes:
+ value: |
+ ### STOP! Before continuing:
+ - Please try searching for any existing report that may match the behavior you're seeing. *If you find one, add to that issue, instead of opening a new one*. Include any relevant details that may differ from the original author's.
+ - Check your logs - there may be some obvious cause for your trouble - in Linux Mint you can check ~/.xsession-errors (a hidden file in your Home folder).
+ - Run cinnamon-screensaver from a terminal to see if any errors or warnings are printed while reproducing the issue: `cinnamon-screensaver --debug --hold`
+ - If this is a *crash*, provide information about it if possible (CoreDump file, stack trace, etc...). In Linux Mint you can check the System Reports program. Entries may show as 'backup-locker' as well.
+ ---
+
+ Thank you for taking the time to report this issue. To allow us to work as efficiently as possible at resolving this, we need some information from you.
+
+ - type: input
+ id: distro
+ attributes:
+ label: Distribution
+ description: Which Linux distribution are you using? Please be as specific as possible.
+ placeholder: "example: Mint 21.1"
+ validations:
+ required: true
+
+ - type: input
+ id: pkgver
+ attributes:
+ label: Package version
+ description: Please provide the cinnamon-screensaver version. You can get this by running `cinnamon-screensaver --version` in a terminal.
+ placeholder: "example: 5.8.0"
+ validations:
+ required: true
+
+ - type: input
+ id: graphics
+ attributes:
+ label: Graphics hardware in use
+ description: Please provide information about your graphics hardware, if known. If you are using a dual-gpu system please specify that also.
+ placeholder: "example: NVIDIA GeForce GTX 1660 TI"
+ validations:
+ required: false
+
+ - type: dropdown
+ id: frequency
+ attributes:
+ label: Frequency
+ description: How often does this behavior occur?
+ options:
+ - Always
+ - Quite often
+ - Only occasionally
+ validations:
+ required: true
+
+ - type: textarea
+ id: current-behavior
+ attributes:
+ label: Bug description
+ description: Please describe what is happening
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to reproduce
+ description: Please try to provide **detailed** steps on the most direct way to reproduce this issue. The chances of a bug being fixed go up **considerably** if we are able to duplicate the behavior ourselves.
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected-behavior
+ attributes:
+ label: Expected behavior
+ description: Describe what you think should happen instead of the current behavior.
+ validations:
+ required: true
+
+ - type: textarea
+ id: more-info
+ attributes:
+ label: Additional information
+ description: You can add any other information you think may be relevant.
+ validations:
+ required: false
+
+ - type: markdown
+ attributes:
+ value: |
+ #### By submitting this report you agree to behave respectfully and in a mature manner. If in doubt, refer to the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule) and [Github's Community Guidelines](https://docs.github.com/en/site-policy/github-terms/github-comm….
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/.github/ISSUE_TEMPLATE/feature_request.md new/cinnamon-screensaver-6.0.0/.github/ISSUE_TEMPLATE/feature_request.md
--- old/cinnamon-screensaver-5.8.0/.github/ISSUE_TEMPLATE/feature_request.md 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-screensaver-6.0.0/.github/ISSUE_TEMPLATE/feature_request.md 2023-11-19 14:43:43.000000000 +0100
@@ -0,0 +1,12 @@
+---
+name: Feature request (OBSOLETE)
+about: Feature requests are no longer accepted here, please use https://github.com/orgs/linuxmint/discussions instead.
+title: ""
+labels: ["FEATURE REQUEST"]
+assignees: ''
+
+---
+
+Please use:
+
+https://github.com/orgs/linuxmint/discussions
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/.github/ISSUE_TEMPLATE.md new/cinnamon-screensaver-6.0.0/.github/ISSUE_TEMPLATE.md
--- old/cinnamon-screensaver-5.8.0/.github/ISSUE_TEMPLATE.md 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/.github/ISSUE_TEMPLATE.md 1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-
-```
- * Cinnamon-Screensaver version (cinnamon-screensaver --version)
- * Distribution - (Mint 17.2, Arch, Fedora 25, etc...)
- * Graphics hardware *and* driver used
- * 32 or 64 bit
- ```
-
-**Issue**
-
-
-
-**Steps to reproduce**
-
-
-
-**Expected behaviour**
-
-
-
-**Other information**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/debian/changelog new/cinnamon-screensaver-6.0.0/debian/changelog
--- old/cinnamon-screensaver-5.8.0/debian/changelog 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/debian/changelog 2023-11-19 14:43:43.000000000 +0100
@@ -1,3 +1,28 @@
+cinnamon-screensaver (6.0.0) virginia; urgency=medium
+
+ [ Michael Webster ]
+ * Don't use libaccountsservice, which can block startup.
+ * Update issue templates.
+
+ [ Rick Calixte ]
+ * Fix meson.build deprecations up to 0.56.0 (#444)
+
+ [ Michael Webster ]
+ * Disable screensaver in wayland sessions
+ * debian/control: Remove unused build dep librsvg.
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Sun, 19 Nov 2023 13:42:28 +0000
+
+cinnamon-screensaver (5.8.1) victoria; urgency=medium
+
+ [ Rick Calixte ]
+ * muffinClient.py: Fix typo and clean up Python (#435)
+
+ [ Michael Webster ]
+ * cinnamon-screensaver-command: Only try an action if the proxy activation was successful.
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Fri, 07 Jul 2023 15:17:46 +0200
+
cinnamon-screensaver (5.8.0) victoria; urgency=medium
[ IMarvinTPA ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/debian/control new/cinnamon-screensaver-6.0.0/debian/control
--- old/cinnamon-screensaver-5.8.0/debian/control 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/debian/control 2023-11-19 14:43:43.000000000 +0100
@@ -13,7 +13,6 @@
libglib2.0-dev (>= 2.37.3),
libgtk-3-dev (>= 3.22),
libpam0g-dev,
- librsvg2-bin,
libxdo-dev,
libxext-dev,
meson (>= 0.40.0),
@@ -25,7 +24,6 @@
Pre-Depends: ${misc:Pre-Depends}
Depends:
cinnamon-desktop-data (>= 3.5),
- gir1.2-accountsservice-1.0,
gir1.2-cinnamondesktop-3.0 (>= 4.8),
gir1.2-gkbd-3.0,
gir1.2-glib-2.0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/libcscreensaver/meson.build new/cinnamon-screensaver-6.0.0/libcscreensaver/meson.build
--- old/cinnamon-screensaver-5.8.0/libcscreensaver/meson.build 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/libcscreensaver/meson.build 2023-11-19 14:43:43.000000000 +0100
@@ -87,6 +87,20 @@
],
'org.cinnamon.Muffin.DisplayConfig'
],
+ [
+ 'cs-accounts-service-proxy',
+ [
+ ['org.freedesktop.Accounts', 'org.gtk.GDBus.C.Name', 'AccountsService']
+ ],
+ 'org.freedesktop.Accounts'
+ ],
+ [
+ 'cs-accounts-user-proxy',
+ [
+ ['org.freedesktop.Accounts.User', 'org.gtk.GDBus.C.Name', 'AccountsUser']
+ ],
+ 'org.freedesktop.Accounts.User'
+ ],
]
dbus_built = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/libcscreensaver/org.freedesktop.Accounts.User.xml new/cinnamon-screensaver-6.0.0/libcscreensaver/org.freedesktop.Accounts.User.xml
--- old/cinnamon-screensaver-5.8.0/libcscreensaver/org.freedesktop.Accounts.User.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-screensaver-6.0.0/libcscreensaver/org.freedesktop.Accounts.User.xml 2023-11-19 14:43:43.000000000 +0100
@@ -0,0 +1,38 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" >
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.freedesktop.Accounts.User">
+
+ <property name="RealName" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The users real name.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="IconFile" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The filename of a png file containing the users icon.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="HomeDirectory" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The users home directory.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ </interface>
+</node>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/libcscreensaver/org.freedesktop.Accounts.xml new/cinnamon-screensaver-6.0.0/libcscreensaver/org.freedesktop.Accounts.xml
--- old/cinnamon-screensaver-5.8.0/libcscreensaver/org.freedesktop.Accounts.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/cinnamon-screensaver-6.0.0/libcscreensaver/org.freedesktop.Accounts.xml 2023-11-19 14:43:43.000000000 +0100
@@ -0,0 +1,31 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" >
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.freedesktop.Accounts">
+
+ <!-- ************************************************************ -->
+
+ <method name="FindUserByName">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="name" direction="in" type="s">
+ <doc:doc><doc:summary>The username to look up</doc:summary></doc:doc>
+ </arg>
+ <arg name="user" direction="out" type="o">
+ <doc:doc><doc:summary>Object path of user</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Finds a user by its username.
+ </doc:para>
+ </doc:description>
+ <doc:errors>
+ <doc:error name="org.freedesktop.Accounts.Error.Failed">if no user with the given username exists</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ </interface>
+</node>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/meson.build new/cinnamon-screensaver-6.0.0/meson.build
--- old/cinnamon-screensaver-5.8.0/meson.build 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/meson.build 2023-11-19 14:43:43.000000000 +0100
@@ -1,4 +1,4 @@
-project('cinnamon-screensaver', 'c', version: '5.8.0', meson_version: '>=0.46.0')
+project('cinnamon-screensaver', 'c', version: '6.0.0', meson_version: '>=0.56.0')
cc = meson.get_compiler('c')
@@ -50,7 +50,7 @@
xdo = cc.find_library('xdo')
endif
-dbus_services_dir = dependency('dbus-1').get_pkgconfig_variable('session_bus_services_dir', define_variable: ['datadir', datadir])
+dbus_services_dir = dependency('dbus-1').get_variable(pkgconfig: 'session_bus_services_dir', pkgconfig_define: ['datadir', datadir])
# check for symbols and headers
foreach header : [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/src/cinnamon-screensaver-command.py new/cinnamon-screensaver-6.0.0/src/cinnamon-screensaver-command.py
--- old/cinnamon-screensaver-5.8.0/src/cinnamon-screensaver-command.py 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/src/cinnamon-screensaver-command.py 2023-11-19 14:43:43.000000000 +0100
@@ -4,6 +4,8 @@
gi.require_version('CScreensaver', '1.0')
from gi.repository import GLib, CScreensaver, Gio
+import os
+import sys
import signal
import argparse
import gettext
@@ -91,12 +93,11 @@
def _on_proxy_ready(self, object, result, data=None):
try:
self.proxy = CScreensaver.ScreenSaverProxy.new_for_bus_finish(result)
- except:
- print("Can't connect to screensaver!")
+ self.perform_action()
+ except GLib.Error as e:
+ print("Can't connect to screensaver: %d - %s" % (e.code, e.message))
self.mainloop.quit()
- self.perform_action()
-
def perform_action(self):
if self.action_id == Action.EXIT:
self.proxy.call_quit_sync()
@@ -121,6 +122,12 @@
self.mainloop.quit()
if __name__ == "__main__":
+ try:
+ if os.environ["WAYLAND_DISPLAY"]:
+ print("Cinnamon Screensaver is unavailable on Wayland.")
+ sys.exit(0)
+ except KeyError:
+ pass
ml = GLib.MainLoop.new(None, True)
main = ScreensaverCommand(ml)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/src/cinnamon-screensaver-main.py new/cinnamon-screensaver-6.0.0/src/cinnamon-screensaver-main.py
--- old/cinnamon-screensaver-5.8.0/src/cinnamon-screensaver-main.py 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/src/cinnamon-screensaver-main.py 2023-11-19 14:43:43.000000000 +0100
@@ -12,6 +12,16 @@
import argparse
import os
import setproctitle
+import sys
+
+# Do this before importing ScreensaverService as that triggers all of the dbus services
+# including the XAppKbdLayoutController which is x11 only.
+try:
+ if os.environ["WAYLAND_DISPLAY"]:
+ print("Cinnamon Screensaver is unavailable on Wayland.")
+ sys.exit(0)
+except KeyError:
+ pass
import config
import status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/src/dbusdepot/accountsServiceClient.py new/cinnamon-screensaver-6.0.0/src/dbusdepot/accountsServiceClient.py
--- old/cinnamon-screensaver-5.8.0/src/dbusdepot/accountsServiceClient.py 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/src/dbusdepot/accountsServiceClient.py 2023-11-19 14:43:43.000000000 +0100
@@ -1,9 +1,9 @@
#!/usr/bin/python3
import gi
-gi.require_version('AccountsService', '1.0')
-from gi.repository import GObject, AccountsService
+from gi.repository import GObject, CScreensaver, Gio, GLib
import os
+import time
from util import utils, trackers
@@ -12,41 +12,74 @@
Singleton for working with the AccountsService, which we use
to retrieve the user's face image and their real name.
"""
+ ACCOUNTS_SERVICE = "org.freedesktop.Accounts"
+ ACCOUNTS_PATH = "/org/freedesktop/Accounts"
+
__gsignals__ = {
- 'account-loaded': (GObject.SignalFlags.RUN_LAST, None, ()),
+ 'accounts-ready': (GObject.SignalFlags.RUN_LAST, None, ()),
}
def __init__(self):
super(AccountsServiceClient, self).__init__()
- self.is_loaded = False
+ self.accounts = None
+ self.user = None
+
+ print("Loading AccountsService")
- self.service = AccountsService.UserManager.get_default().get_user(utils.get_user_name())
- trackers.con_tracker_get().connect(self.service,
- "notify::is-loaded",
- self.on_accounts_service_loaded)
-
- def on_accounts_service_loaded(self, service, param):
- trackers.con_tracker_get().disconnect(self.service,
- "notify::is-loaded",
- self.on_accounts_service_loaded)
+ CScreensaver.AccountsServiceProxy.new_for_bus(Gio.BusType.SYSTEM,
+ Gio.DBusProxyFlags.DO_NOT_AUTO_START,
+ self.ACCOUNTS_SERVICE,
+ self.ACCOUNTS_PATH,
+ None,
+ self.on_accounts_connected)
+
+ def on_accounts_connected(self, source, res):
+ try:
+ self.accounts = CScreensaver.AccountsServiceProxy.new_for_bus_finish(res)
+ except GLib.Error as e:
+ print(f"Could not connect to AccountsService: {e}", flush=True)
+ return
+
+ self.accounts.call_find_user_by_name(utils.get_user_name(), None, self.got_user_proxy)
+
+ def got_user_proxy(self, source, res):
+ try:
+ proxy_path = self.accounts.call_find_user_by_name_finish(res)
+ except GLib.Error as e:
+ print(f"Could not get AccountsService User object path: {e}", flush=True)
+ return
+
+ CScreensaver.AccountsUserProxy.new_for_bus(Gio.BusType.SYSTEM,
+ Gio.DBusProxyFlags.NONE,
+ self.ACCOUNTS_SERVICE,
+ proxy_path,
+ None,
+ self.on_user_loaded)
+
+ def on_user_loaded(self, source, res):
+ try:
+ self.user = CScreensaver.AccountsUserProxy.new_for_bus_finish(res)
+ except GLib.Error as e:
+ print(f"Could not create AccountsService.User: {e}", flush=True)
- self.is_loaded = True
- self.emit("account-loaded")
+ print("AccountsService ready")
+ self.emit("accounts-ready")
def get_real_name(self):
- return self.service.get_real_name()
+ if self.user is not None:
+ return self.user.get_property("real-name")
+
+ return None
def get_face_path(self):
- face_path = None
- home_path = self.service.get_home_dir()
- if home_path is None:
- home_path = os.path.expanduser('~')
-
- for path in [os.path.join(home_path, ".face"),
- self.service.get_icon_file()]:
- if os.path.exists(path):
- face_path = path
- break
+ face = os.path.join(GLib.get_home_dir(), ".face")
+ if os.path.exists(face):
+ return face
+
+ if self.user is not None:
+ accounts_path = self.user.get_property("icon-file")
+ if os.path.exists(accounts_path):
+ return accounts_path
- return face_path
+ return None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/src/dbusdepot/muffinClient.py new/cinnamon-screensaver-6.0.0/src/dbusdepot/muffinClient.py
--- old/cinnamon-screensaver-5.8.0/src/dbusdepot/muffinClient.py 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/src/dbusdepot/muffinClient.py 2023-11-19 14:43:43.000000000 +0100
@@ -1,9 +1,9 @@
#!/usr/bin/python3
+import gi
+gi.require_version('CScreensaver', '1.0')
from gi.repository import GLib, Gio, GObject, CScreensaver
-import status
-
# TODO
# self.monitors, etc.. replace or at least prefer this over CsScreen, as it will be more accurate.
# Nothing currently listens to muffin-config-changed. This class is only used to initialize the event filters.
@@ -34,7 +34,7 @@
self.proxy.connect("notify::g-name-owner", self.on_name_owner_changed)
self.update()
except GLib.Error as e:
- print("Could not connect to Muffin's DisplayConfig service", flush=True)
+ print(f"Could not connect to Muffin's DisplayConfig service: {e}", flush=True)
def on_monitors_changed(self, proxy):
self.update()
@@ -51,13 +51,13 @@
old_scaling = self.using_fractional_scaling
if self.proxy.get_name_owner() is None:
- print("Muffin not running, skipping fractinal scaling check.")
+ print("Muffin not running, skipping fractional scaling check.")
return False
try:
- serial, monitors, logical_monitors, properties = self.proxy.call_get_current_state_sync(None)
+ logical_monitors = self.proxy.call_get_current_state_sync(None)[2]
except GLib.Error as e:
- print("Could not read current state from Muffin: %s" % e.message, flush=True)
+ print(f"Could not read current state from Muffin: {e}", flush=True)
self.using_fractional_scaling = False
return self.using_fractional_scaling != old_scaling
@@ -65,7 +65,7 @@
previous_scale = -1
for monitor in logical_monitors.unpack():
- x, y, scale, transform, primary, monitors, properties = monitor
+ scale = monitor[2]
# one or more monitors using some non-integer scale.
if int(scale) != scale:
@@ -80,7 +80,7 @@
previous_scale = scale
self.using_fractional_scaling = fractional
- print("Fractional scaling active: %r" % self.using_fractional_scaling, flush=True)
+ print(f"Fractional scaling active: {self.using_fractional_scaling}", flush=True)
return self.using_fractional_scaling != old_scaling
def get_using_fractional_scaling(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-5.8.0/src/unlock.py new/cinnamon-screensaver-6.0.0/src/unlock.py
--- old/cinnamon-screensaver-5.8.0/src/unlock.py 2023-06-01 15:08:05.000000000 +0200
+++ new/cinnamon-screensaver-6.0.0/src/unlock.py 2023-11-19 14:43:43.000000000 +0100
@@ -134,12 +134,11 @@
self.update_realname_label()
self.account_client = singletons.AccountsServiceClient
- if self.account_client.is_loaded:
- self.set_user_details()
- else:
- trackers.con_tracker_get().connect(self.account_client,
- "account-loaded",
- self.on_account_client_loaded)
+
+ self.set_user_details()
+ trackers.con_tracker_get().connect(self.account_client,
+ "accounts-ready",
+ self.on_accounts_ready)
self.keymap = Gdk.Keymap.get_default()
@@ -251,13 +250,13 @@
else:
self.capslock_label.set_text("")
- def on_account_client_loaded(self, client):
+ def on_accounts_ready(self, client):
"""
Handler for the AccountsService - requests the user real name and .face image.
"""
trackers.con_tracker_get().disconnect(self.account_client,
- "account-loaded",
- self.on_account_client_loaded)
+ "accounts-ready",
+ self.on_accounts_ready)
self.set_user_details()
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon-control-center for openSUSE:Factory checked in at 2023-12-03 20:48:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-control-center (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-control-center.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-control-center"
Sun Dec 3 20:48:37 2023 rev:29 rq:1128873 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-control-center/cinnamon-control-center.changes 2023-06-04 00:12:57.269660254 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon-control-center.new.25432/cinnamon-control-center.changes 2023-12-03 20:48:55.802033379 +0100
@@ -1,0 +2,16 @@
+Sat Nov 25 18:56:25 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * display: Increase the number of available fractional scale
+ buttons to allow 75 - 200
+ * Fix meson.build deprecations up to 0.56.0
+ * wacom: Add "disabled" to stylus button actions.
+ * display: Add wayland compatibility
+ * display module: Fix color selection for monitor labels.
+ * display module: Fix some memory leaks.
+ * l10n: Update files
+ * Mark fractional scaling settings key obsolete.
+ * Delete cs-online-accounts icons.
+ * l10n: Generate additional files
+
+-------------------------------------------------------------------
Old:
----
cinnamon-control-center-5.8.0.tar.gz
New:
----
cinnamon-control-center-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-control-center.spec ++++++
--- /var/tmp/diff_new_pack.Rkdy7o/_old 2023-12-03 20:48:56.462057617 +0100
+++ /var/tmp/diff_new_pack.Rkdy7o/_new 2023-12-03 20:48:56.466057764 +0100
@@ -19,7 +19,7 @@
%define soname libcinnamon-control-center
%define sover 1
Name: cinnamon-control-center
-Version: 5.8.0
+Version: 6.0.0
Release: 0
Summary: Utilities to configure the Cinnamon desktop
License: GPL-2.0-only AND GPL-3.0-or-later AND MIT
++++++ cinnamon-control-center-5.8.0.tar.gz -> cinnamon-control-center-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/debian/changelog new/cinnamon-control-center-6.0.0/debian/changelog
--- old/cinnamon-control-center-5.8.0/debian/changelog 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/debian/changelog 2023-11-19 14:39:53.000000000 +0100
@@ -1,3 +1,38 @@
+cinnamon-control-center (6.0.0) virginia; urgency=medium
+
+ [ Michael Webster ]
+ * display: Increase the number of available fractional scale buttons to allow 75 - 200
+
+ [ Rick Calixte ]
+ * Fix meson.build deprecations up to 0.56.0 (#318)
+
+ [ Michael Webster ]
+ * wacom: Add "disabled" to stylus button actions.
+ * display: Add wayland compatibility
+ * display module: Fix color selection for monitor labels.
+ * display module: Fix some memory leaks.
+
+ [ Clement Lefebvre ]
+ * l10n: Update files
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Sun, 19 Nov 2023 13:39:32 +0000
+
+cinnamon-control-center (5.8.2) victoria; urgency=medium
+
+ [ Michael Webster ]
+ * Mark fractional scaling settings key obsolete.
+
+ [ fredcw ]
+ * Delete cs-online-accounts icons. (#315)
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Fri, 07 Jul 2023 15:18:44 +0200
+
+cinnamon-control-center (5.8.1) victoria; urgency=medium
+
+ * l10n: Generate additional files
+
+ -- Clement Lefebvre <root(a)linuxmint.com> Thu, 08 Jun 2023 12:59:42 +0100
+
cinnamon-control-center (5.8.0) victoria; urgency=medium
[ Oliver Kästner ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/meson.build new/cinnamon-control-center-6.0.0/meson.build
--- old/cinnamon-control-center-5.8.0/meson.build 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/meson.build 2023-11-19 14:39:53.000000000 +0100
@@ -1,6 +1,6 @@
project('cinnamon-control-center', 'c',
- version: '5.8.0',
- meson_version: '>=0.49.0',
+ version: '6.0.0',
+ meson_version: '>=0.56.0',
)
i18n = import('i18n')
@@ -46,7 +46,7 @@
# This is a hard-dependency for the region and user-accounts panels
isocodes = dependency('iso-codes')
-config.set_quoted('ISO_CODES_PREFIX', isocodes.get_pkgconfig_variable('prefix'))
+config.set_quoted('ISO_CODES_PREFIX', isocodes.get_variable(pkgconfig: 'prefix'))
###############################################################################
# Network Manager stuff
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/color/cinnamon-color-panel.desktop new/cinnamon-control-center-6.0.0/panels/color/cinnamon-color-panel.desktop
--- old/cinnamon-control-center-5.8.0/panels/color/cinnamon-color-panel.desktop 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/color/cinnamon-color-panel.desktop 2023-11-19 14:39:53.000000000 +0100
@@ -40,6 +40,7 @@
Name[is]=Litur
Name[it]=Colore
Name[ja]=色
+Name[ka]=ფერი
Name[kab]=Ini
Name[kk]=Түс
Name[km]=ពណ៌
@@ -58,6 +59,7 @@
Name[pt_BR]=Cor
Name[ro]=Culoare
Name[ru]=Цвет
+Name[rue]=Цвіт
Name[sc]=Colores
Name[sk]=Farba
Name[sl]=Barva
@@ -157,19 +159,29 @@
Keywords[da]=Farve;ICC;Profil;Kalibrere;Printer;Skærm;
Keywords[de]=Color;ICC;Profile;Calibrate;Printer;Display;Farbe;Kalibrieren;Drucker;Bildschirm;Anzeige;
Keywords[el]=Χρώμα;ICC;Προφίλ;Βαθμονόμηση;Εκτυπωτής;Οθόνη;
+Keywords[en_GB]=Colour;ICC;Profile;Calibrate;Printer;Display;
Keywords[es]=Color;ICC;Perfil;Calibrar;Impresora;Pantalla;
+Keywords[et]=Värv;ICC;profiil;kalibreerimine;printer;ekraan;
Keywords[eu]=Kolorea;ICC;Profila;Kalibratu;Inprimagailua;Pantaila;
Keywords[fi]=Väri;ICC;Profiili;Kalibrointi;Tulostin;Näyttö;
Keywords[fr]=Couleur;ICC;Profil;Calibrer;Imprimante;Affichage;
Keywords[fr_CA]=Couleur;ICC;Profil;Calibrer;Imprimante;Affichage;
+Keywords[he]=צבע;ICC;פרופיל;כיול;מדפסת;תצוגה;
Keywords[hr]=Boja;ICC;Profil;Kalibracija;Pisač;Zaslon;
Keywords[hu]=Szín;ICC;Színek;Profilozás;Kalibrálás;Nyomtató;Kijelző;Color;Profile;Calibrate;Printer;Display;
+Keywords[is]=Litur;ICC;Litasnið;Kvarða;Prentari;Skjár;
Keywords[it]=Colore;ICC;Profilo;Calibrazione;Stampante;Schermo;
+Keywords[ko]=색상;ICC;프로필;보정;프린터;디스플레이;
Keywords[nl]=Kleur;ICC;Profiel;Calibreren;Printer;Beeldscherm;
+Keywords[oc]=Color;ICC;Perfil;Calibrar;Imprimenta;Afichatge;
Keywords[pl]=Kolor;ICC;Profil;Kalibracja;Drukarka;Wyświetlacz;
Keywords[pt]=Cor;ICC;Perfil;Calibrar;Impressora;Ecrã;
Keywords[pt_BR]=Cor;ICC;Perfil;Calibrar;Impressora;Exibir;
+Keywords[ro]=Culoare;ICC;Profil;Calibrare;Imprimantă;Afișare;
Keywords[ru]=Цвет;ICC;Профиль;Калибровать;Принтер;Экран;
+Keywords[rue]=Цвіт;ICC;Профіл;Мустровати;Прінтер;Екран;
+Keywords[sk]=Farba;ICC;Profil;Kalibrácia;Tlačiareň;Displej;
+Keywords[sl]=Barva;ICC;profil;kalibriraj;tiskalnik;zaslon;
Keywords[sv]=Färg;ICC;Profil;Kalibrera;Skrivare;Skärm;
Keywords[tr]=Renk;ICC;Profil;Kalibrasyon;Yazıcı;Görüntü;
Keywords[uk]=Колір;ICC;Профіль;Калібрування;Принтер;Дисплей;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/cc-display-arrangement.c new/cinnamon-control-center-6.0.0/panels/display/cc-display-arrangement.c
--- old/cinnamon-control-center-5.8.0/panels/display/cc-display-arrangement.c 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/cc-display-arrangement.c 2023-11-19 14:39:53.000000000 +0100
@@ -551,8 +551,8 @@
static gint
sort_outputs_by_disabled (gconstpointer a, gconstpointer b)
{
- CcDisplayMonitor *ma = CC_DISPLAY_MONITOR (a);
- CcDisplayMonitor *mb = CC_DISPLAY_MONITOR (b);
+ CcDisplayMonitor *ma = CC_DISPLAY_MONITOR ((gpointer) a);
+ CcDisplayMonitor *mb = CC_DISPLAY_MONITOR ((gpointer) b);
if (!cc_display_monitor_is_active (ma) && cc_display_monitor_is_active (mb))
return -1;
@@ -561,7 +561,7 @@
if (cc_display_monitor_is_active (ma) && !cc_display_monitor_is_active (mb))
return 1;
- return cc_display_monitor_get_ui_number (a) < cc_display_monitor_get_ui_number (b) ? -1 : 1;
+ return cc_display_monitor_get_ui_number ((gpointer) a) < cc_display_monitor_get_ui_number ((gpointer) b) ? -1 : 1;
}
static gboolean
@@ -626,9 +626,6 @@
if (cc_display_monitor_is_primary (output) || cc_display_config_is_cloning (self->config))
gtk_style_context_add_class (context, "primary");
- /* Set in cc-display-panel.c */
- num = cc_display_monitor_get_ui_number (output);
-
monitor_get_drawing_rect (self, output, &x1, &y1, &x2, &y2);
w = x2 - x1;
h = y2 - y1;
@@ -656,9 +653,11 @@
cairo_save (cr);
+ /* Set in cc-display-panel.c */
+ num = cc_display_monitor_get_ui_number (output) - 1; // ui_numbers start at 1, our color index is 0-based.
gchar *rgba_str;
- g_signal_emit_by_name (G_OBJECT (widget), "get-output-color", output, &rgba_str);
+ g_signal_emit_by_name (G_OBJECT (widget), "get-output-color", num, &rgba_str);
if (gdk_rgba_parse (&bg_rgba, rgba_str))
{
@@ -707,6 +706,7 @@
gtk_style_context_get (context, state, "font", &font, NULL);
layout = gtk_widget_create_pango_layout (GTK_WIDGET (self), number_str);
pango_layout_set_font_description (layout, font);
+ pango_font_description_free (font);
pango_layout_get_extents (layout, NULL, &extents);
h = (extents.height - extents.y) / PANGO_SCALE;
@@ -970,7 +970,7 @@
CC_TYPE_DISPLAY_ARRANGEMENT,
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
- G_TYPE_STRING, 1, CC_TYPE_DISPLAY_MONITOR);
+ G_TYPE_STRING, 1, G_TYPE_INT);
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/cc-display-labeler.c new/cinnamon-control-center-6.0.0/panels/display/cc-display-labeler.c
--- old/cinnamon-control-center-5.8.0/panels/display/cc-display-labeler.c 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/cc-display-labeler.c 2023-11-19 14:39:53.000000000 +0100
@@ -37,28 +37,32 @@
#include "cc-display-labeler.h"
-struct _CcDisplayLabelerPrivate {
+typedef struct {
CcDisplayConfig *config;
int num_outputs;
- GdkRGBA *palette;
GtkWidget **windows;
GdkScreen *screen;
Atom workarea_atom;
+} CcDisplayLabelerPrivate;
+
+struct _CcDisplayLabeler
+{
+ GObject parent;
+ CcDisplayLabelerPrivate *priv;
};
+G_DEFINE_TYPE_WITH_PRIVATE (CcDisplayLabeler, cc_display_labeler, G_TYPE_OBJECT)
+
enum {
PROP_0,
PROP_CONFIG,
PROP_LAST
};
-G_DEFINE_TYPE (CcDisplayLabeler, cc_display_labeler, G_TYPE_OBJECT);
-
static void cc_display_labeler_finalize (GObject *object);
-static void setup_from_config (CcDisplayLabeler *labeler);
static GdkFilterReturn
screen_xevent_filter (GdkXEvent *xevent,
@@ -86,14 +90,13 @@
{
GdkWindow *gdkwindow;
- labeler->priv = G_TYPE_INSTANCE_GET_PRIVATE (labeler, GNOME_TYPE_RR_LABELER, CcDisplayLabelerPrivate);
+ labeler->priv = cc_display_labeler_get_instance_private (labeler);
labeler->priv->workarea_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
"_NET_WORKAREA",
True);
labeler->priv->screen = gdk_screen_get_default ();
- /* code is not really designed to handle multiple screens so *shrug* */
gdkwindow = gdk_screen_get_root_window (labeler->priv->screen);
gdk_window_add_filter (gdkwindow, (GdkFilterFunc) screen_xevent_filter, labeler);
gdk_window_set_events (gdkwindow, gdk_window_get_events (gdkwindow) | GDK_PROPERTY_CHANGE_MASK);
@@ -113,28 +116,15 @@
}
}
-static GObject *
-cc_display_labeler_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
-{
- CcDisplayLabeler *self = (CcDisplayLabeler*) G_OBJECT_CLASS (cc_display_labeler_parent_class)->constructor (type, n_construct_properties, construct_properties);
-
- setup_from_config (self);
-
- return (GObject*) self;
-}
-
static void
cc_display_labeler_class_init (CcDisplayLabelerClass *klass)
{
GObjectClass *object_class;
- g_type_class_add_private (klass, sizeof (CcDisplayLabelerPrivate));
-
object_class = (GObjectClass *) klass;
object_class->set_property = cc_display_labeler_set_property;
object_class->finalize = cc_display_labeler_finalize;
- object_class->constructor = cc_display_labeler_constructor;
g_object_class_install_property (object_class, PROP_CONFIG, g_param_spec_object ("config",
"Configuration",
@@ -142,6 +132,11 @@
CC_TYPE_DISPLAY_CONFIG,
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ g_signal_new ("get-output-color",
+ CC_TYPE_DISPLAY_LABELER,
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_STRING, 1, G_TYPE_INT);
}
static void
@@ -152,8 +147,8 @@
labeler = CC_DISPLAY_LABELER (object);
- gdkwindow = gdk_screen_get_root_window (labeler->priv->screen);
- gdk_window_remove_filter (gdkwindow, (GdkFilterFunc) screen_xevent_filter, labeler);
+ gdkwindow = gdk_screen_get_root_window (labeler->priv->screen);
+ gdk_window_remove_filter (gdkwindow, (GdkFilterFunc) screen_xevent_filter, labeler);
if (labeler->priv->config != NULL) {
g_object_unref (labeler->priv->config);
@@ -164,8 +159,6 @@
g_free (labeler->priv->windows);
}
- g_free (labeler->priv->palette);
-
G_OBJECT_CLASS (cc_display_labeler_parent_class)->finalize (object);
}
@@ -181,41 +174,6 @@
}
static void
-make_palette (CcDisplayLabeler *labeler)
-{
- /* The idea is that we go around an hue color wheel. We want to start
- * at red, go around to green/etc. and stop at blue.
- *
- */
- double start_hue;
- double end_hue;
- int i;
-
- g_assert (labeler->priv->num_outputs > 0);
-
- labeler->priv->palette = g_new (GdkRGBA, labeler->priv->num_outputs);
-
- start_hue = 0.0; /* red */
- end_hue = 2.0/3; /* blue */
-
- for (i = 0; i < labeler->priv->num_outputs; i++) {
- double h, s, v;
- double r, g, b;
-
- h = start_hue + (end_hue - start_hue) / labeler->priv->num_outputs * i;
- s = 0.6;
- v = 1.0;
-
- gtk_hsv_to_rgb (h, s, v, &r, &g, &b);
-
- labeler->priv->palette[i].red = r;
- labeler->priv->palette[i].green = g;
- labeler->priv->palette[i].blue = b;
- labeler->priv->palette[i].alpha = 1.0;
- }
-}
-
-static void
rounded_rectangle (cairo_t *cr,
gint x,
gint y,
@@ -262,10 +220,11 @@
static void
label_draw_background_and_frame (GtkWidget *widget, cairo_t *cr)
{
- GdkRGBA *rgba;
+ GdkRGBA rgba;
GtkAllocation allocation;
+ gchar *rgba_str;
- rgba = g_object_get_data (G_OBJECT (widget), "rgba");
+ rgba_str = g_object_get_data (G_OBJECT (widget), "rgba");
gtk_widget_get_allocation (widget, &allocation);
cairo_save (cr);
@@ -284,8 +243,9 @@
cairo_stroke (cr);
/* fill */
- rgba->alpha = 0.90;
- gdk_cairo_set_source_rgba (cr, rgba);
+ gdk_rgba_parse (&rgba, rgba_str);
+ rgba.alpha = 0.90;
+ gdk_cairo_set_source_rgba (cr, &rgba);
rounded_rectangle (cr,
LABEL_WINDOW_EDGE_THICKNESS,
@@ -364,7 +324,7 @@
}
static GtkWidget *
-create_label_window (CcDisplayLabeler *labeler, CcDisplayMonitor *output, GdkRGBA *rgba, gint num)
+create_label_window (CcDisplayLabeler *labeler, CcDisplayMonitor *output, gchar *rgba_str, gint num)
{
GtkWidget *window;
GtkWidget *widget;
@@ -390,7 +350,8 @@
* array. Note that in cc_display_labeler_finalize(), we are careful to
* free the palette only after we free the windows.
*/
- g_object_set_data (G_OBJECT (window), "rgba", rgba);
+
+ g_object_set_data_full (G_OBJECT (window), "rgba", rgba_str, (GDestroyNotify) g_free);
g_signal_connect (window, "draw",
G_CALLBACK (label_window_draw_event_cb), labeler);
@@ -431,16 +392,6 @@
return window;
}
-static void
-setup_from_config (CcDisplayLabeler *labeler)
-{
- labeler->priv->num_outputs = count_outputs (labeler->priv->config);
-
- make_palette (labeler);
-
- cc_display_labeler_show (labeler);
-}
-
/**
* cc_display_labeler_new:
* @config: Configuration of the screens to label
@@ -457,7 +408,7 @@
{
g_return_val_if_fail (CC_IS_DISPLAY_CONFIG (config), NULL);
- return g_object_new (GNOME_TYPE_RR_LABELER, "config", config, NULL);
+ return g_object_new (CC_TYPE_DISPLAY_LABELER, "config", config, NULL);
}
/**
@@ -473,11 +424,12 @@
gboolean created_window_for_clone;
GList *outputs, *l;
- g_return_if_fail (GNOME_IS_RR_LABELER (labeler));
+ g_return_if_fail (CC_IS_DISPLAY_LABELER (labeler));
if (labeler->priv->windows != NULL)
return;
+ labeler->priv->num_outputs = count_outputs (labeler->priv->config);
labeler->priv->windows = g_new (GtkWidget *, labeler->priv->num_outputs);
created_window_for_clone = FALSE;
@@ -488,7 +440,10 @@
CcDisplayMonitor *output = CC_DISPLAY_MONITOR (l->data);
if (!created_window_for_clone) {
- labeler->priv->windows[i] = create_label_window (labeler, output, labeler->priv->palette + i, i + 1);
+ gchar *rgba_str;
+
+ g_signal_emit_by_name (G_OBJECT (labeler), "get-output-color", i, &rgba_str);
+ labeler->priv->windows[i] = create_label_window (labeler, output, rgba_str, i + 1);
if (cc_display_config_is_cloning (labeler->priv->config))
created_window_for_clone = TRUE;
@@ -509,7 +464,7 @@
int i;
CcDisplayLabelerPrivate *priv;
- g_return_if_fail (GNOME_IS_RR_LABELER (labeler));
+ g_return_if_fail (CC_IS_DISPLAY_LABELER (labeler));
priv = labeler->priv;
@@ -525,39 +480,3 @@
priv->windows = NULL;
}
-/**
- * cc_display_labeler_get_rgba_for_output:
- * @labeler: A #CcDisplayLabeler
- * @output: Output device (i.e. monitor) to query
- * @rgba_out: (out): Color of selected monitor.
- *
- * Get the color used for the label on a given output (monitor).
- */
-void
-cc_display_labeler_get_rgba_for_output (CcDisplayLabeler *labeler, CcDisplayMonitor *output, GdkRGBA *rgba_out)
-{
- int i;
- GList *outputs, *l;
-
- g_return_if_fail (GNOME_IS_RR_LABELER (labeler));
- g_return_if_fail (CC_IS_DISPLAY_MONITOR (output));
- g_return_if_fail (rgba_out != NULL);
-
- outputs = cc_display_config_get_ui_sorted_monitors (labeler->priv->config);
-
- for (l = outputs, i = 0; l != NULL; l = l->next, i++) {
- CcDisplayMonitor *o = CC_DISPLAY_MONITOR (l->data);
-
- if (o == output) {
- *rgba_out = labeler->priv->palette[i];
- return;
- }
- }
-
- g_warning ("trying to get the color for unknown CcDisplayMonitor %p; returning magenta!", output);
-
- rgba_out->red = 1.0;
- rgba_out->green = 0;
- rgba_out->blue = 1.0;
- rgba_out->alpha = 1.0;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/cc-display-labeler.h new/cinnamon-control-center-6.0.0/panels/display/cc-display-labeler.h
--- old/cinnamon-control-center-5.8.0/panels/display/cc-display-labeler.h 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/cc-display-labeler.h 2023-11-19 14:39:53.000000000 +0100
@@ -22,43 +22,18 @@
*
* Author: Federico Mena-Quintero <federico(a)novell.com>
*/
+#pragma once
-#ifndef CC_DISPLAY_LABELER_H
-#define CC_DISPLAY_LABELER_H
-
-#define GNOME_DESKTOP_USE_UNSTABLE_API
+// #define GNOME_DESKTOP_USE_UNSTABLE_API
#include "cc-display-config.h"
-#define GNOME_TYPE_RR_LABELER (cc_display_labeler_get_type ())
-#define CC_DISPLAY_LABELER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_RR_LABELER, CcDisplayLabeler))
-#define CC_DISPLAY_LABELER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_RR_LABELER, CcDisplayLabelerClass))
-#define GNOME_IS_RR_LABELER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_RR_LABELER))
-#define GNOME_IS_RR_LABELER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_RR_LABELER))
-#define CC_DISPLAY_LABELER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_RR_LABELER, CcDisplayLabelerClass))
-
-typedef struct _CcDisplayLabeler CcDisplayLabeler;
-typedef struct _CcDisplayLabelerClass CcDisplayLabelerClass;
-typedef struct _CcDisplayLabelerPrivate CcDisplayLabelerPrivate;
-
-struct _CcDisplayLabeler {
- GObject parent;
-
- /*< private >*/
- CcDisplayLabelerPrivate *priv;
-};
+G_BEGIN_DECLS
-struct _CcDisplayLabelerClass {
- GObjectClass parent_class;
-};
-
-GType cc_display_labeler_get_type (void);
+#define CC_TYPE_DISPLAY_LABELER (cc_display_labeler_get_type ())
+G_DECLARE_FINAL_TYPE (CcDisplayLabeler, cc_display_labeler, CC, DISPLAY_LABELER, GObject)
CcDisplayLabeler *cc_display_labeler_new (CcDisplayConfig *config);
-
void cc_display_labeler_show (CcDisplayLabeler *labeler);
-
void cc_display_labeler_hide (CcDisplayLabeler *labeler);
-void cc_display_labeler_get_rgba_for_output (CcDisplayLabeler *labeler, CcDisplayMonitor *output, GdkRGBA *rgba_out);
-
-#endif
+G_END_DECLS
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/cc-display-panel.c new/cinnamon-control-center-6.0.0/panels/display/cc-display-panel.c
--- old/cinnamon-control-center-5.8.0/panels/display/cc-display-panel.c 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/cc-display-panel.c 2023-11-19 14:39:53.000000000 +0100
@@ -23,8 +23,12 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+
#include <libcinnamon-desktop/cdesktop-enums.h>
#include <math.h>
+#include <gdk/gdkwayland.h>
#include <libupower-glib/upower.h>
@@ -65,6 +69,8 @@
CcDisplayConfig *current_config;
CcDisplayMonitor *current_output;
+ GDBusProxy *cinnamon_proxy;
+
gint rebuilding_counter;
CcDisplayArrangement *arrangement;
@@ -86,6 +92,8 @@
GtkWidget *cancel_button;
GtkListStore *output_selection_list;
+ GdkRGBA *palette;
+ gint n_outputs;
GtkWidget *arrangement_frame;
GtkWidget *arrangement_bin;
@@ -106,19 +114,18 @@
CC_PANEL_REGISTER (CcDisplayPanel, cc_display_panel)
-static void
-update_bottom_buttons (CcDisplayPanel *panel);
-static void
-apply_current_configuration (CcDisplayPanel *self);
-static void
-reset_current_config (CcDisplayPanel *panel);
-static void
-rebuild_ui (CcDisplayPanel *panel);
-static void
-set_current_output (CcDisplayPanel *panel,
- CcDisplayMonitor *output,
- gboolean force);
+#define WAYLAND_SESSION() (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default()))
+static void update_bottom_buttons (CcDisplayPanel *panel);
+static void apply_current_configuration (CcDisplayPanel *self);
+static void reset_current_config (CcDisplayPanel *panel);
+static void rebuild_ui (CcDisplayPanel *panel);
+static void regenerate_palette (CcDisplayPanel *panel, gint n_outputs);
+static void set_current_output (CcDisplayPanel *panel,
+ CcDisplayMonitor *output,
+ gboolean force);
+static gchar *get_color_string_for_output (CcDisplayPanel *panel, gint index);
+static gchar *get_output_color (GObject *source, gint index, CcDisplayPanel *self);
static CcDisplayConfigType
config_get_current_type (CcDisplayPanel *panel)
@@ -329,29 +336,126 @@
}
static void
-ensure_monitor_labels (CcDisplayPanel *self)
+hide_labels_dbus (CcDisplayPanel *self)
{
- if (self->labeler) {
- cc_display_labeler_hide (self->labeler);
- g_object_unref (self->labeler);
- }
+ if (!self->cinnamon_proxy)
+ return;
+
+ g_dbus_proxy_call (self->cinnamon_proxy,
+ "HideMonitorLabels",
+ NULL, G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, NULL, NULL);
+}
+
+static void
+show_labels_dbus (CcDisplayPanel *self)
+{
+ GList *outputs, *l;
+ GVariantBuilder builder;
+ gint number = 0;
+
+ if (!self->cinnamon_proxy || !self->current_config)
+ return;
+
+ outputs = cc_display_config_get_ui_sorted_monitors (self->current_config);
+ if (!outputs)
+ return;
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_open (&builder, G_VARIANT_TYPE_ARRAY);
+
+ gint color_index = 0;
+
+ for (l = outputs, color_index = 0; l != NULL; l = l->next, color_index++)
+ {
+ CcDisplayMonitor *output = l->data;
+
+ number = cc_display_monitor_get_ui_number (output);
+ if (number == 0)
+ continue;
+
+ GVariant *var;
+
+ var = g_variant_new ("(ibss)",
+ number,
+ cc_display_config_is_cloning (self->current_config),
+ cc_display_monitor_get_display_name (output),
+ self->palette[color_index]);
+
+ g_variant_builder_add (&builder, "{sv}",
+ cc_display_monitor_get_connector_name (output),
+ var);
+ }
+
+ g_variant_builder_close (&builder);
+
+ if (number < 1)
+ {
+ g_variant_builder_clear (&builder);
+ return;
+ }
+
+ g_dbus_proxy_call (self->cinnamon_proxy,
+ "ShowMonitorLabels",
+ g_variant_builder_end (&builder),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, NULL, NULL);
+}
+
+static void
+hide_labels (CcDisplayPanel *self)
+{
+ if (WAYLAND_SESSION ())
+ {
+ hide_labels_dbus (self);
+ }
+ else
+ {
+ if (self->labeler) {
+ cc_display_labeler_hide (self->labeler);
+ }
+ }
+}
+
+static void
+show_labels (CcDisplayPanel *self)
+{
+ if (WAYLAND_SESSION ())
+ {
+ show_labels_dbus (self);
+ }
+ else
+ {
+ if (self->labeler) {
+ cc_display_labeler_hide (self->labeler);
+ g_object_unref (self->labeler);
+ }
- self->labeler = cc_display_labeler_new (self->current_config);
+ self->labeler = cc_display_labeler_new (self->current_config);
- cc_display_labeler_show (self->labeler);
+ g_signal_connect_object (self->labeler, "get-output-color",
+ G_CALLBACK (get_output_color), self, 0);
+
+ cc_display_labeler_show (self->labeler);
+ }
}
static void
widget_visible_changed (GtkWidget *widget,
gpointer user_data)
{
- if (CC_DISPLAY_PANEL(widget)->labeler == NULL)
- return;
- if (gtk_widget_get_visible (widget)) {
- cc_display_labeler_show (CC_DISPLAY_PANEL (widget)->labeler);
- } else {
- cc_display_labeler_hide (CC_DISPLAY_PANEL (widget)->labeler);
- }
+ CcDisplayPanel *self = CC_DISPLAY_PANEL (widget);
+ if (gtk_widget_get_visible (widget) && self->current_config != NULL) {
+ show_labels (self);
+ } else {
+ hide_labels (self);
+ }
+}
+
+static void
+ensure_monitor_labels (CcDisplayPanel *self)
+{
+ widget_visible_changed (GTK_WIDGET (self), self);
}
static void
@@ -370,9 +474,14 @@
g_clear_object (&self->manager);
g_clear_object (&self->current_config);
g_clear_object (&self->up_client);
+ g_clear_object (&self->cinnamon_proxy);
g_clear_object (&self->muffin_settings);
g_clear_object (&self->labeler);
+ g_clear_pointer (&self->palette, g_free);
+
+ g_clear_object (&self->output_selection_list);
+ g_clear_object (&self->builder);
g_signal_handlers_disconnect_by_func (self, widget_visible_changed, NULL);
@@ -584,6 +693,7 @@
GList *outputs, *l;
CcDisplayConfigType type;
gboolean cloned = FALSE;
+ gint index = 0;
panel->rebuilding_counter++;
@@ -595,14 +705,16 @@
return;
}
- ensure_monitor_labels (panel);
-
cloned = config_get_current_type (panel);
n_active_outputs = 0;
n_usable_outputs = 0;
outputs = cc_display_config_get_ui_sorted_monitors (panel->current_config);
- for (l = outputs; l; l = l->next)
+
+ regenerate_palette (panel, g_list_length (outputs));
+ ensure_monitor_labels (panel);
+
+ for (l = outputs, index = 0; l; l = l->next, index++)
{
GtkTreeIter iter;
CcDisplayMonitor *output = l->data;
@@ -612,7 +724,11 @@
const gchar *label;
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, 20, 20);
- cc_display_labeler_get_rgba_for_output (panel->labeler, output, &color);
+
+ gchar *color_string = get_color_string_for_output (panel, index);
+
+ gdk_rgba_parse (&color, color_string);
+ g_free (color_string);
pixel = pixel + ((int) (color.red * 255) << 24);
pixel = pixel + ((int) (color.green * 255) << 16);
@@ -639,6 +755,8 @@
2, pixbuf,
-1);
+ g_object_unref (pixbuf);
+
if (!cc_display_monitor_is_usable (output))
continue;
@@ -749,8 +867,6 @@
if (!panel->current_config)
return;
-
- ensure_monitor_labels (panel);
}
static void
@@ -893,6 +1009,23 @@
}
static void
+cinnamon_proxy_ready (GObject *source_object,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ CcDisplayPanel *self = CC_DISPLAY_PANEL (user_data);
+ GError *error = NULL;
+
+ self->cinnamon_proxy = g_dbus_proxy_new_finish (res, &error);
+
+ if (self->cinnamon_proxy == NULL)
+ {
+ g_critical ("Can't connect to Cinnamon, monitor labeler will be unavailable: %s", error->message);
+ g_clear_error (&error);
+ }
+}
+
+static void
session_bus_ready (GObject *source,
GAsyncResult *res,
CcDisplayPanel *self)
@@ -915,6 +1048,21 @@
G_CALLBACK (on_screen_changed),
self,
G_CONNECT_SWAPPED);
+
+ if (WAYLAND_SESSION ())
+ {
+ g_dbus_proxy_new (bus,
+ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
+ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
+ G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,
+ NULL,
+ "org.Cinnamon",
+ "/org/Cinnamon",
+ "org.Cinnamon",
+ NULL,
+ (GAsyncReadyCallback) cinnamon_proxy_ready,
+ self);
+ }
}
static void
@@ -1022,18 +1170,57 @@
}
}
-static gchar *
-get_output_color (CcDisplayArrangement *arrangement, CcDisplayMonitor *output, CcDisplayPanel *self)
+static void
+regenerate_palette (CcDisplayPanel *panel, gint n_outputs)
{
- GdkRGBA color;
+ /* The idea is that we go around an hue color wheel. We want to start
+ * at red, go around to green/etc. and stop at blue.
+ *
+ */
+ double start_hue;
+ double end_hue;
+ int i;
- if (self->labeler != NULL)
- {
- cc_display_labeler_get_rgba_for_output (self->labeler, output, &color);
- return gdk_rgba_to_string (&color);
+ g_clear_pointer (&panel->palette, g_free);
+ panel->palette = g_new (GdkRGBA, n_outputs);
+
+ start_hue = 0.0; /* red */
+ end_hue = 2.0/3; /* blue */
+
+ for (i = 0; i < n_outputs; i++) {
+ double h, s, v;
+ double r, g, b;
+
+ h = start_hue + (end_hue - start_hue) / n_outputs * i;
+ s = 0.6;
+ v = 1.0;
+
+ gtk_hsv_to_rgb (h, s, v, &r, &g, &b);
+
+ panel->palette[i].red = r;
+ panel->palette[i].green = g;
+ panel->palette[i].blue = b;
+ panel->palette[i].alpha = 1.0;
}
- return g_strdup ("white");
+ panel->n_outputs = n_outputs;
+}
+
+static gchar *
+get_color_string_for_output (CcDisplayPanel *panel, gint index)
+{
+ if (index < 0 || index > panel->n_outputs - 1)
+ {
+ return g_strdup ("white");
+ }
+
+ return gdk_rgba_to_string (&panel->palette[index]);
+}
+
+static gchar *
+get_output_color (GObject *source, gint index, CcDisplayPanel *self)
+{
+ return get_color_string_for_output (self, index);
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/cc-display-settings.c new/cinnamon-control-center-6.0.0/panels/display/cc-display-settings.c
--- old/cinnamon-control-center-5.8.0/panels/display/cc-display-settings.c 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/cc-display-settings.c 2023-11-19 14:39:53.000000000 +0100
@@ -24,7 +24,7 @@
#include "cc-display-settings.h"
#include "cc-display-config.h"
-#define MAX_SCALE_BUTTONS 5
+#define MAX_SCALE_BUTTONS 6
#define WID(s) GTK_WIDGET (gtk_builder_get_object (self->builder, s))
@@ -414,6 +414,8 @@
1, l->data,
-1);
+ g_free (resolution_string);
+
if (current_mode == l->data)
{
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self->resolution_combo), &iter);
@@ -678,6 +680,7 @@
g_clear_object (&self->orientation_list);
g_clear_object (&self->refresh_rate_list);
g_clear_object (&self->resolution_list);
+ g_clear_object (&self->builder);
if (self->idle_udpate_id)
g_source_remove (self->idle_udpate_id);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/cinnamon-display-panel.desktop new/cinnamon-control-center-6.0.0/panels/display/cinnamon-display-panel.desktop
--- old/cinnamon-control-center-5.8.0/panels/display/cinnamon-display-panel.desktop 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/cinnamon-display-panel.desktop 2023-11-19 14:39:53.000000000 +0100
@@ -42,6 +42,7 @@
Name[is]=Skjár
Name[it]=Monitor
Name[ja]=ディスプレイ
+Name[ka]=დროის ჩვენება
Name[kab]=Sken
Name[kk]=Дисплей
Name[ko]=디스플레이
@@ -56,6 +57,7 @@
Name[pt_BR]=Monitor
Name[ro]=Afișare
Name[ru]=Монитор
+Name[rue]=Дісплей
Name[sc]=Ischermu
Name[sk]=Obrazovka
Name[sl]=Zaslon
@@ -152,18 +154,26 @@
Keywords[de]=Panel;Projector;xrandr;Screen;Resolution;Refresh;Paneel;Projektor;xrandr;Bildschirm;Auflösung;Aktualisieren;Auffrischen;
Keywords[el]=Πίνακας;Προβολέας;xrandr;Οθόνη;Ανάλυση;Ανανέωση;
Keywords[es]=Panel;Proyector;xrandr;Pantalla;Resolución;Refresco;
+Keywords[et]=Paneel;projektor;xrandr;ekraan;eraldusvõime;värskendus;
Keywords[eu]=Panela;Proiektagailua;xrandr;Pantaila;Bereizmena;Freskatu;
Keywords[fi]=Paneeli;Projektori;xrandr;Näyttö;Resoluutio;Virkistys;
Keywords[fr]=Paneau;Projecteur;xrandr;Ecran;Résolution;Raffraichir;
Keywords[fr_CA]=Paneau;Projecteur;xrandr;Ecran;Résolution;Raffraichir;
+Keywords[he]=לוח;מקרן;xrandr;צג;הפרדה;רענון;
Keywords[hr]=Panel;Projektor;xrandr;Zaslon;Razlučivost;Osvježavanje;
Keywords[hu]=Panel;Projektor;xrandr;Képernyő;Felbontás;Frissítés;Monitor;Éjszakai;fény;redshift;szín;napkelte;napnyugta;Panel;Projector;xrandr;Screen;Resolution;Refresh;
+Keywords[is]=Panell;Skjávarpi;xrandr;Skjár;Upplausn;Uppfærslutíðni;
Keywords[it]=Pannello;Proiettore;xrandr;Schermo;Risoluzione;Refresh;
+Keywords[ko]=패널;프로젝터;xrandr;화면;해상도;새로 고침;
Keywords[nl]=Paneel;Projector;xrandr;Scherm;Resolutie;Verversen;
+Keywords[oc]=Panèl;Projector;Xrandr;Ecran;Resolucion;Actualizar;
Keywords[pl]=Panel;Projektor;xrandr;Ekran;Rozdzielczość;Odświeżanie;
Keywords[pt]=Painel;Projetor;xrandr;Ecrã;Resolução;Atualizar;
Keywords[pt_BR]=Painel;Projetor;xrandr;Tela;Resolução;Atualizar;
+Keywords[ro]=Panou;proiector;xrandr;ecran;rezoluție;reîmprospătare;
Keywords[ru]=Панель;Проектор;xrandr;Экран;Разрешение;Обновить;
+Keywords[sk]=Panel;Projektor;xrandr;Obrazovka;Rozlíšenie;Obnoviť;
+Keywords[sl]=Plošča;projektor;xrandr;zaslon;ločljivost;osveževanje;
Keywords[sv]=Panel;Projektor;xrandr;Skärm;Upplösning;Uppdatera;
Keywords[tr]=Panel;Projektör;xrandr;Ekran;Çözünürlük;Tazeleme;
Keywords[uk]=Панель;Проектор;xrandr;Екран;Роздільна здатність;Оновити;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/display/org.cinnamon.control-center.display.gschema.xml new/cinnamon-control-center-6.0.0/panels/display/org.cinnamon.control-center.display.gschema.xml
--- old/cinnamon-control-center-5.8.0/panels/display/org.cinnamon.control-center.display.gschema.xml 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/display/org.cinnamon.control-center.display.gschema.xml 2023-11-19 14:39:53.000000000 +0100
@@ -2,7 +2,7 @@
<schema id="org.cinnamon.control-center.display" path="/org/cinnamon/control-center/display/">
<key name="show-fractional-scaling-controls" type="b">
<default>false</default>
- <summary>Makes the fractional scaling controls visible.</summary>
+ <summary>no longer used - see org.cinnamon.muffin:experimental-features</summary>
</key>
</schema>
</schemalist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/network/cinnamon-network-panel.desktop new/cinnamon-control-center-6.0.0/panels/network/cinnamon-network-panel.desktop
--- old/cinnamon-control-center-5.8.0/panels/network/cinnamon-network-panel.desktop 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/network/cinnamon-network-panel.desktop 2023-11-19 14:39:53.000000000 +0100
@@ -43,6 +43,7 @@
Name[is]=Netkerfi
Name[it]=Rete
Name[ja]=ネットワーク
+Name[ka]=ქსელი
Name[kab]=Aẓeḍḍa
Name[kk]=Желі
Name[km]=បណ្តាញ
@@ -63,6 +64,7 @@
Name[pt_BR]=Rede
Name[ro]=Rețea
Name[ru]=Сеть
+Name[rue]=Мрежа
Name[sc]=Retza
Name[sk]=Sieť
Name[sl]=Omrežje
@@ -118,6 +120,7 @@
Comment[is]=Netstillingar
Comment[it]=Impostazioni di rete
Comment[ja]=ネットワークの設定
+Comment[ka]=ქსელის მორგება
Comment[kab]=Iɣewwaren uzeṭṭa
Comment[kk]=Желі баптаулары
Comment[ko]=네트워크 설정
@@ -166,18 +169,26 @@
Keywords[de]=Network;Wireless;IP;LAN;Proxy;Internet;WiFi;Netzwerk;drahtlos;Vermittlung;WLAN;
Keywords[el]=Δίκτυο;Ασύρματο;IP;LAN;Proxy;Διαδίκτυο;WiFi;
Keywords[es]=Red;Inalámbrico;IP;LAN;Proxy;Internet;WiFi;
+Keywords[et]=Võrk;traadita ühendus;IP;LAN;puhverserver;Internet;WiFi;
Keywords[eu]=Sarea;Haririk gabekoa;IP;LAN;Proxy;Internet;WiFi;
Keywords[fi]=Verkko;Langaton;IP;LAN;Välityspalvelin;Internet;WiFi;
Keywords[fr]=Réseau;Sans-fil;IP;LAN;Proxy;Internet;WiFi;
Keywords[fr_CA]=Réseau;Sans-fil;IP;LAN;Proxy;Internet;WiFi;
+Keywords[he]=רשת;אל־חוטי;IP;LN;מתווך;מרשתת;WiFi;
Keywords[hr]=Mreža;Bežična mreža;IP;LAN;Proxy;Internet;WiFi;
Keywords[hu]=Hálózat;Vezeték nélküli;Wi-Fi;Wifi;IP;LAN;Széles sáv;Szélessáv;DNS;Network;Wireless;IP;LAN;Proxy;Internet;
+Keywords[is]=Netkerfi;Þráðlaust;IP;LAN;Milliþjónn;Internet;WiFi;
Keywords[it]=Rete;Wireless;IP;LAN;Proxy;Internet;WiFi;
+Keywords[ko]=네트워크;무선;IP;LAN;프록시;인터넷;WiFi;
Keywords[nl]=Netwerk;Draadloos;IP;LAN;Proxy;Internet;WiFi;
+Keywords[oc]=Ret;Sens fil;LAN;Proxy;Internet;WiFi;
Keywords[pl]=Sieć;Bezprzewodowa;IP;LAN;Proxy;Internet;WiFi;
Keywords[pt]=Rede;Sem fios;IP;LAN;Proxy;Internet;WiFi;
Keywords[pt_BR]=Rede;Sem fio;IP;LAN;Proxy;Internet;WiFi;
+Keywords[ro]=Rețea;Wireless;IP;LAN;Proxy;Internet;WiFi;
Keywords[ru]=Сеть;Беспроводная связь;IP;Локальная сеть;Прокси;интернет;Беспроводная сеть;
+Keywords[sk]=Sieť;Bezdrôtové pripojenie;IP;LAN;Proxy;Internet;WiFi;
+Keywords[sl]=Omrežje;brezžično;IP;LAN;internet;wifi;posredovalni strežnik;
Keywords[sv]=Nätverk;Trådlöst;IP;LAN;Proxy;Internet;Trådlöst nätverk;
Keywords[tr]=Ağ;Kablosuz;IP;LAN;Vekil;Internet;Kablosuz ağ;
Keywords[uk]=Мережа;Бездротові мережі;IP;Локальна мережа;Проксі;Інтернет;WiFi;
Binary files old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/16x16/cs-online-accounts.png and new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/16x16/cs-online-accounts.png differ
Binary files old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/22x22/cs-online-accounts.png and new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/22x22/cs-online-accounts.png differ
Binary files old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/24x24/cs-online-accounts.png and new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/24x24/cs-online-accounts.png differ
Binary files old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/256x256/cs-online-accounts.png and new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/256x256/cs-online-accounts.png differ
Binary files old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/32x32/cs-online-accounts.png and new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/32x32/cs-online-accounts.png differ
Binary files old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/48x48/cs-online-accounts.png and new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/48x48/cs-online-accounts.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/meson.build new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/meson.build
--- old/cinnamon-control-center-5.8.0/panels/online-accounts/icons/meson.build 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/online-accounts/icons/meson.build 1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-
-sizes = [
- '16x16',
- '22x22',
- '24x24',
- '32x32',
- '48x48',
- '64x64',
- '256x256',
- 'scalable',
-]
-
-foreach size : sizes
- install_subdir(size,
- strip_directory: true,
- install_dir:
- get_option('datadir') / 'icons' / 'hicolor' / size / 'apps',
- )
-endforeach
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/online-accounts/meson.build new/cinnamon-control-center-6.0.0/panels/online-accounts/meson.build
--- old/cinnamon-control-center-5.8.0/panels/online-accounts/meson.build 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/online-accounts/meson.build 2023-11-19 14:39:53.000000000 +0100
@@ -1,5 +1,3 @@
-subdir('icons')
-
panel_online_accounts_sources = [
'cc-online-accounts-panel.c',
'online-accounts-module.c',
@@ -36,4 +34,4 @@
install_data(
'cinnamon-online-accounts.desktop',
install_dir: panel_def_dir
-)
\ No newline at end of file
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/region/cinnamon-region-panel.desktop new/cinnamon-control-center-6.0.0/panels/region/cinnamon-region-panel.desktop
--- old/cinnamon-control-center-5.8.0/panels/region/cinnamon-region-panel.desktop 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/region/cinnamon-region-panel.desktop 2023-11-19 14:39:53.000000000 +0100
@@ -62,6 +62,7 @@
Name[pt_BR]=Região & Idioma
Name[ro]=Regiune și limbă
Name[ru]=Регион и язык
+Name[rue]=Реґіон тай бисіда
Name[sc]=Limba e regione
Name[sk]=Oblasť a jazyk
Name[sl]=Področje in jezik
@@ -133,6 +134,7 @@
Comment[pt_BR]=Alterar suas configurações de região e idioma
Comment[ro]=Schimbați setările de regiune și limbă
Comment[ru]=Изменить региональные и языковые настройки
+Comment[rue]=Перемінити свуй реґіон тай бисіду
Comment[sk]=Zmeniť regionálne a jazykové nastavenia
Comment[sl]=Spremeni svoje področne in jezikovne nastavitve
Comment[sq]=Ndërro parametrat e krahinës dhe të gjuhës
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/wacom/cinnamon-wacom-panel.desktop new/cinnamon-control-center-6.0.0/panels/wacom/cinnamon-wacom-panel.desktop
--- old/cinnamon-control-center-5.8.0/panels/wacom/cinnamon-wacom-panel.desktop 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/wacom/cinnamon-wacom-panel.desktop 2023-11-19 14:39:53.000000000 +0100
@@ -43,6 +43,7 @@
Name[is]=Teiknitafla
Name[it]=Tavoletta grafica
Name[ja]=グラフィックタブレット
+Name[ka]=გრაფიკული ტაბლეტი
Name[kab]=Tafelwit tudlift
Name[kk]=Графикалық Планшет
Name[ko]=그래픽 태블릿
@@ -121,7 +122,7 @@
Comment[pt_BR]=Definir botões e ajustar sensibilidade da caneta para mesas digitalizadoras
Comment[ro]=Setați alocarea butoanelor și ajustați sensibilitatea stylusului tabletei grafice
Comment[ru]=Установка привязки кнопок и настройка чувствительности пера для графических планшетов
-Comment[sk]=Nastavuje mapovanie tlačidiel a upravuje citlivosť pera grafických tabletov
+Comment[sk]=Nastavuje priradenie tlačidiel a upravuje citlivosť pera grafických tabletov
Comment[sl]=Nastavite preslikave gumbov in prilagodite občutljivost pisala za grafične tablice
Comment[sr]=Подеси пречице дугмади и осетљивост писаљке графичким таблицама
Comment[sr@latin]=Postavite mapiranje dugmadi i podesite osetljivost digitalne olovke grafičkih tabli
@@ -146,18 +147,26 @@
Keywords[de]=Tablet;Wacom;Stylus;Eraser;Mouse;Maus;
Keywords[el]=Ταμπλέτα;Wacom;Πένα;Γόμα;Ποντίκι;
Keywords[es]=Tableta;Wacom;Lápiz táctil;Borrador;Ratón;
+Keywords[et]=Tahvelarvuti;Wacom;Stylus;Kustutaja;Hiir;
Keywords[eu]=Tableta;Wacom;Arkatz optikoa;Borragoma;Sagua;
Keywords[fi]=Piirtoalusta;Wacom;Kynä;Pyyhekumi;Hiiri;
Keywords[fr]=Tablette;Wacom;Stylet;Gomme;Souris;
Keywords[fr_CA]=Tablette;Wacom;Stylet;Gomme;Souris;
+Keywords[he]=מחשב־לוח;Wacom;סטילוס;מחק;עכבר;
Keywords[hr]=Tablet;Wacom;Pisaljak;Brisaljka;Miš;
Keywords[hu]=Rajztábla;Wacom;Toll;Radír;Egér;Tablet;Stylus;Eraser;Mouse;
+Keywords[is]=Tafla;Wacom;Teiknipenni;Útstrokari;Mús;
Keywords[it]=Tavoletta;Wacom;Penna;Gomma;Mouse;
+Keywords[ko]=태블릿;Wacom;스타일러스;지우개;마우스;
Keywords[nl]=Tablet;Wacom;Pen;Eraser;Muis;
+Keywords[oc]=Tauleta;Wacom;Estilet;Goma;Mirga;
Keywords[pl]=Tablet;Wacom;Rysik;Gumka;Mysz;
Keywords[pt]=Tablet;Wacom;Caneta;Borracha;Rato;
Keywords[pt_BR]=Tablet;Wacom;Stylus;Apagar;Mouse;
+Keywords[ro]=Tabletă;Wacom;Stylus;Radieră;Mouse;
Keywords[ru]=Планшет;Wacom;Стилус;Стёрка;Мышь;Электронное перо;Ручка;
+Keywords[sk]=Tablet;Wacom;stylus;guma;myš;
+Keywords[sl]=Tablica;Wacom;pisalo;radirka;miška;
Keywords[sv]=Ritplatta;Wacom;Stylus;Raderare;Mus;
Keywords[tr]=Tablet;Wacom;Tuş Kalemi;Silici;Fare;
Keywords[uk]=Планшет;Wacom;Стилус;Стирач;Миша;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/panels/wacom/wacom-stylus-page.ui new/cinnamon-control-center-6.0.0/panels/wacom/wacom-stylus-page.ui
--- old/cinnamon-control-center-5.8.0/panels/wacom/wacom-stylus-page.ui 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/panels/wacom/wacom-stylus-page.ui 2023-11-19 14:39:53.000000000 +0100
@@ -40,6 +40,10 @@
<col id="0">4</col>
<col id="1" translatable="yes">Forward</col>
</row>
+ <row>
+ <col id="0">5</col>
+ <col id="1" translatable="yes">Disabled</col>
+ </row>
</data>
</object>
<object class="GtkNotebook" id="stylus-notebook">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-control-center-5.8.0/shell/cc-shell-item-view.c new/cinnamon-control-center-6.0.0/shell/cc-shell-item-view.c
--- old/cinnamon-control-center-5.8.0/shell/cc-shell-item-view.c 2023-06-01 14:57:58.000000000 +0200
+++ new/cinnamon-control-center-6.0.0/shell/cc-shell-item-view.c 2023-11-19 14:39:53.000000000 +0100
@@ -166,6 +166,8 @@
break;
}
}
+
+ g_list_free (cells);
}
static void
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cinnamon-settings-daemon for openSUSE:Factory checked in at 2023-12-03 20:48:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-settings-daemon (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-settings-daemon.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-settings-daemon"
Sun Dec 3 20:48:35 2023 rev:31 rq:1128872 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-settings-daemon/cinnamon-settings-daemon.changes 2022-01-17 22:35:26.562299230 +0100
+++ /work/SRC/openSUSE:Factory/.cinnamon-settings-daemon.new.25432/cinnamon-settings-daemon.changes 2023-12-03 20:48:53.853961839 +0100
@@ -1,0 +2,54 @@
+Sat Nov 25 18:53:52 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * Fix meson.build deprecations up to 0.56.0
+ * Add wayland support
+ * optimization: Only initialize libnotify for plugins that need
+ it
+ * wayland: Add a plugin to sync cinnamon/gnome settings
+ * csd-background: Make wayland-compatible
+ * xsettings: Add gtk-keynav-use-caret setting
+ * daemon-skeleton.h: Make sure the GMainLoop is accessible
+ everywhere it's needed.
+ * xsettings: Round the Xft.dpi setting to an integer
+ * power: Fix free order
+ * xsettings: Override the active icon and gtk theme when 'high-
+ contrast' is enabled.
+ * build: don't hardcode files install dir as /
+ * power: Allow the minimum display brightness to be overridden.
+ * csd-xsettings-manager.c: Manage "gtk-overlay-scrolling".
+ * power: Add settings to disable low battery warnings for
+ connected devices
+ * github workflow: Add optional ssh session.
+ * fixed a spelling error spotted with lintian
+ * xsettings: Connect Gtk/EnablePrimaryPaste to gsettings.
+ * meson options: Set debug flag back to false.
+ * Fix broken rpath
+ * wacom: Don't set an rpath for led helpers.
+ * Small packaging improvements
+ * csd-wacom: Remove unused functionality.
+ * schemas: Fix wacom schema names for migrate_check.
+ * schemas: Add missing desktop schema for migration.
+ * cinnamon-settings-daemon (5.4.3) vanessa; urgency=medium
+ * build: add missing gio-unix-2.0 dependency
+ * backlighting: Return monitor coordinates instead of a Gdk-
+ provided monitor index.
+ * power manager: Prevent turning the backlight completely off
+ when adjusting brightness.
+ * media keys: Get rid of deliberate delay when taking a
+ screenshot to ensure a grab.
+ * cinnamon-settings-daemon (5.4.1) vanessa; urgency=medium
+ * csd-xsettings: Fix dbus names.
+ * cinnamon-settings-daemon (5.4.0) vanessa; urgency=medium
+ * Remove sounds plugin, Cinnamon now use muffin sound player.
+ * Remove obsolete plugins: a11y-keyboard, cursor, mouse, xrandr
+ * Remove dh_dwz build warnings.
+ * datetime: Use Gio's dbus implementation.
+ * Fix MPRIS issues with disconnecting clients
+ * print notifications: Fix build warning.
+ * csd-power-manager.c: Ensure that dbus message "g-properties-
+ changed" is emitted in all relevant places
+ * csd-media-keys-manager.c: Fix volume level 5% snap
+ * CI: Update targets
+
+-------------------------------------------------------------------
Old:
----
cinnamon-settings-daemon-5.2.0.tar.gz
New:
----
cinnamon-settings-daemon-6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-settings-daemon.spec ++++++
--- /var/tmp/diff_new_pack.7yNFiL/_old 2023-12-03 20:48:55.358017073 +0100
+++ /var/tmp/diff_new_pack.7yNFiL/_new 2023-12-03 20:48:55.358017073 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cinnamon-settings-daemon
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: cinnamon-settings-daemon
-Version: 5.2.0
+Version: 6.0.0
Release: 0
Summary: The settings Daemon for the Cinnamon Desktop
License: GPL-2.0-or-later AND LGPL-2.1-only
++++++ cinnamon-settings-daemon-5.2.0.tar.gz -> cinnamon-settings-daemon-6.0.0.tar.gz ++++++
++++ 25108 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mint-x-icon-theme for openSUSE:Factory checked in at 2023-12-03 20:48:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mint-x-icon-theme (Old)
and /work/SRC/openSUSE:Factory/.mint-x-icon-theme.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mint-x-icon-theme"
Sun Dec 3 20:48:34 2023 rev:4 rq:1128788 version:1.6.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/mint-x-icon-theme/mint-x-icon-theme.changes 2021-02-09 21:16:03.514759754 +0100
+++ /work/SRC/openSUSE:Factory/.mint-x-icon-theme.new.25432/mint-x-icon-theme.changes 2023-12-03 20:48:52.321905576 +0100
@@ -1,0 +2,17 @@
+Sat Nov 25 19:26:31 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.6.5:
+ * Add PIX icon
+ * Remove Mint-X-Dark
+ * Add definitions for folder-color-switcher
+ * Add thingy icon
+ * Add xfsm-lock
+ * Add a create-links script
+ * Add missing icons and support for Xfce 4.16
+ * Add sticky
+ * Add missing sizes for folder-recent
+ * Add caps and num-lock symbolic indicator icons.
+ * Make caps-lock and num-lock symbolic icons cinnamon-specific.
+ * Add cs-online-accounts
+
+-------------------------------------------------------------------
Old:
----
mint-x-icons_1.5.9.tar.xz
New:
----
mint-x-icons_1.6.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mint-x-icon-theme.spec ++++++
--- /var/tmp/diff_new_pack.73sXjZ/_old 2023-12-03 20:48:53.141935691 +0100
+++ /var/tmp/diff_new_pack.73sXjZ/_new 2023-12-03 20:48:53.141935691 +0100
@@ -1,7 +1,7 @@
#
# spec file for package mint-x-icon-theme
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define _name Mint-X
Name: mint-x-icon-theme
-Version: 1.5.9
+Version: 1.6.5
Release: 0
Summary: Mint-X icon theme
License: GPL-3.0-or-later
++++++ mint-x-icons_1.5.9.tar.xz -> mint-x-icons_1.6.5.tar.xz ++++++
/work/SRC/openSUSE:Factory/mint-x-icon-theme/mint-x-icons_1.5.9.tar.xz /work/SRC/openSUSE:Factory/.mint-x-icon-theme.new.25432/mint-x-icons_1.6.5.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package llvm15 for openSUSE:Factory checked in at 2023-12-03 20:48:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm15 (Old)
and /work/SRC/openSUSE:Factory/.llvm15.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm15"
Sun Dec 3 20:48:29 2023 rev:11 rq:1130466 version:15.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm15/llvm15.changes 2023-11-10 12:28:42.618291813 +0100
+++ /work/SRC/openSUSE:Factory/.llvm15.new.25432/llvm15.changes 2023-12-03 20:48:48.417762203 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 22:53:03 UTC 2023 - Aaron Puchert <aaronpuchert(a)alice-dsl.net>
+
+- Manage clang-cpp with update-alternatives like other binaries.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ llvm15.spec ++++++
--- /var/tmp/diff_new_pack.Zgm300/_old 2023-12-03 20:48:50.349833155 +0100
+++ /var/tmp/diff_new_pack.Zgm300/_new 2023-12-03 20:48:50.353833302 +0100
@@ -217,6 +217,7 @@
clang++ \
clang-check \
clang-cl \
+ clang-cpp \
clang-extdef-mapping \
clang-format \
clang-linker-wrapper \
@@ -1546,7 +1547,6 @@
%{_bindir}/clang-%{_sonum}
%{_bindir}/clang++-%{_minor}
%{_bindir}/clang++-%{_sonum}
-%{_bindir}/clang-cpp
%{lapply -p bin_path %clang_ua_anchor %clang_binfiles}
%{lapply -p bin_path %clang_tools_extra_binfiles}
%{lapply -p bin_relver_path %clang_ua_anchor %clang_binfiles}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package llvm16 for openSUSE:Factory checked in at 2023-12-03 20:48:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm16 (Old)
and /work/SRC/openSUSE:Factory/.llvm16.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm16"
Sun Dec 3 20:48:24 2023 rev:9 rq:1130465 version:16.0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm16/llvm16.changes 2023-11-10 12:28:38.066124840 +0100
+++ /work/SRC/openSUSE:Factory/.llvm16.new.25432/llvm16.changes 2023-12-03 20:48:45.453653351 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 22:53:03 UTC 2023 - Aaron Puchert <aaronpuchert(a)alice-dsl.net>
+
+- Manage clang-cpp with update-alternatives like other binaries.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ llvm16.spec ++++++
--- /var/tmp/diff_new_pack.5UjE9W/_old 2023-12-03 20:48:47.717736495 +0100
+++ /var/tmp/diff_new_pack.5UjE9W/_new 2023-12-03 20:48:47.717736495 +0100
@@ -218,6 +218,7 @@
clang++ \
clang-check \
clang-cl \
+ clang-cpp \
clang-extdef-mapping \
clang-format \
clang-linker-wrapper \
@@ -1556,7 +1557,6 @@
%{_bindir}/clang-%{_sonum}
%{_bindir}/clang++-%{_minor}
%{_bindir}/clang++-%{_sonum}
-%{_bindir}/clang-cpp
%{lapply -p bin_path %clang_ua_anchor %clang_binfiles}
%{lapply -p bin_path %clang_tools_extra_binfiles}
%{lapply -p bin_relver_path %clang_ua_anchor %clang_binfiles}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package llvm17 for openSUSE:Factory checked in at 2023-12-03 20:48:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm17 (Old)
and /work/SRC/openSUSE:Factory/.llvm17.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm17"
Sun Dec 3 20:48:20 2023 rev:6 rq:1130464 version:17.0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm17/llvm17.changes 2023-11-21 21:28:25.247378008 +0100
+++ /work/SRC/openSUSE:Factory/.llvm17.new.25432/llvm17.changes 2023-12-03 20:48:32.389173577 +0100
@@ -1,0 +2,16 @@
+Thu Nov 30 22:53:03 UTC 2023 - Aaron Puchert <aaronpuchert(a)alice-dsl.net>
+
+- Update to version 17.0.6.
+ * This release contains bug-fixes for the LLVM 17.0.0 release.
+ This release is API and ABI compatible with 17.0.0.
+- Rebase patches:
+ * llvm-do-not-install-static-libraries.patch
+ * llvm-normally-versioned-libllvm.patch
+- Use major version only instead of full (patch-level) version for
+ versioned executables: we don't support parallel installation of
+ multiple versions of the same LLVM major version. (boo#1217450)
+ Also drop the clang-X.Y symlink that was introduced for
+ boo#1012260, because Y is always 0.
+- Manage clang-cpp with update-alternatives like other binaries.
+
+-------------------------------------------------------------------
Old:
----
clang-17.0.5.src.tar.xz
clang-17.0.5.src.tar.xz.sig
clang-docs-17.0.5.src.tar.xz
clang-tools-extra-17.0.5.src.tar.xz
clang-tools-extra-17.0.5.src.tar.xz.sig
cmake-17.0.5.src.tar.xz
cmake-17.0.5.src.tar.xz.sig
compiler-rt-17.0.5.src.tar.xz
compiler-rt-17.0.5.src.tar.xz.sig
libcxx-17.0.5.src.tar.xz
libcxx-17.0.5.src.tar.xz.sig
libcxxabi-17.0.5.src.tar.xz
libcxxabi-17.0.5.src.tar.xz.sig
lld-17.0.5.src.tar.xz
lld-17.0.5.src.tar.xz.sig
lldb-17.0.5.src.tar.xz
lldb-17.0.5.src.tar.xz.sig
llvm-17.0.5.src.tar.xz
llvm-17.0.5.src.tar.xz.sig
llvm-docs-17.0.5.src.tar.xz
openmp-17.0.5.src.tar.xz
openmp-17.0.5.src.tar.xz.sig
polly-17.0.5.src.tar.xz
polly-17.0.5.src.tar.xz.sig
runtimes-17.0.5.src.tar.xz
runtimes-17.0.5.src.tar.xz.sig
third-party-17.0.5.src.tar.xz
third-party-17.0.5.src.tar.xz.sig
New:
----
clang-17.0.6.src.tar.xz
clang-17.0.6.src.tar.xz.sig
clang-docs-17.0.6.src.tar.xz
clang-tools-extra-17.0.6.src.tar.xz
clang-tools-extra-17.0.6.src.tar.xz.sig
cmake-17.0.6.src.tar.xz
cmake-17.0.6.src.tar.xz.sig
compiler-rt-17.0.6.src.tar.xz
compiler-rt-17.0.6.src.tar.xz.sig
libcxx-17.0.6.src.tar.xz
libcxx-17.0.6.src.tar.xz.sig
libcxxabi-17.0.6.src.tar.xz
libcxxabi-17.0.6.src.tar.xz.sig
lld-17.0.6.src.tar.xz
lld-17.0.6.src.tar.xz.sig
lldb-17.0.6.src.tar.xz
lldb-17.0.6.src.tar.xz.sig
llvm-17.0.6.src.tar.xz
llvm-17.0.6.src.tar.xz.sig
llvm-docs-17.0.6.src.tar.xz
openmp-17.0.6.src.tar.xz
openmp-17.0.6.src.tar.xz.sig
polly-17.0.6.src.tar.xz
polly-17.0.6.src.tar.xz.sig
runtimes-17.0.6.src.tar.xz
runtimes-17.0.6.src.tar.xz.sig
third-party-17.0.6.src.tar.xz
third-party-17.0.6.src.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ llvm17.spec ++++++
--- /var/tmp/diff_new_pack.2dzoXU/_old 2023-12-03 20:48:37.273352941 +0100
+++ /var/tmp/diff_new_pack.2dzoXU/_new 2023-12-03 20:48:37.273352941 +0100
@@ -16,7 +16,7 @@
#
-%global _relver 17.0.5
+%global _relver 17.0.6
%global _version %_relver%{?_rc:rc%_rc}
%global _tagver %_relver%{?_rc:-rc%_rc}
%global _sonum 17
@@ -24,7 +24,7 @@
%global _soname %{_sonum}%{?_sosuffix}
%global _itsme17 1
# Integer version used by update-alternatives
-%global _uaver 1705
+%global _uaver 1706
%global _soclang 13
%global _socxx 1
@@ -219,6 +219,7 @@
clang++ \
clang-check \
clang-cl \
+ clang-cpp \
clang-extdef-mapping \
clang-format \
clang-linker-wrapper \
@@ -1265,35 +1266,28 @@
# Prepare for update-alternatives usage
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-# Fix the clang -> clang-X.Y symlink to work with update-alternatives
+# Fix the clang -> clang-X symlink to work with update-alternatives
mv %{buildroot}%{_bindir}/clang-%{_sonum} %{buildroot}%{_bindir}/clang
-ln -s %{_bindir}/clang-%{_relver} %{buildroot}%{_bindir}/clang-%{_sonum}
-ln -s %{_bindir}/clang-%{_relver} %{buildroot}%{_bindir}/clang-%{_minor}
-
-# Add clang++-X.Y symbolic link as well - it seems to be expected by some
-# software. https://bugzilla.opensuse.org/show_bug.cgi?id=1012260
-ln -s %{_bindir}/clang++-%{_relver} %{buildroot}%{_bindir}/clang++-%{_sonum}
-ln -s %{_bindir}/clang++-%{_relver} %{buildroot}%{_bindir}/clang++-%{_minor}
# Rewrite symlinks to point to new location
for p in %{shrink:%binfiles} ; do
if [ -h "%{buildroot}%{_bindir}/$p" ] ; then
- ln -f -s %{_bindir}/$(readlink %{buildroot}%{_bindir}/$p)-%{_relver} %{buildroot}%{_bindir}/$p
+ ln -f -s %{_bindir}/$(readlink %{buildroot}%{_bindir}/$p)-%{_sonum} %{buildroot}%{_bindir}/$p
fi
done
for p in %{shrink:%binfiles} ; do
- mv %{buildroot}%{_bindir}/$p %{buildroot}%{_bindir}/$p-%{_relver}
+ mv %{buildroot}%{_bindir}/$p %{buildroot}%{_bindir}/$p-%{_sonum}
ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
done
for p in %{shrink:%manfiles} ; do
- mv %{buildroot}%{_mandir}/man1/$p.1 %{buildroot}%{_mandir}/man1/$p-%{_relver}.1
+ mv %{buildroot}%{_mandir}/man1/$p.1 %{buildroot}%{_mandir}/man1/$p-%{_sonum}.1
ln -s -f %{_sysconfdir}/alternatives/$p.1%{ext_man} %{buildroot}%{_mandir}/man1/$p.1%{ext_man}
done
# Also rewrite the CMake files referring to the binaries.
sed -i "$(
for p in %{shrink:%binfiles}; do
- echo "s|\"\${_IMPORT_PREFIX}/bin/$p\"|\"\${_IMPORT_PREFIX}/bin/$p-%{_relver}\"|g"
+ echo "s|\"\${_IMPORT_PREFIX}/bin/$p\"|\"\${_IMPORT_PREFIX}/bin/$p-%{_sonum}\"|g"
done
)" %{buildroot}%{_libdir}/cmake/{llvm/LLVMExports,clang/ClangTargets}-relwithdebinfo.cmake
@@ -1481,14 +1475,14 @@
%endif
%global ua_install() %{_sbindir}/update-alternatives \\\
- --install %{_bindir}/%1 %1 %{_bindir}/%1-%{_relver} %{_uaver}
+ --install %{_bindir}/%1 %1 %{_bindir}/%1-%{_sonum} %{_uaver}
%global ua_bin_slave() \\\
- --slave %{_bindir}/%1 %1 %{_bindir}/%1-%{_relver}
+ --slave %{_bindir}/%1 %1 %{_bindir}/%1-%{_sonum}
%global ua_man_slave() \\\
- --slave %{_mandir}/man1/%1.1%{ext_man} %1.1%{ext_man} %{_mandir}/man1/%1-%{_relver}.1%{ext_man}
+ --slave %{_mandir}/man1/%1.1%{ext_man} %1.1%{ext_man} %{_mandir}/man1/%1-%{_sonum}.1%{ext_man}
%global ua_remove() \
-if [ ! -f %{_bindir}/%1-%{_relver} ] ; then \
- %{_sbindir}/update-alternatives --remove %1 %{_bindir}/%1-%{_relver} \
+if [ ! -f %{_bindir}/%1-%{_sonum} ] ; then \
+ %{_sbindir}/update-alternatives --remove %1 %{_bindir}/%1-%{_sonum} \
fi
%post
@@ -1537,14 +1531,14 @@
%global bin_path() \
%{_bindir}/%1
-%global bin_relver_path() \
-%{_bindir}/%1-%{_relver}
+%global bin_sonum_path() \
+%{_bindir}/%1-%{_sonum}
%global ghost_ua_bin_link() \
%ghost %{_sysconfdir}/alternatives/%1
%global man_path() \
%{_mandir}/man1/%1.1%{ext_man}
-%global man_relver_path() \
-%{_mandir}/man1/%1-%{_relver}.1%{ext_man}
+%global man_sonum_path() \
+%{_mandir}/man1/%1-%{_sonum}.1%{ext_man}
%global ghost_ua_man_link() \
%ghost %{_sysconfdir}/alternatives/%1.1%{ext_man}
@@ -1554,10 +1548,10 @@
%{lapply -p bin_path %llvm_elf_dwarf_tools}
%{lapply -p bin_path %llvm_abi_coff_macho_tools}
%{lapply -p bin_path %llvm_instr_devel_tools}
-%{lapply -p bin_relver_path %llvm_ua_anchor %llvm_tools}
-%{lapply -p bin_relver_path %llvm_elf_dwarf_tools}
-%{lapply -p bin_relver_path %llvm_abi_coff_macho_tools}
-%{lapply -p bin_relver_path %llvm_instr_devel_tools}
+%{lapply -p bin_sonum_path %llvm_ua_anchor %llvm_tools}
+%{lapply -p bin_sonum_path %llvm_elf_dwarf_tools}
+%{lapply -p bin_sonum_path %llvm_abi_coff_macho_tools}
+%{lapply -p bin_sonum_path %llvm_instr_devel_tools}
%{lapply -p ghost_ua_bin_link %llvm_ua_anchor %llvm_tools}
%{lapply -p ghost_ua_bin_link %llvm_elf_dwarf_tools}
%{lapply -p ghost_ua_bin_link %llvm_abi_coff_macho_tools}
@@ -1566,29 +1560,24 @@
%{lapply -p man_path %llvm_man}
%{lapply -p man_path %llvm_bin_utils_man}
%{lapply -p man_path %llvm_devel_utils_man}
-%{lapply -p man_relver_path %llvm_man}
-%{lapply -p man_relver_path %llvm_bin_utils_man}
-%{lapply -p man_relver_path %llvm_devel_utils_man}
+%{lapply -p man_sonum_path %llvm_man}
+%{lapply -p man_sonum_path %llvm_bin_utils_man}
+%{lapply -p man_sonum_path %llvm_devel_utils_man}
%{lapply -p ghost_ua_man_link %llvm_man}
%{lapply -p ghost_ua_man_link %llvm_bin_utils_man}
%{lapply -p ghost_ua_man_link %llvm_devel_utils_man}
%files -n clang%{_sonum}
%license CREDITS.TXT LICENSE.TXT
-%{_bindir}/clang-%{_minor}
-%{_bindir}/clang-%{_sonum}
-%{_bindir}/clang++-%{_minor}
-%{_bindir}/clang++-%{_sonum}
-%{_bindir}/clang-cpp
%{lapply -p bin_path %clang_ua_anchor %clang_binfiles}
%{lapply -p bin_path %clang_tools_extra_binfiles}
-%{lapply -p bin_relver_path %clang_ua_anchor %clang_binfiles}
-%{lapply -p bin_relver_path %clang_tools_extra_binfiles}
+%{lapply -p bin_sonum_path %clang_ua_anchor %clang_binfiles}
+%{lapply -p bin_sonum_path %clang_tools_extra_binfiles}
%{lapply -p ghost_ua_bin_link %clang_ua_anchor %clang_binfiles}
%{lapply -p ghost_ua_bin_link %clang_tools_extra_binfiles}
%{lapply -p man_path %clang_manfiles}
-%{lapply -p man_relver_path %clang_manfiles}
+%{lapply -p man_sonum_path %clang_manfiles}
%{lapply -p ghost_ua_man_link %clang_manfiles}
%dir %{_libdir}/clang/
@@ -1756,7 +1745,7 @@
%files -n lld%{_sonum}
%license CREDITS.TXT LICENSE.TXT
%{lapply -p bin_path %lld_ua_anchor %lld_binfiles}
-%{lapply -p bin_relver_path %lld_ua_anchor %lld_binfiles}
+%{lapply -p bin_sonum_path %lld_ua_anchor %lld_binfiles}
%{lapply -p ghost_ua_bin_link %lld_ua_anchor %lld_binfiles}
%endif
@@ -1764,7 +1753,7 @@
%files -n lldb%{_sonum}
%license CREDITS.TXT LICENSE.TXT
%{lapply -p bin_path %lldb_ua_anchor %lldb_binfiles}
-%{lapply -p bin_relver_path %lldb_ua_anchor %lldb_binfiles}
+%{lapply -p bin_sonum_path %lldb_ua_anchor %lldb_binfiles}
%{lapply -p ghost_ua_bin_link %lldb_ua_anchor %lldb_binfiles}
%if %{with lldb_python}
++++++ clang-17.0.5.src.tar.xz -> clang-17.0.6.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm17/clang-17.0.5.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.25432/clang-17.0.6.src.tar.xz differ: char 15, line 1
++++++ clang-docs-17.0.5.src.tar.xz -> clang-docs-17.0.6.src.tar.xz ++++++
++++ 2873 lines of diff (skipped)
++++++ clang-tools-extra-17.0.5.src.tar.xz -> clang-tools-extra-17.0.6.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-tools-extra-17.0.5.src/clangd/XRefs.cpp new/clang-tools-extra-17.0.6.src/clangd/XRefs.cpp
--- old/clang-tools-extra-17.0.5.src/clangd/XRefs.cpp 2023-11-14 09:22:39.000000000 +0100
+++ new/clang-tools-extra-17.0.6.src/clangd/XRefs.cpp 2023-11-28 09:52:28.000000000 +0100
@@ -1857,7 +1857,8 @@
if (const VarDecl *VD = dyn_cast<VarDecl>(D)) {
// If this is a variable, use the type of the variable.
- Records.push_back(VD->getType().getTypePtr()->getAsCXXRecordDecl());
+ if (const auto *RD = VD->getType().getTypePtr()->getAsCXXRecordDecl())
+ Records.push_back(RD);
continue;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-tools-extra-17.0.5.src/clangd/unittests/TypeHierarchyTests.cpp new/clang-tools-extra-17.0.6.src/clangd/unittests/TypeHierarchyTests.cpp
--- old/clang-tools-extra-17.0.5.src/clangd/unittests/TypeHierarchyTests.cpp 2023-11-14 09:22:39.000000000 +0100
+++ new/clang-tools-extra-17.0.6.src/clangd/unittests/TypeHierarchyTests.cpp 2023-11-28 09:52:28.000000000 +0100
@@ -78,6 +78,19 @@
}
}
+TEST(FindRecordTypeAt, Nonexistent) {
+ Annotations Source(R"cpp(
+ int *wa^ldo;
+ )cpp");
+ TestTU TU = TestTU::withCode(Source.code());
+ auto AST = TU.build();
+
+ for (Position Pt : Source.points()) {
+ auto Records = findRecordTypeAt(AST, Pt);
+ ASSERT_THAT(Records, SizeIs(0));
+ }
+}
+
TEST(FindRecordTypeAt, Method) {
Annotations Source(R"cpp(
struct Child2 {
@@ -119,7 +132,7 @@
for (Position Pt : Source.points()) {
// A field does not unambiguously specify a record type
- // (possible associated reocrd types could be the field's type,
+ // (possible associated record types could be the field's type,
// or the type of the record that the field is a member of).
EXPECT_THAT(findRecordTypeAt(AST, Pt), SizeIs(0));
}
++++++ cmake-17.0.5.src.tar.xz -> cmake-17.0.6.src.tar.xz ++++++
++++++ compiler-rt-17.0.5.src.tar.xz -> compiler-rt-17.0.6.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compiler-rt-17.0.5.src/test/lit.common.cfg.py new/compiler-rt-17.0.6.src/test/lit.common.cfg.py
--- old/compiler-rt-17.0.5.src/test/lit.common.cfg.py 2023-11-14 09:22:39.000000000 +0100
+++ new/compiler-rt-17.0.6.src/test/lit.common.cfg.py 2023-11-28 09:52:28.000000000 +0100
@@ -797,7 +797,7 @@
config.substitutions.append(
(
"%ld_flags_rpath_exe" + postfix,
- "-Wl,-z,origin -Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec"
+ r"-Wl,-z,origin -Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec"
+ postfix,
)
)
@@ -806,7 +806,7 @@
config.substitutions.append(
(
"%ld_flags_rpath_exe" + postfix,
- "-Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec" + postfix,
+ r"-Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec" + postfix,
)
)
config.substitutions.append(("%ld_flags_rpath_so" + postfix, ""))
@@ -814,7 +814,7 @@
config.substitutions.append(
(
"%ld_flags_rpath_exe" + postfix,
- "-Wl,-R\$ORIGIN -L%T -l%xdynamiclib_namespec" + postfix,
+ r"-Wl,-R\$ORIGIN -L%T -l%xdynamiclib_namespec" + postfix,
)
)
config.substitutions.append(("%ld_flags_rpath_so" + postfix, ""))
++++++ libcxx-17.0.5.src.tar.xz -> libcxx-17.0.6.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.5.src/include/__config new/libcxx-17.0.6.src/include/__config
--- old/libcxx-17.0.5.src/include/__config 2023-11-14 09:22:39.000000000 +0100
+++ new/libcxx-17.0.6.src/include/__config 2023-11-28 09:52:28.000000000 +0100
@@ -40,7 +40,7 @@
// _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM.
// Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), _LIBCPP_VERSION is
// defined to XXYYZZ.
-# define _LIBCPP_VERSION 170005
+# define _LIBCPP_VERSION 170006
# define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
# define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.5.src/include/__memory/shared_ptr.h new/libcxx-17.0.6.src/include/__memory/shared_ptr.h
--- old/libcxx-17.0.5.src/include/__memory/shared_ptr.h 2023-11-14 09:22:39.000000000 +0100
+++ new/libcxx-17.0.6.src/include/__memory/shared_ptr.h 2023-11-28 09:52:28.000000000 +0100
@@ -1134,7 +1134,8 @@
__alloc_.~_Alloc();
size_t __size = __unbounded_array_control_block::__bytes_for(__count_);
_AlignedStorage* __storage = reinterpret_cast<_AlignedStorage*>(this);
- allocator_traits<_StorageAlloc>::deallocate(__tmp, _PointerTraits::pointer_to(*__storage), __size);
+ allocator_traits<_StorageAlloc>::deallocate(
+ __tmp, _PointerTraits::pointer_to(*__storage), __size / sizeof(_AlignedStorage));
}
_LIBCPP_NO_UNIQUE_ADDRESS _Alloc __alloc_;
@@ -1217,7 +1218,7 @@
_ControlBlockAlloc __tmp(__alloc_);
__alloc_.~_Alloc();
- allocator_traits<_ControlBlockAlloc>::deallocate(__tmp, _PointerTraits::pointer_to(*this), sizeof(*this));
+ allocator_traits<_ControlBlockAlloc>::deallocate(__tmp, _PointerTraits::pointer_to(*this), 1);
}
_LIBCPP_NO_UNIQUE_ADDRESS _Alloc __alloc_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.5.src/test/libcxx/memory/shared_ptr_array.pass.cpp new/libcxx-17.0.6.src/test/libcxx/memory/shared_ptr_array.pass.cpp
--- old/libcxx-17.0.5.src/test/libcxx/memory/shared_ptr_array.pass.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/libcxx-17.0.6.src/test/libcxx/memory/shared_ptr_array.pass.cpp 2023-11-28 09:52:28.000000000 +0100
@@ -0,0 +1,27 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+
+// UNSUPPORTED: c++03, c++11, c++14, c++17
+// REQUIRES: -fsized-deallocation
+// ADDITIONAL_COMPILE_FLAGS: -fsized-deallocation
+
+// This test will fail with ASan if the implementation passes different sizes
+// to corresponding allocation and deallocation functions.
+
+#include <memory>
+
+int main(int, char**) {
+ std::allocate_shared<int[]>(std::allocator<int>{}, 10);
+ std::make_shared<int[]>(10);
+
+ std::allocate_shared<int[10]>(std::allocator<int>{});
+ std::make_shared<int[10]>();
+
+ return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.5.src/utils/libcxx/test/format.py new/libcxx-17.0.6.src/utils/libcxx/test/format.py
--- old/libcxx-17.0.5.src/utils/libcxx/test/format.py 2023-11-14 09:22:39.000000000 +0100
+++ new/libcxx-17.0.6.src/utils/libcxx/test/format.py 2023-11-28 09:52:28.000000000 +0100
@@ -61,7 +61,7 @@
injecting additional Lit output around it.
"""
parsed = ''
- for output in re.split('[$]\s*":"\s*"RUN: at line \d+"', fullOutput):
+ for output in re.split(r'[$]\s*":"\s*"RUN: at line \d+"', fullOutput):
if output: # skip blank lines
commandOutput = re.search("# command output:\n(.+)\n$", output, flags=re.DOTALL)
if commandOutput:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-17.0.5.src/utils/libcxx/test/params.py new/libcxx-17.0.6.src/utils/libcxx/test/params.py
--- old/libcxx-17.0.5.src/utils/libcxx/test/params.py 2023-11-14 09:22:39.000000000 +0100
+++ new/libcxx-17.0.6.src/utils/libcxx/test/params.py 2023-11-28 09:52:28.000000000 +0100
@@ -118,7 +118,7 @@
),
actions=lambda std: [
AddFeature(std),
- AddSubstitution("%{cxx_std}", re.sub("\+", "x", std)),
+ AddSubstitution("%{cxx_std}", re.sub(r"\+", "x", std)),
AddCompileFlag(lambda cfg: getStdFlag(cfg, std)),
],
),
@@ -211,7 +211,7 @@
AddFeature("stdlib={}".format(stdlib)),
# Also add an umbrella feature 'stdlib=libc++' for all flavors of libc++, to simplify
# the test suite.
- AddFeature("stdlib=libc++") if re.match(".+-libc\+\+", stdlib) else None,
+ AddFeature("stdlib=libc++") if re.match(r".+-libc\+\+", stdlib) else None,
],
),
),
++++++ libcxxabi-17.0.5.src.tar.xz -> libcxxabi-17.0.6.src.tar.xz ++++++
++++++ lld-17.0.5.src.tar.xz -> lld-17.0.6.src.tar.xz ++++++
++++++ lldb-17.0.5.src.tar.xz -> lldb-17.0.6.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm17/lldb-17.0.5.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.25432/lldb-17.0.6.src.tar.xz differ: char 15, line 1
++++++ llvm-17.0.5.src.tar.xz -> llvm-17.0.6.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm17/llvm-17.0.5.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.25432/llvm-17.0.6.src.tar.xz differ: char 15, line 1
++++++ llvm-do-not-install-static-libraries.patch ++++++
--- /var/tmp/diff_new_pack.2dzoXU/_old 2023-12-03 20:48:43.905596501 +0100
+++ /var/tmp/diff_new_pack.2dzoXU/_new 2023-12-03 20:48:43.909596647 +0100
@@ -2,10 +2,10 @@
want after installation. By not copying them in the first place we reduce the
disk usage during installation.
-Index: clang-17.0.5.src/cmake/modules/AddClang.cmake
+Index: clang-17.0.6.src/cmake/modules/AddClang.cmake
===================================================================
---- a/clang-17.0.5.src/cmake/modules/AddClang.cmake
-+++ b/clang-17.0.5.src/cmake/modules/AddClang.cmake
+--- a/clang-17.0.6.src/cmake/modules/AddClang.cmake
++++ b/clang-17.0.6.src/cmake/modules/AddClang.cmake
@@ -106,12 +106,15 @@ macro(add_clang_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
@@ -68,10 +68,10 @@
endif()
if (ARG_MODULE)
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
-Index: lld-17.0.5.src/cmake/modules/AddLLD.cmake
+Index: lld-17.0.6.src/cmake/modules/AddLLD.cmake
===================================================================
---- a/lld-17.0.5.src/cmake/modules/AddLLD.cmake
-+++ b/lld-17.0.5.src/cmake/modules/AddLLD.cmake
+--- a/lld-17.0.6.src/cmake/modules/AddLLD.cmake
++++ b/lld-17.0.6.src/cmake/modules/AddLLD.cmake
@@ -17,13 +17,6 @@ macro(add_lld_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
@@ -86,10 +86,10 @@
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-${name}
DEPENDS ${name}
-Index: polly-17.0.5.src/cmake/polly_macros.cmake
+Index: polly-17.0.6.src/cmake/polly_macros.cmake
===================================================================
---- a/polly-17.0.5.src/cmake/polly_macros.cmake
-+++ b/polly-17.0.5.src/cmake/polly_macros.cmake
+--- a/polly-17.0.6.src/cmake/polly_macros.cmake
++++ b/polly-17.0.6.src/cmake/polly_macros.cmake
@@ -42,12 +42,14 @@ macro(add_polly_library name)
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
endif( LLVM_LINK_COMPONENTS )
@@ -110,10 +110,10 @@
endmacro(add_polly_library)
macro(add_polly_loadable_module name)
-Index: polly-17.0.5.src/lib/CMakeLists.txt
+Index: polly-17.0.6.src/lib/CMakeLists.txt
===================================================================
---- a/polly-17.0.5.src/lib/CMakeLists.txt
-+++ b/polly-17.0.5.src/lib/CMakeLists.txt
+--- a/polly-17.0.6.src/lib/CMakeLists.txt
++++ b/polly-17.0.6.src/lib/CMakeLists.txt
@@ -109,7 +109,7 @@ set_target_properties(PollyCore PROPERTI
# It depends on all library it needs, such that with
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
++++++ llvm-docs-17.0.5.src.tar.xz -> llvm-docs-17.0.6.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm17/llvm-docs-17.0.5.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.25432/llvm-docs-17.0.6.src.tar.xz differ: char 27, line 1
++++++ llvm-normally-versioned-libllvm.patch ++++++
--- /var/tmp/diff_new_pack.2dzoXU/_old 2023-12-03 20:48:43.941597822 +0100
+++ /var/tmp/diff_new_pack.2dzoXU/_new 2023-12-03 20:48:43.945597969 +0100
@@ -46,11 +46,11 @@
// If LLVM_LINK_DYLIB is ON, the single shared library will be returned
// for "--libs", etc, if they exist. This behaviour can be overridden with
-Index: llvm-8.0.0rc3.src/tools/llvm-shlib/CMakeLists.txt
+Index: llvm-17.0.6.src/tools/llvm-shlib/CMakeLists.txt
===================================================================
---- llvm-8.0.0rc3.src.orig/tools/llvm-shlib/CMakeLists.txt
-+++ llvm-8.0.0rc3.src/tools/llvm-shlib/CMakeLists.txt
-@@ -42,7 +42,7 @@ if(LLVM_BUILD_LLVM_DYLIB)
+--- llvm-17.0.6.src.orig/tools/llvm-shlib/CMakeLists.txt
++++ llvm-17.0.6.src/tools/llvm-shlib/CMakeLists.txt
+@@ -30,7 +30,7 @@ if(LLVM_BUILD_LLVM_DYLIB)
if (LLVM_LINK_LLVM_DYLIB)
set(INSTALL_WITH_TOOLCHAIN INSTALL_WITH_TOOLCHAIN)
endif()
@@ -58,7 +58,7 @@
+ add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
list(REMOVE_DUPLICATES LIB_NAMES)
- if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
+ if((MINGW) OR (HAIKU)
Index: llvm-17.0.0rc1.src/test/lit.cfg.py
===================================================================
--- llvm-17.0.0rc1.src.orig/test/lit.cfg.py
++++++ openmp-17.0.5.src.tar.xz -> openmp-17.0.6.src.tar.xz ++++++
++++++ polly-17.0.5.src.tar.xz -> polly-17.0.6.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm17/polly-17.0.5.src.tar.xz /work/SRC/openSUSE:Factory/.llvm17.new.25432/polly-17.0.6.src.tar.xz differ: char 15, line 1
++++++ runtimes-17.0.5.src.tar.xz -> runtimes-17.0.6.src.tar.xz ++++++
++++++ third-party-17.0.5.src.tar.xz -> third-party-17.0.6.src.tar.xz ++++++
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mariadb for openSUSE:Factory checked in at 2023-12-03 20:48:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb (Old)
and /work/SRC/openSUSE:Factory/.mariadb.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb"
Sun Dec 3 20:48:18 2023 rev:134 rq:1129788 version:11.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb/mariadb.changes 2023-07-05 15:30:24.966515066 +0200
+++ /work/SRC/openSUSE:Factory/.mariadb.new.25432/mariadb.changes 2023-12-03 20:48:25.572923261 +0100
@@ -1,0 +2,39 @@
+Mon Nov 27 13:28:45 UTC 2023 - Jiri Slaby <jslaby(a)suse.cz>
+
+- Fix location of unwanted binaries (which are deleted)
+- Fix location in rpmlintrc
+- Disable LTO on ppc64le due to error
+- constraints: increase memory to 16G on ppc64le, 10G is no longer enough
+ (perhaps a linker bug?)
+
+-------------------------------------------------------------------
+Tue Oct 17 15:27:14 UTC 2023 - Danilo Spinella <danilo.spinella(a)suse.com>
+
+- Update list of skipped tests
+
+-------------------------------------------------------------------
+Mon Sep 25 13:17:53 UTC 2023 - Danilo Spinella <danilo.spinella(a)suse.com>
+
+- Update to 11.1.2:
+ https://mariadb.com/kb/en/mariadb-11-1-2-release-notes/
+ https://mariadb.com/kb/en/mariadb-11-1-2-changelog/
+ * fixes for the following security vulnerabilities:
+ 11.1.2: none
+- Refresh list of skipped tests
+
+-------------------------------------------------------------------
+Wed Sep 6 18:44:22 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Workaround build failure with fmt-10: require fmt < 10
+
+-------------------------------------------------------------------
+Wed Aug 23 14:20:35 UTC 2023 - Danilo Spinella <danilo.spinella(a)suse.com>
+
+- Update to 11.0.3:
+ * release notes and changelog:
+ https://mariadb.com/kb/en/mariadb-11-0-3-release-notes/
+ https://mariadb.com/kb/en/mariadb-11-0-3-changelog/
+ * fixes for the following security vulnerabilities:
+ 11.0.3: none
+
+-------------------------------------------------------------------
Old:
----
mariadb-11.0.2.tar.gz
mariadb-11.0.2.tar.gz.asc
New:
----
mariadb-11.1.2.tar.gz
mariadb-11.1.2.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb.spec ++++++
--- /var/tmp/diff_new_pack.ZOo1OA/_old 2023-12-03 20:48:27.032976879 +0100
+++ /var/tmp/diff_new_pack.ZOo1OA/_new 2023-12-03 20:48:27.036977026 +0100
@@ -52,7 +52,7 @@
# Build with cracklib plugin when cracklib-dict-full >= 2.9.0 is available
%define with_cracklib_plugin 0
Name: mariadb
-Version: 11.0.2
+Version: 11.1.2
Release: 0
Summary: Server part of MariaDB
License: SUSE-GPL-2.0-with-FLOSS-exception
@@ -136,7 +136,7 @@
BuildRequires: perl(Time::HiRes)
# Do not ever switch away from BuildRequires: pkgconfig(libsystemd); BuildRequires systemd/systemd-devel causes build cycles
BuildRequires: pkgconfig(libsystemd)
-BuildRequires: pkgconfig(fmt)
+BuildRequires: pkgconfig(fmt) < 10
#!BuildIgnore: user(mysql)
# Required by rcmysql
Requires: %{name}-client
@@ -316,7 +316,7 @@
%description test
This package contains the test scripts and data for MariaDB.
-To run the testsuite, run %{_datadir}/mysql-test/suse-test-run.
+To run the testsuite, run %{_datadir}/%{name}-test/suse-test-run.
%package tools
Summary: MariaDB tools
@@ -383,7 +383,7 @@
rm -f sql/sql_builtin.cc
# Broken test that needs sources
-rm -f mysql-test/t/file_contents.test mysql-test/r/file_contents.result
+rm -f %{name}-test/t/file_contents.test %{name}-test/r/file_contents.result
# Specify perl path on shebangs
for i in `grep -Rl '^#!%{_bindir}/env perl$' .`; do
@@ -535,15 +535,15 @@
rm -f %{buildroot}%{_datadir}/mysql/{errmsg-utf8.txt,mysql-log-rotate}
rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
# binary-configure creates the MySQL system tables and starts the server (not used)
-rm -f %{buildroot}%{_datadir}/mysql/binary-configure
+rm -f %{buildroot}%{_datadir}/%{name}/binary-configure
# FS files first-bytes recoginiton (not updated by upstream since nobody realy use that)
-rm -f %{buildroot}%{_datadir}/mysql/magic
+rm -f %{buildroot}%{_datadir}/%{name}/magic
# Upstream ships them because of MDEV-10797 (we don't need them as we use our own systemd scripts)
-rm -f %{buildroot}%{_datadir}/mysql/mysql.server
-rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
+rm -f %{buildroot}%{_datadir}/%{name}/mysql.server
+rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server
# upstream installs links for mysql
-unlink %{buildroot}%{_datadir}/mysql/systemd/mysql.service
-unlink %{buildroot}%{_datadir}/mysql/systemd/mysqld.service
+unlink %{buildroot}%{_datadir}/%{name}/systemd/mysql.service
+unlink %{buildroot}%{_datadir}/%{name}/systemd/mysqld.service
unlink %{buildroot}%{_unitdir}/mysqld.service
# The old fork of mytop utility (we ship it as a separate package)
rm -f %{buildroot}%{_bindir}/mytop
@@ -619,7 +619,7 @@
filelist msql2mysql mysql_plugin mariadb-plugin mysql_convert_table_format mariadb-convert-table-format mysql_find_rows mariadb-find-rows mysql_setpermission mariadb-setpermission mysql_tzinfo_to_sql mariadb-tzinfo-to-sql mysqlaccess mariadb-access mysqlhotcopy mariadb-hotcopy perror replace mysql_embedded mariadb-embedded aria_s3_copy mariadb-conv >mariadb-tools.files
# All configuration files
-echo '%{_datadir}/mysql/*.cnf' >> mariadb.files
+echo '%{_datadir}/%{name}/*.cnf' >> mariadb.files
# Special errormessages approach
echo '%%defattr(-, root, root)' > %{_builddir}/errormessages.files
@@ -671,18 +671,18 @@
EOF
# Testsuite
-install -d -m 755 '%{buildroot}'%{_datadir}/mysql-test/
-install -m 755 suse-test-run '%{buildroot}'%{_datadir}/mysql-test/
-mkdir '%{buildroot}'%{_datadir}/mysql-test%{_localstatedir}
+install -d -m 755 '%{buildroot}'%{_datadir}/%{name}-test/
+install -m 755 suse-test-run '%{buildroot}'%{_datadir}/%{name}-test/
+mkdir '%{buildroot}'%{_datadir}/%{name}-test%{_localstatedir}
# Install the list of skipped tests to be available for user runs
-install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test
-ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/suse_skipped_tests.list
+install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/%{name}-test
+ln -s unstable-tests %{buildroot}%{_datadir}/%{name}-test/suse_skipped_tests.list
# Final fixes
-find '%{buildroot}'%{_datadir}/mysql-test -name '*.orig' -delete
-%fdupes -s '%{buildroot}'%{_datadir}/mysql-test
-fdupes -q -n -r '%{buildroot}'%{_datadir}/mysql-test
+find '%{buildroot}'%{_datadir}/%{name}-test -name '*.orig' -delete
+%fdupes -s '%{buildroot}'%{_datadir}/%{name}-test
+fdupes -q -n -r '%{buildroot}'%{_datadir}/%{name}-test
for i in `grep -Rl '\r' '%{buildroot}'%{_datadir}/sql-bench`; do
dos2unix "$i"
done
@@ -845,7 +845,7 @@
%endif
%config(noreplace) %{_pam_secconfdir}/user_map.conf
%config %{_sysconfdir}/logrotate.d/%{name}
-%{_datadir}/mysql/%{name}.logrotate
+%{_datadir}/%{name}/%{name}.logrotate
%doc %{_defaultdocdir}/%{name}
%dir %{_libexecdir}/mysql
%dir %attr(0700, mysql, mysql) %{_localstatedir}/log/mysql
@@ -863,7 +863,6 @@
%{_sbindir}/rcmysql
%{_sbindir}/rcmariadb
%dir %{_datadir}/%{name}
-%dir %{_datadir}/mysql
%{_datadir}/%{name}/charsets/
%{_datadir}/%{name}/*.sql
%dir %{_libdir}/mysql
@@ -889,19 +888,19 @@
%{_datadir}/groonga-normalizer-mysql/README.md
%{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt
%endif
-%dir %{_datadir}/mysql/policy
-%dir %{_datadir}/mysql/policy/apparmor
-%{_datadir}/mysql/policy/apparmor/README
-%{_datadir}/mysql/policy/apparmor/usr.sbin.mysqld*
-%dir %{_datadir}/mysql/policy/selinux
-%{_datadir}/mysql/policy/selinux/README
-%{_datadir}/mysql/policy/selinux/mariadb-server.*
-%{_datadir}/mysql/policy/selinux/mariadb.te
-%dir %{_datadir}/mysql/systemd
-%{_datadir}/mysql/systemd/mariadb.service
-%{_datadir}/mysql/systemd/mariadb@.service
-%{_datadir}/mysql/systemd/mariadb-extra@.socket
-%{_datadir}/mysql/systemd/mariadb@.socket
+%dir %{_datadir}/%{name}/policy
+%dir %{_datadir}/%{name}/policy/apparmor
+%{_datadir}/%{name}/policy/apparmor/README
+%{_datadir}/%{name}/policy/apparmor/usr.sbin.mysqld*
+%dir %{_datadir}/%{name}/policy/selinux
+%{_datadir}/%{name}/policy/selinux/README
+%{_datadir}/%{name}/policy/selinux/mariadb-server.*
+%{_datadir}/%{name}/policy/selinux/mariadb.te
+%dir %{_datadir}/%{name}/systemd
+%{_datadir}/%{name}/systemd/mariadb.service
+%{_datadir}/%{name}/systemd/mariadb@.service
+%{_datadir}/%{name}/systemd/mariadb-extra@.socket
+%{_datadir}/%{name}/systemd/mariadb@.socket
%files rpm-macros
%{_rpmmacrodir}/macros.mariadb-test
@@ -923,8 +922,8 @@
%files galera -f mariadb-galera.files
%doc Docs/README.wsrep
%config(noreplace) %attr(-, root, mysql) %{_sysconfdir}/my.cnf.d/50-galera.cnf
-%{_datadir}/mysql/systemd/use_galera_new_cluster.conf
-%{_datadir}/mysql/wsrep_notify
+%{_datadir}/%{name}/systemd/use_galera_new_cluster.conf
+%{_datadir}/%{name}/wsrep_notify
%endif
%files errormessages -f mariadb-errormessages.files
@@ -932,17 +931,17 @@
%files bench -f mariadb-bench.files
%{_datadir}/sql-bench
-%{_datadir}/mysql/mini-benchmark
+%{_datadir}/%{name}/mini-benchmark
%files test -f mariadb-test.files
%{_bindir}/test-connect-t
%{_mandir}/man1/my_safe_process.1%{?ext_man}
%{_mandir}/man1/mysql-test-run.pl.1%{?ext_man}
%{_mandir}/man1/mysql-stress-test.pl.1%{?ext_man}
-%{_datadir}/mysql-test/valgrind.supp
-%dir %attr(755, mysql, mysql) %{_datadir}/mysql-test
-%attr(-, mysql, mysql) %{_datadir}/mysql-test/[^v]*
-%dir %attr(755, mysql, mysql) %{_datadir}/mysql-test%{_localstatedir}
+%{_datadir}/%{name}-test/valgrind.supp
+%dir %attr(755, mysql, mysql) %{_datadir}/%{name}-test
+%attr(-, mysql, mysql) %{_datadir}/%{name}-test/[^v]*
+%dir %attr(755, mysql, mysql) %{_datadir}/%{name}-test%{_localstatedir}
%files tools -f mariadb-tools.files
%{_bindir}/mysqlrepair
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.ZOo1OA/_old 2023-12-03 20:48:27.112979817 +0100
+++ /var/tmp/diff_new_pack.ZOo1OA/_new 2023-12-03 20:48:27.116979964 +0100
@@ -13,7 +13,6 @@
<arch>i586</arch>
<arch>x86_64</arch>
<arch>aarch64</arch>
- <arch>ppc64le</arch>
<arch>ppc</arch>
</conditions>
<hardware>
@@ -22,5 +21,16 @@
</physicalmemory>
</hardware>
</overwrite>
+
+ <overwrite>
+ <conditions>
+ <arch>ppc64le</arch>
+ </conditions>
+ <hardware>
+ <physicalmemory>
+ <size unit="G">16</size>
+ </physicalmemory>
+ </hardware>
+ </overwrite>
</constraints>
++++++ mariadb-11.0.2.tar.gz -> mariadb-11.1.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/mariadb/mariadb-11.0.2.tar.gz /work/SRC/openSUSE:Factory/.mariadb.new.25432/mariadb-11.1.2.tar.gz differ: char 18, line 1
++++++ mariadb-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.ZOo1OA/_old 2023-12-03 20:48:27.204983196 +0100
+++ /var/tmp/diff_new_pack.ZOo1OA/_new 2023-12-03 20:48:27.208983343 +0100
@@ -2,7 +2,7 @@
# Zero-length
# Some test results can be zero-length files
-addFilter(r'(zero-length|pem-certificate) /usr/share/mysql-test/*')
+addFilter(r'(zero-length|pem-certificate) /usr/share/mariadb-test/*')
# Permissions
# wsrep_sst_common
@@ -15,12 +15,12 @@
# Support both rpmlint 1.x and 2.x
# Wrong location
# wsrep_check_version is a wsrep version check utility. Used in testing only.
-addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mysql-test/lib/My/SafeProcess/wsrep_check_version')
-addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test/lib/My/SafeProcess/wsrep_check_version')
+addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mariadb-test/lib/My/SafeProcess/wsrep_check_version')
+addFilter(r'arch-dependent-file-in-usr-share /usr/share/mariadb-test/lib/My/SafeProcess/wsrep_check_version')
# my_safe_process is an utility that encapsulates process creation, monitoring and cleanup. Used in testing only.
-addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mysql-test/lib/My/SafeProcess/my_safe_process')
-addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test/lib/My/SafeProcess/my_safe_process')
+addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mariadb-test/lib/My/SafeProcess/my_safe_process')
+addFilter(r'arch-dependent-file-in-usr-share /usr/share/mariadb-test/lib/My/SafeProcess/my_safe_process')
# pam_mariadb_mtr.so is a pam module to test pam authentication plugin. Used in pam.test only.
-addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so')
-addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so')
+addFilter(r'arch-dependent-file-in-usr-share .* /usr/share/mariadb-test/suite/plugins/pam/pam_mariadb_mtr.so')
+addFilter(r'arch-dependent-file-in-usr-share /usr/share/mariadb-test/suite/plugins/pam/pam_mariadb_mtr.so')
++++++ suse_skipped_tests.list ++++++
--- /var/tmp/diff_new_pack.ZOo1OA/_old 2023-12-03 20:48:27.324987603 +0100
+++ /var/tmp/diff_new_pack.ZOo1OA/_new 2023-12-03 20:48:27.328987750 +0100
@@ -1,91 +1,7 @@
#----------------------------------------------------------------
-
-# The SSL tests that are failing correctly
-main.ssl_7937 : bsc#937835, MDEV-8404
-main.ssl_crl : bsc#937835, MDEV-8404
-main.ssl_8k_key : bsc#937835, MDEV-8404
-
-# Main and perfschema tests
-main.userstat : bsc#937836, MDEV-8446
-perfschema.nesting : bsc#937836, MDEV-8446
-perfschema.socket_summary_by_event_name_func : bsc#937836, MDEV-8446
-perfschema.socket_summary_by_instance_func : bsc#937836, MDEV-8446
-
-# Failing because of "Self Signed Certificate in the Certificate Chain"
-perfschema.cnf_option : all
-rpl.rpl_row_img_blobs : all MDEV-13875
-rpl.rpl_row_img_eng_min : all MDEV-13875
-rpl.rpl_row_img_eng_noblob : all MDEV-13875
-
-# The tests of plugins we don't build
-main.plugin_auth : since 10.4.10 - all, we don't build mysql_clear_password plugin
-plugins.auth_ed25519 : since 10.4.10 - all, we don't build client_ed25519 plugin
-plugins.multiauth : since 10.4.10 - all, we don't build client_ed25519 plugin
-unit.ed25519 : since 10.4.12 - ppc, we don't build client_ed25519 plugin
-
-#----------------------------------------------------------------
-
-# Needs to be investigated (issues trackers will be added)
-sys_vars.slave_parallel_threads_basic : since 10.3.16 - x86_64, i386, s390x, armv7l, aarch64, ppc64, ppc64le
-main.gis_notembedded : since 10.3.16 - x86_64, i386, s390x, armv7l, aarch64, ppc64, ppc64le
-versioning.partition : since 10.3.16 - armv7l
-innodb.innodb-page_compression_lzma : since 10.3.20 - armv7l
-sys_vars.sysvars_wsrep : since 10.4.12 - ppc
-rpl.rpl_ip_mix : since 10.4.10 - all
-rpl.rpl_ip_mix2 : since 10.4.10 - all
-rpl.rpl_ipv4_as_ipv6 : since 10.4.10 - all
-rpl.rpl_ipv6 : since 10.4.10 - all
-perfschema.socket_instances_func : since 10.4.10 - all
-main.ipv4_and_ipv6 : since 10.4.10 - all
-main.ipv4_as_ipv6 : since 10.4.10 - all
-main.ipv6 : since 10.4.10 - all
-main.information_schema : since 10.4.10 - all
-main.system_mysql_db : since 10.4.10 - all
-main.gis_notembedded : since 10.4.10 - all
-funcs_1.is_columns_mysql : since 10.4.10 - all
-sys_vars.tcp_nodelay : since 10.4.10 - all
-oqgraph.social : since 10.4.12 - i586 (MDEV-22280)
-main.symlink-myisam-11902 : since 10.4.13 - i586
-main.ssl_system_ca : since 10.4.14 - all
type_test.type_test_double : since 10.5.6 - all
-main.sp2 : since 10.5.8 - all
-main.mysqld--help-aria : since 10.5.8 - all
-unit.conc_connection : since 10.5.8 - all
-main.not_partition : since 10.5.8 - aarch64
-period.overlaps : since 10.5.8 - s390x
-perfschema.memory_aggregate_32bit : since 10.5.8 - s390x
-perfschema.socket_connect : since 10.5.8 - s390x
-sys_vars.gtid_ignore_duplicates_grant : since 10.5.8 - i586
-sys_vars.myisam_stats_method_basic : since 10.5.8 - i586
-innodb.innodb-page_compression_bzip2 : since 10.5.8 - i586
-sys_vars.read_only_func : since 10.5.8 - i586
-sys_vars.big_tables_basic : since 10.5.8 - i586
-main.mysql_protocols : since 10.5.8 - i586
-sys_vars.max_prepared_stmt_count_func : since 10.5.8 - i586
-sys_vars.net_read_timeout_basic : since 10.5.8 - i586
-sys_vars.key_cache_age_threshold_basic : since 10.5.8 - i586
-main.upgrade_MDEV-19650 : since 10.5.8 - x86_64
-main.upgrade_MDEV-23102-1 : since 10.5.8 - x86_64
-main.upgrade_MDEV-23102-2 : since 10.5.8 - x86_64
-main.mysql_upgrade_to_100502 : since 10.5.8 - x86_64
-sys_vars.profiling_history_size_basic : since 10.5.8 - x86_64
-sys_vars.old_alter_table_basic : since 10.5.8 - x86_64
-roles.acl_statistics : since 10.7.3 - x86_64
-main.stat_tables_innodb : since 10.7.3 - x86_64
-main.stat_tables : since 10.7.3 - x86_64
-plugins.feedback_plugin_load : since 10.7.3 - x86_64
-main.explain_non_select : since 10.7.3 - x86_64
-main.selectivity_no_engine : since 10.7.3 - x86_64
main.mysql_upgrade : since 10.7.3 - x86_64
-perfschema.privilege_table_io : since 10.7.3 - x86_64
-
-perfschema.threads_mysql : since 10.8.3 - x86_64 (MDEV-28674)
-disks.disks : since 10.8.3 - x86_64
-disks.disks_notembedded : since 10.8.3 - x86_64
-innodb.row_size_error_log_warnings_3 : since 10.8.3 - s390x
-main.func_json_notembedded : since 10.8.3 - s390x, ppc64
-main.func_math : since 10.8.3 - ppc64le
binlog_encryption.rpl_cant_read_event_incident : since 10.9.2 - all
rpl.rpl_perfschema_applier_status_by_coordinator : since 10.9.2 - all
@@ -97,26 +13,27 @@
rpl.rpl_reset_slave_fail : since 10.9.2 - all
rpl.rpl_domain_id_filter_restart : since 10.9.2 - all
rpl.rpl_upgrade_master_info : since 10.9.2 - all
-binlog_encryption.rpl_gtid_basic : since 10.9.2 - all
-multi_source.info_logs : since 10.9.2 - all
-rpl.rpl_mdev6020 : since 10.9.2 - all
-rpl.rpl_semi_sync_wait_point : since 10.9.2 - all
-rpl.rpl_err_ignoredtable : since 10.9.2 - all
-rpl.rpl_trigger : since 10.9.2 - all
-rpl.rpl_row_img_sequence : since 10.9.2 - all
-rpl.rpl_gtid_basic : since 10.9.2 - all
-rpl.rpl_old_master : since 10.9.2 - all
-main.loadxml : since 10.9.2 - all
-main.lock_kill : since 10.9.2 - all
-innodb.innodb_bug51920 : since 10.9.2 - all
-rpl.rpl_slave_shutdown_mdev20821 : since 10.9.2 - all
-
-rpl.rpl_change_master_demote : since 10.10.2 - all
-
+
rpl.rpl_rewrite_db_sys_vars : since 10.11.2 - all
-
-unit.aes : since 10.11.3 - s390x
-
-innodb.log_file_size_online : since 11.0.2 - all
-
+
+binlog_encryption.rpl_gtid_basic : since 11.1.2 - all
+multi_source.info_logs : since 11.1.2 - all
+rpl.rpl_change_master_demote : since 11.1.2 - all
+rpl.rpl_mdev6020 : since 11.1.2 - all
+rpl.rpl_trigger : since 11.1.2 - all
+rpl.rpl_semi_sync_wait_point : since 11.1.2 - all
+rpl.rpl_err_ignoredtable : since 11.1.2 - all
+rpl.rpl_old_master : since 11.1.2 - all
+rpl.rpl_gtid_basic : since 11.1.2 - all
+rpl.rpl_slave_shutdown_mdev20821 : since 11.1.2 - all
+main.userstat : since 11.1.2 - all
+perfschema.threads_mysql : since 11.1.2 - all
+main.information_schema : since 11.1.2 - all
+main.ssl_crl : since 11.1.2 - all
+perfschema.nesting : since 11.1.2 - all
+perfschema.socket_summary_by_event_name_func : since 11.1.2 - all
+perfschema.socket_summary_by_instance_func : since 11.1.2 - all
+main.lock_kill : since 11.1.2 - all
+main.loadxml : since 11.1.2 - all
+sys_vars.tcp_nodelay : since 11.1.2 - all
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package fmt for openSUSE:Factory checked in at 2023-12-03 20:48:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fmt (Old)
and /work/SRC/openSUSE:Factory/.fmt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fmt"
Sun Dec 3 20:48:15 2023 rev:22 rq:1109008 version:10.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/fmt/fmt.changes 2023-03-14 18:15:51.351478814 +0100
+++ /work/SRC/openSUSE:Factory/.fmt.new.25432/fmt.changes 2023-12-03 20:48:17.580629757 +0100
@@ -1,0 +2,38 @@
+Tue Aug 29 08:18:11 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 10.1.1
+ * Added formatters for std::atomic and atomic_flag.
+ * Fixed an error about partial specialization of
+ formatter<string> after instantiation (GCC, C++20 mode).
+ * Made fmt::to_string work with types that have format_as
+ overloads.
+ * Made formatted_size work with integral format specifiers at
+ compile time.
+
+-------------------------------------------------------------------
+Sat Aug 12 22:50:35 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 10.1
+ * Optimized format string compilation resulting in up to 40%
+ speed up in compiled format_to and ~4x speed up in compiled
+ format_to_n on a concatenation benchmark.
+
+-------------------------------------------------------------------
+Thu May 11 18:11:28 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 10
+ * New floating-point formatting algorithm for given precision.
+ The new algorithm is based on Dragonbox.
+ * Replaced snprintf-based hex float formatter with an internal
+ implementation.
+ * Made format_as work with any user-defined type and not just
+ enums.
+ * Removed deprecated implicit conversions for enums and
+ conversions to primitive types for compatibility with
+ std::format and to prevent potential ODR violations. Use
+ format_as instead.
+ * Implemented formatting of subseconds.
+ * Added formatters for std::priority_queue, std::queue,
+ std::stack, std;:optional.
+
+-------------------------------------------------------------------
Old:
----
9.1.0.tar.gz
New:
----
10.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fmt.spec ++++++
--- /var/tmp/diff_new_pack.NBi7kf/_old 2023-12-03 20:48:18.432661046 +0100
+++ /var/tmp/diff_new_pack.NBi7kf/_new 2023-12-03 20:48:18.432661046 +0100
@@ -16,9 +16,9 @@
#
-%define sover 9
+%define sover 10
Name: fmt
-Version: 9.1.0
+Version: 10.1.1
Release: 0
Summary: A formatting library for C++
License: MIT
@@ -31,17 +31,17 @@
%description
Fmt is a formatting library for C++. It can be used as an
-alternative to (s)printf and IOStreams.
+alternative to (s)printf and iostreams.
-%package -n libfmt%{sover}
+%package -n libfmt%sover
Summary: A formatting library for C++
-%description -n libfmt%{sover}
+%description -n libfmt%sover
Shared library for fmt, a formatting library for C++.
%package devel
Summary: Development files for fmt, a formatting library
-Requires: libfmt%{sover} = %{version}
+Requires: libfmt%sover = %version
%description devel
Development files for fmt, a formatting library for C++.
@@ -51,8 +51,9 @@
%build
# X87 fix for excessive precision: https://github.com/fmtlib/fmt/issues/3337
-%global optflags %optflags -ffloat-store
-%cmake -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir}
+export CFLAGS="%optflags -ffloat-store"
+export CXXFLAGS="$CFLAGS"
+%cmake -DCMAKE_INSTALL_INCLUDEDIR:PATH="%_includedir"
%cmake_build
%install
@@ -60,20 +61,20 @@
%check
# path needs to be exported otherwise unit tests will fail
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir}
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:%buildroot/%_libdir"
%ctest
-%post -n libfmt%{sover} -p /sbin/ldconfig
-%postun -n libfmt%{sover} -p /sbin/ldconfig
+%post -n libfmt%sover -p /sbin/ldconfig
+%postun -n libfmt%sover -p /sbin/ldconfig
-%files -n libfmt%{sover}
+%files -n libfmt%sover
%license LICENSE.rst
-%{_libdir}/libfmt.so.%{sover}*
+%_libdir/libfmt.so.%{sover}*
%files devel
%doc ChangeLog.rst README.rst
-%{_includedir}/%{name}
-%{_libdir}/cmake/%{name}
-%{_libdir}/libfmt.so
-%{_libdir}/pkgconfig/%{name}.pc
+%_includedir/%name
+%_libdir/cmake/%name
+%_libdir/libfmt.so
+%_libdir/pkgconfig/%name.pc
++++++ 9.1.0.tar.gz -> 10.1.1.tar.gz ++++++
++++ 16642 lines of diff (skipped)
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.NBi7kf/_old 2023-12-03 20:48:18.612667657 +0100
+++ /var/tmp/diff_new_pack.NBi7kf/_new 2023-12-03 20:48:18.612667657 +0100
@@ -1,2 +1,2 @@
-libfmt9
+libfmt10
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libselinux for openSUSE:Factory checked in at 2023-12-03 20:48:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libselinux (Old)
and /work/SRC/openSUSE:Factory/.libselinux.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libselinux"
Sun Dec 3 20:48:13 2023 rev:77 rq:1130232 version:3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/libselinux/libselinux-bindings.changes 2023-08-09 17:24:30.369101182 +0200
+++ /work/SRC/openSUSE:Factory/.libselinux.new.25432/libselinux-bindings.changes 2023-12-03 20:48:14.684523402 +0100
@@ -1,0 +2,5 @@
+Thu Nov 30 16:41:34 UTC 2023 - Hu <cathy.hu(a)suse.com>
+
+- Also build python3-selinux for toolchain compability on SLE
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libselinux-bindings.spec ++++++
--- /var/tmp/diff_new_pack.ATR8fg/_old 2023-12-03 20:48:16.052573641 +0100
+++ /var/tmp/diff_new_pack.ATR8fg/_new 2023-12-03 20:48:16.056573788 +0100
@@ -16,7 +16,7 @@
#
-%{?sle15_python_module_pythons}
+%{?sle15allpythons}
%define python_subpackage_only 1
%define libsepol_ver 3.5
%define upname libselinux
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2023-12-02 23:05:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sat Dec 2 23:05:44 2023 rev:3825 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.344469851 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.348469997 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20231201" schemaversion="4.1">
+<image name="OBS__MicroOS___20231202" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231201</productvar>
+ <productvar name="VERSION">20231202</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231201,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231202,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231201/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231202/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-Addon-NonOss-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.376471023 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.380471170 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20231201" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20231202" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231201</productvar>
+ <productvar name="VERSION">20231202</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231201,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231202,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2023…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2023…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.400471902 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.404472049 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231201" schemaversion="4.1">
+<image name="OBS__openSUSE___20231202" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231201</productvar>
+ <productvar name="VERSION">20231202</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231201,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231202,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231201/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231202/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
openSUSE-dvd5-dvd-x86_64.kiwi: same change
++++++ openSUSE-ftp-ftp-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.444473514 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.448473661 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231201" schemaversion="4.1">
+<image name="OBS__openSUSE___20231202" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -20,7 +20,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20231201-i586</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231202-i586</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231201</productvar>
+ <productvar name="VERSION">20231202</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231201,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231202,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231201/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231202/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.468474393 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.472474540 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231201" schemaversion="4.1">
+<image name="OBS__openSUSE___20231202" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -23,7 +23,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20231201-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231202-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231201</productvar>
+ <productvar name="VERSION">20231202</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231201,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231202,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231201/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231202/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ Aeon.product ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.508475858 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.512476005 +0100
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20231201</version>
+ <version>20231202</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.532476738 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.536476884 +0100
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20231201</version>
+ <version>20231202</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.616479814 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.620479960 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231201</version>
+ <version>20231202</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.640480693 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.640480693 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231201</version>
+ <version>20231202</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.CC6jgP/_old 2023-12-02 23:05:51.712483331 +0100
+++ /var/tmp/diff_new_pack.CC6jgP/_new 2023-12-02 23:05:51.720483624 +0100
@@ -3922,6 +3922,7 @@
- file-devel
- file-devel-32bit
- file-unpack
+ - file-unpack2
- fileb0x
- filebench
- filezilla
@@ -12518,7 +12519,7 @@
- libibdm1
- libibmad5
- libibmad5-32bit
- - libibmtss1
+ - libibmtss2
- libibnetdisc5
- libibumad3
- libibumad3-32bit
@@ -20202,6 +20203,7 @@
- perl-File-TreeCreate
- perl-File-Type
- perl-File-Unpack
+ - perl-File-Unpack2
- perl-File-Which
- perl-File-chdir
- perl-File-pushd
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2023-12-02 23:05:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Sat Dec 2 23:05:42 2023 rev:2622 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
MicroOS-release.spec: same change
openSUSE-Addon-NonOss-release.spec: same change
openSUSE-release.spec: same change
stub.spec: same change
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.x5qWaP/_old 2023-12-02 23:05:47.296321577 +0100
+++ /var/tmp/diff_new_pack.x5qWaP/_new 2023-12-02 23:05:47.308322017 +0100
@@ -13474,6 +13474,7 @@
Provides: weakremover(libibcm1)
Provides: weakremover(libibcm1-32bit)
Provides: weakremover(libibmtss0)
+Provides: weakremover(libibmtss1)
Provides: weakremover(libibnetdisc5-32bit)
Provides: weakremover(libical-devel-static)
Provides: weakremover(libical-glib3-32bit)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2023-12-02 21:04:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sat Dec 2 21:04:09 2023 rev:2387 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_3823.2.packages.zst
factory_20231130.packages.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-fake-useragent for openSUSE:Factory checked in at 2023-12-02 17:13:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fake-useragent (Old)
and /work/SRC/openSUSE:Factory/.python-fake-useragent.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-fake-useragent"
Sat Dec 2 17:13:41 2023 rev:10 rq:1130471 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fake-useragent/python-fake-useragent.changes 2023-08-10 15:33:35.036045326 +0200
+++ /work/SRC/openSUSE:Factory/.python-fake-useragent.new.25432/python-fake-useragent.changes 2023-12-02 17:14:04.055314938 +0100
@@ -1,0 +2,16 @@
+Sat Dec 2 14:16:36 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.4.0:
+ * python 3.12 support
+ * Introducing new `ua.getRandom`, `ua.getFirefox`,
+ `ua.getChrome`, `ua.getSafari`. And a generic method:
+ `ua.getBrowser(..)` (eg. `getBrowser('firefox')`)
+ These new properties above allows you to retrieve the whole
+ raw Python dictionary, instead of only the UA string.
+ These properties might return different key/values pairs in
+ the future! So `ua.random` is a more stable interface.
+ * Improved user-agent scraper (now also containing Safari
+ browser again)
+ * Updated browsers.json data file
+
+-------------------------------------------------------------------
Old:
----
fake-useragent-1.2.1.tar.gz
New:
----
fake-useragent-1.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-fake-useragent.spec ++++++
--- /var/tmp/diff_new_pack.wSkaXy/_old 2023-12-02 17:14:04.467330037 +0100
+++ /var/tmp/diff_new_pack.wSkaXy/_new 2023-12-02 17:14:04.467330037 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-fake-useragent
-Version: 1.2.1
+Version: 1.4.0
Release: 0
Summary: Useragent faker package for Python
License: Apache-2.0
++++++ fake-useragent-1.2.1.tar.gz -> fake-useragent-1.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/.github/workflows/action.yml new/fake-useragent-1.4.0/.github/workflows/action.yml
--- old/fake-useragent-1.2.1/.github/workflows/action.yml 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/.github/workflows/action.yml 2023-11-24 22:04:08.000000000 +0100
@@ -16,7 +16,7 @@
runs-on: ubuntu-latest # [macos-latest, windows-latest]
strategy:
matrix:
- python-version: ["3.8", "3.9", "3.10", "3.11", "pypy-3.9"]
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.9"]
name: Python ${{ matrix.python-version }} Test
steps:
- uses: actions/checkout@v3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/.github/workflows/ruff.yml new/fake-useragent-1.4.0/.github/workflows/ruff.yml
--- old/fake-useragent-1.2.1/.github/workflows/ruff.yml 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/.github/workflows/ruff.yml 2023-11-24 22:04:08.000000000 +0100
@@ -9,11 +9,11 @@
- master
jobs:
- ruff:
+ ruff-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: pip install -r requirements.txt
- - name: Ruff
- run: ruff --format=github .
+ - name: Ruff Check
+ run: ruff check .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/README.md new/fake-useragent-1.4.0/README.md
--- old/fake-useragent-1.2.1/README.md 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/README.md 2023-11-24 22:04:08.000000000 +0100
@@ -8,6 +8,7 @@
- Data is pre-downloaded from [techblog.willshouse.com](https://techblog.willshouse.com/2012/01/03/most-co… and the data is part of the package
- Retrieves user-agent strings locally
+- Retrieve user-agent Python dictionary
- Supports Python 3.x
### Installation
@@ -24,7 +25,7 @@
### Usage
-Simple usage example, see below for more examples:
+Simple usage examples below, see also next chapters in this readme for more advanced usages:
```py
from fake_useragent import UserAgent
@@ -87,6 +88,37 @@
_Hint:_ Of-course you can **combine all those arguments** to you liking!
+#### User-agent Python Dictionary
+
+Since version 1.3.0 we now also offer you the following "get" properties which return the whole Python dictionary of the UA, instead of only the user-agent string:
+
+> **Warning**
+> Raw JSON objects (in a Python dictionaries) are returned "as is".
+> Meaning, this data structure could change in the future!
+>
+> Be aware that these "get" properties below might not return the same key/value pairs in the future.
+> Use `ua.random` or alike as mentioned above, if you want to use a stable interface.
+
+```py
+from fake_useragent import UserAgent
+ua = UserAgent()
+
+# Random user-agent dictionary (object)
+ua.getRandom
+# {'percent': 0.8, 'useragent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76', 'system': 'Edge 116.0 Win10', 'browser': 'edge', 'version': 116.0, 'os': 'win10'}
+
+# More get properties:
+ua.getFirefox
+# {'percent': 0.3, 'useragent': 'Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/118.0', 'system': 'Firefox 118.0 Win10', 'browser': 'firefox', 'version': 118.0, 'os': 'win10'}
+ua.getChrome
+ua.getSafari
+ua.getEdge
+
+# And a method with an argument.
+# This is exactly the same as using: ua.getFirefox
+ua.getBrowser('firefox')
+```
+
### Notes
You can override the fallback string using the `fallback` parameter, in very rare cases something failed:
@@ -132,10 +164,10 @@
pip install --upgrade fake-useragent
```
-Or if that isn't working, try to install the latest package version like this (`1.2.0` is an example, check what the [latest version is on PyPi](https://pypi.org/project/fake-useragent/#history)):
+Or if that isn't working, try to install the latest package version like this (`1.4.0` is an example, check what the [latest version is on PyPi](https://pypi.org/project/fake-useragent/#history)):
```sh
-pip install fake-useragent==1.2.0
+pip install fake-useragent==1.4.0
```
Check version via the Python console:
@@ -178,15 +210,40 @@
#### Linting
-To fix imports:
+To fix imports using ruff:
```sh
pip install -r requirements.txt
-ruff --select="I" --fix .
+ruff check --select="I" --fix .
```
+Fix black code formatting errors:
+
+```sh
+pip install -r requirements.txt
+black .
+```
+
+_Note:_ When ruff v1.0 releases, we most likely move fully towards `ruff` instead of `black`.
+
### Changelog
+- 1.4.0 November 24, 2023
+
+ - Update all PIP packages
+ - Support Python 3.12 (thanks @vladkens)
+ - Fix package conflict in cache scraper
+ - Improve ruff CLI calls
+
+- 1.3.0 October 2, 2023
+
+ - Introducing new `ua.getRandom`, `ua.getFirefox`, `ua.getChrome`, `ua.getSafari`. And a generic method: `ua.getBrowser(..)` (eg. `getBrowser('firefox')`)
+ - These new properties above allows you to retrieve the whole raw Python dictionary, instead of only the UA string.
+ - These properties might return different key/values pairs in the future!
+ - Fix the `os` argument 'windows' to check for both `win10`and `win7` values (previously only checking on `win10`), thus returning more UAs
+ - Improved user-agent scraper (now also containing Safari browser again)
+ - Updated browsers.json data file
+
- 1.2.1 August 2, 2023
- Small improvements in the `min_percentage` check
@@ -198,6 +255,7 @@
- Allow filters on browser, OS and usage percentage
- Update the cache scraper to scape the new data source for user-agent strings
- Adapted the code to work with the new JSON data format
+ - Parameter `use_external_data=True` and `verify_ssl` are **removed**. If you use those parameters, just remove it in your code!
- 1.1.3 March 20, 2023
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/cache_scraper/requirements.txt new/fake-useragent-1.4.0/cache_scraper/requirements.txt
--- old/fake-useragent-1.2.1/cache_scraper/requirements.txt 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/cache_scraper/requirements.txt 2023-11-24 22:04:08.000000000 +0100
@@ -1,15 +1,15 @@
-APScheduler==3.10.1
+APScheduler==3.10.4
attrs==23.1.0
Automat==22.10.0
-black==23.7.0
-certifi==2023.7.22
-cffi==1.15.1
-charset-normalizer==3.2.0
-click==8.1.6
-constantly==15.1.0
-cryptography==41.0.3
+black==23.11.0
+certifi==2023.11.17
+cffi==1.16.0
+charset-normalizer==3.3.2
+click==8.1.7
+constantly==23.10.4
+cryptography==41.0.5
cssselect==1.2.0
-filelock==3.12.2
+filelock==3.13.1
hyperlink==21.0.0
idna==3.4
incremental==22.10.0
@@ -18,31 +18,31 @@
jmespath==1.0.1
lxml==4.9.3
mypy-extensions==1.0.0
-packaging==23.1
+packaging==23.2
parsel==1.8.1
pathspec==0.11.2
-platformdirs==3.10.0
-Protego==0.2.1
-pyasn1==0.5.0
+platformdirs==4.0.0
+Protego==0.3.0
+pyasn1==0.5.1
pyasn1-modules==0.3.0
pycparser==2.21
PyDispatcher==2.0.7
-pyOpenSSL==23.2.0
+pyOpenSSL==23.3.0
pyparsing==3.1.1
-pytz==2023.3
+pytz==2023.3.post1
pytz-deprecation-shim==0.1.0.post0
queuelib==1.6.2
requests==2.31.0
requests-file==1.5.1
-Scrapy==2.9.0
+Scrapy==2.11.0
service-identity==23.1.0
six==1.16.0
-tldextract==3.4.4
+tldextract==5.1.1
tomli==2.0.1
Twisted==22.10.0
-typing_extensions==4.7.1
+typing_extensions==4.8.0
tzdata==2023.3
-tzlocal==5.0.1
-urllib3==2.0.4
-w3lib==2.1.1
-zope.interface==6.0
+tzlocal==5.2
+urllib3==2.1.0
+w3lib==2.1.2
+zope.interface==6.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/cache_scraper/useragentscraper/spiders/useragent.py new/fake-useragent-1.4.0/cache_scraper/useragentscraper/spiders/useragent.py
--- old/fake-useragent-1.2.1/cache_scraper/useragentscraper/spiders/useragent.py 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/cache_scraper/useragentscraper/spiders/useragent.py 2023-11-24 22:04:08.000000000 +0100
@@ -24,10 +24,15 @@
agent["percent"] = float(agent["percent"][:-1])
# Add additional fields
agent["browser"] = browser.lower() # To lower-case
- agent["version"] = float(version) # Convert to float
+ # If version equals Generic, just set version to: 1.0
+ if version == "Generic":
+ agent["version"] = 1.0
+ else:
+ agent["version"] = float(version) # Convert to float
agent["os"] = os.lower() # To lower-case
# Yield each agent object at the time
yield agent
except ValueError:
# Ignore user-agent strings that could not be parsed (eg. bot agent strings)
+ # (eg. bot agent strings like headless chrome, but also Yandex Browser and iOS)
pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/pyproject.toml new/fake-useragent-1.4.0/pyproject.toml
--- old/fake-useragent-1.2.1/pyproject.toml 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/pyproject.toml 2023-11-24 22:04:08.000000000 +0100
@@ -4,10 +4,10 @@
[project]
name = "fake-useragent"
-version = "1.2.1"
+version = "1.4.0"
authors = [
- {name = "Victor Kovtun", email = "hellysmile(a)gmail.com"},
{name = "Melroy van den Berg", email = "melroy(a)melroy.org"},
+ {name = "Victor Kovtun", email = "hellysmile(a)gmail.com"}
]
dependencies = [
"importlib-resources >= 5.0; python_version < '3.10'",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/pytest.ini new/fake-useragent-1.4.0/pytest.ini
--- old/fake-useragent-1.2.1/pytest.ini 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/pytest.ini 2023-11-24 22:04:08.000000000 +0100
@@ -1,2 +1,2 @@
[pytest]
-addopts = -s --strict --keep-duplicates --cache-clear --verbose --maxfail=1 --no-cov-on-fail --cov=fake_useragent --cov-report=term --cov-report=xml --cov-report=html --fulltrace
+addopts = -s --strict-markers --keep-duplicates --cache-clear --verbose --maxfail=1 --no-cov-on-fail --cov=fake_useragent --cov-report=term --cov-report=xml --cov-report=html --fulltrace
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/requirements.txt new/fake-useragent-1.4.0/requirements.txt
--- old/fake-useragent-1.2.1/requirements.txt 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/requirements.txt 2023-11-24 22:04:08.000000000 +0100
@@ -1,35 +1,36 @@
attrs==23.1.0
-black==23.7.0
-build==0.10.0
-cachetools==5.3.1
+black==23.11.0
+build==1.0.3
+cachetools==5.3.2
chardet==5.2.0
-click==8.1.6
+click==8.1.7
colorama==0.4.6
-coverage==7.2.7
+coverage==7.3.2
distlib==0.3.7
-exceptiongroup==1.1.2
-fastjsonschema==2.18.0
-filelock==3.12.2
+exceptiongroup==1.2.0
+fastjsonschema==2.19.0
+filelock==3.13.1
importlib-metadata==6.8.0
-importlib-resources==6.0.0
+importlib-resources==6.1.1
iniconfig==2.0.0
isort==5.12.0
mypy-extensions==1.0.0
-packaging==23.1
+packaging==23.2
pathspec==0.11.2
-pep517==0.13.0
-platformdirs==3.10.0
-pluggy==1.2.0
+pep517==0.13.1
+platformdirs==4.0.0
+pluggy==1.3.0
py==1.11.0
pyparsing==3.1.1
-pyproject_api==1.5.3
+pyproject-api==1.6.1
pyproject_hooks==1.0.0
-pytest==7.4.0
+pytest==7.4.3
pytest-cov==4.1.0
-ruff==0.0.282
+ruff==0.1.6
six==1.16.0
tomli==2.0.1
-tox==4.6.4
-validate-pyproject==0.13
-virtualenv==20.24.2
-zipp==3.16.2
+tox==4.11.3
+typing_extensions==4.8.0
+validate-pyproject==0.15
+virtualenv==20.24.7
+zipp==3.17.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/src/fake_useragent/data/browsers.json new/fake-useragent-1.4.0/src/fake_useragent/data/browsers.json
--- old/fake-useragent-1.2.1/src/fake_useragent/data/browsers.json 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/src/fake_useragent/data/browsers.json 2023-11-24 22:04:08.000000000 +0100
@@ -1,44 +1,52 @@
-{"percent": 22.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 Win10", "browser": "chrome", "version": 114.0, "os": "win10"}
-{"percent": 12.3, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 macOS", "browser": "chrome", "version": 114.0, "os": "macos"}
-{"percent": 7.9, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Win10", "browser": "firefox", "version": 115.0, "os": "win10"}
-{"percent": 7.0, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "system": "Chrome 115.0 Win10", "browser": "chrome", "version": 115.0, "os": "win10"}
-{"percent": 3.3, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Linux", "browser": "firefox", "version": 115.0, "os": "linux"}
-{"percent": 3.2, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 Linux", "browser": "chrome", "version": 114.0, "os": "linux"}
-{"percent": 2.7, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "system": "Chrome 115.0 macOS", "browser": "chrome", "version": 115.0, "os": "macos"}
-{"percent": 2.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0", "system": "Firefox 114.0 Win10", "browser": "firefox", "version": 114.0, "os": "win10"}
-{"percent": 1.7, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 macOS", "browser": "firefox", "version": 115.0, "os": "macos"}
-{"percent": 1.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Win10", "browser": "firefox", "version": 115.0, "os": "win10"}
-{"percent": 1.4, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67", "system": "Edge 114.0 Win10", "browser": "edge", "version": 114.0, "os": "win10"}
-{"percent": 1.3, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0", "system": "Firefox 114.0 Linux", "browser": "firefox", "version": 114.0, "os": "linux"}
-{"percent": 1.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.82", "system": "Edge 114.0 Win10", "browser": "edge", "version": 114.0, "os": "win10"}
-{"percent": 1.2, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "system": "Chrome 115.0 Linux", "browser": "chrome", "version": 115.0, "os": "linux"}
-{"percent": 1.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "system": "Chrome 109.0 Win10", "browser": "chrome", "version": 109.0, "os": "win10"}
-{"percent": 1.2, "useragent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Linux", "browser": "firefox", "version": 115.0, "os": "linux"}
-{"percent": 0.9, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0", "system": "Firefox 102.0 Linux", "browser": "firefox", "version": 102.0, "os": "linux"}
-{"percent": 0.9, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183", "system": "Edge 115.0 Win10", "browser": "edge", "version": 115.0, "os": "win10"}
-{"percent": 0.8, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/114.0", "system": "Firefox 114.0 macOS", "browser": "firefox", "version": 114.0, "os": "macos"}
-{"percent": 0.6, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0", "system": "Firefox 102.0 Win10", "browser": "firefox", "version": 102.0, "os": "win10"}
-{"percent": 0.6, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188", "system": "Edge 115.0 Win10", "browser": "edge", "version": 115.0, "os": "win10"}
-{"percent": 0.6, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 OPR/99.0.0.0", "system": "Chrome 113.0 Win10", "browser": "chrome", "version": 113.0, "os": "win10"}
-{"percent": 0.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 OPR/100.0.0.0", "system": "Chrome 114.0 Win10", "browser": "chrome", "version": 114.0, "os": "win10"}
-{"percent": 0.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; rv:114.0) Gecko/20100101 Firefox/114.0", "system": "Firefox 114.0 Win10", "browser": "firefox", "version": 114.0, "os": "win10"}
-{"percent": 0.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "system": "Chrome 113.0 Win10", "browser": "chrome", "version": 113.0, "os": "win10"}
-{"percent": 0.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.79", "system": "Edge 114.0 Win10", "browser": "edge", "version": 114.0, "os": "win10"}
-{"percent": 0.5, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36", "system": "Chrome 77.0 Linux", "browser": "chrome", "version": 77.0, "os": "linux"}
-{"percent": 0.4, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0", "system": "Firefox 116.0 Win10", "browser": "firefox", "version": 116.0, "os": "win10"}
-{"percent": 0.4, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "system": "Chrome 111.0 Win10", "browser": "chrome", "version": 111.0, "os": "win10"}
-{"percent": 0.4, "useragent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0", "system": "Firefox 114.0 Linux", "browser": "firefox", "version": 114.0, "os": "linux"}
-{"percent": 0.3, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "system": "Chrome 113.0 macOS", "browser": "chrome", "version": 113.0, "os": "macos"}
-{"percent": 0.3, "useragent": "Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 ChromeOS", "browser": "chrome", "version": 114.0, "os": "chromeos"}
-{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0", "system": "Firefox 102.0 Win10", "browser": "firefox", "version": 102.0, "os": "win10"}
-{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; WOW64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5666.197 Safari/537.36", "system": "Chrome 113.0 Win10", "browser": "chrome", "version": 113.0, "os": "win10"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15", "system": "Safari 16.2 macOS", "browser": "safari", "version": 16.2, "os": "macos"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58", "system": "Edge 114.0 Win10", "browser": "edge", "version": 114.0, "os": "win10"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36", "system": "Chrome 79.0 macOS", "browser": "chrome", "version": 79.0, "os": "macos"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "system": "Chrome 108.0 Win10", "browser": "chrome", "version": 108.0, "os": "win10"}
+{"percent": 21.4, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "system": "Chrome 116.0 Win10", "browser": "chrome", "version": 116.0, "os": "win10"}
+{"percent": 9.9, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "system": "Chrome 116.0 macOS", "browser": "chrome", "version": 116.0, "os": "macos"}
+{"percent": 8.8, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "system": "Chrome 117.0 Win10", "browser": "chrome", "version": 117.0, "os": "win10"}
+{"percent": 8.7, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0", "system": "Firefox 117.0 Win10", "browser": "firefox", "version": 117.0, "os": "win10"}
+{"percent": 4.1, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "system": "Chrome 117.0 macOS", "browser": "chrome", "version": 117.0, "os": "macos"}
+{"percent": 2.8, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0", "system": "Firefox 117.0 Linux", "browser": "firefox", "version": 117.0, "os": "linux"}
+{"percent": 2.4, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15", "system": "Safari Generic macOS", "browser": "safari", "version": 1.0, "os": "macos"}
+{"percent": 2.4, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "system": "Chrome 116.0 Linux", "browser": "chrome", "version": 116.0, "os": "linux"}
+{"percent": 2.0, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/117.0", "system": "Firefox 117.0 macOS", "browser": "firefox", "version": 117.0, "os": "macos"}
+{"percent": 1.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", "system": "Firefox 118.0 Win10", "browser": "firefox", "version": 118.0, "os": "win10"}
+{"percent": 1.5, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "system": "Chrome 117.0 Linux", "browser": "chrome", "version": 117.0, "os": "linux"}
+{"percent": 1.3, "useragent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0", "system": "Firefox 117.0 Linux", "browser": "firefox", "version": 117.0, "os": "linux"}
+{"percent": 1.1, "useragent": "Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/117.0", "system": "Firefox 117.0 Win10", "browser": "firefox", "version": 117.0, "os": "win10"}
+{"percent": 0.9, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69", "system": "Edge 116.0 Win10", "browser": "edge", "version": 116.0, "os": "win10"}
+{"percent": 0.9, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "system": "Chrome 109.0 Win10", "browser": "chrome", "version": 109.0, "os": "win10"}
+{"percent": 0.8, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 OPR/102.0.0.0", "system": "Chrome 116.0 Win10", "browser": "chrome", "version": 116.0, "os": "win10"}
+{"percent": 0.8, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 OPR/101.0.0.0", "system": "Chrome 115.0 Win10", "browser": "chrome", "version": 115.0, "os": "win10"}
+{"percent": 0.8, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76", "system": "Edge 116.0 Win10", "browser": "edge", "version": 116.0, "os": "win10"}
+{"percent": 0.7, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "system": "Chrome 115.0 macOS", "browser": "chrome", "version": 115.0, "os": "macos"}
+{"percent": 0.7, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 Win10", "browser": "chrome", "version": 114.0, "os": "win10"}
+{"percent": 0.7, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31", "system": "Edge 117.0 Win10", "browser": "edge", "version": 117.0, "os": "win10"}
+{"percent": 0.7, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "system": "Chrome 115.0 Win10", "browser": "chrome", "version": 115.0, "os": "win10"}
+{"percent": 0.7, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.81", "system": "Edge 116.0 Win10", "browser": "edge", "version": 116.0, "os": "win10"}
+{"percent": 0.6, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.36", "system": "Edge 117.0 Win10", "browser": "edge", "version": 117.0, "os": "win10"}
+{"percent": 0.6, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "system": "Chrome 115.0 Linux", "browser": "chrome", "version": 115.0, "os": "linux"}
+{"percent": 0.6, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0", "system": "Firefox 116.0 Win10", "browser": "firefox", "version": 116.0, "os": "win10"}
+{"percent": 0.6, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0", "system": "Firefox 118.0 Linux", "browser": "firefox", "version": 118.0, "os": "linux"}
+{"percent": 0.5, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15", "system": "Safari Generic macOS", "browser": "safari", "version": 1.0, "os": "macos"}
+{"percent": 0.5, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43", "system": "Edge 117.0 Win10", "browser": "edge", "version": 117.0, "os": "win10"}
+{"percent": 0.5, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0", "system": "Firefox 102.0 Linux", "browser": "firefox", "version": 102.0, "os": "linux"}
+{"percent": 0.5, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/118.0", "system": "Firefox 118.0 macOS", "browser": "firefox", "version": 118.0, "os": "macos"}
+{"percent": 0.4, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/116.0", "system": "Firefox 116.0 Linux", "browser": "firefox", "version": 116.0, "os": "linux"}
+{"percent": 0.4, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36", "system": "Chrome 77.0 Linux", "browser": "chrome", "version": 77.0, "os": "linux"}
+{"percent": 0.4, "useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Linux", "browser": "firefox", "version": 115.0, "os": "linux"}
+{"percent": 0.4, "useragent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Win7", "browser": "firefox", "version": 115.0, "os": "win7"}
+{"percent": 0.4, "useragent": "Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0", "system": "Firefox 102.0 Win10", "browser": "firefox", "version": 102.0, "os": "win10"}
+{"percent": 0.4, "useragent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/116.0", "system": "Firefox 116.0 Linux", "browser": "firefox", "version": 116.0, "os": "linux"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 macOS", "browser": "chrome", "version": 114.0, "os": "macos"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0", "system": "Firefox 102.0 Win10", "browser": "firefox", "version": 102.0, "os": "win10"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "system": "Chrome 113.0 Win10", "browser": "chrome", "version": 113.0, "os": "win10"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.62", "system": "Edge 116.0 Win10", "browser": "edge", "version": 116.0, "os": "win10"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0", "system": "Firefox 115.0 Win10", "browser": "firefox", "version": 115.0, "os": "win10"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5.2 Safari/605.1.15", "system": "Safari Generic macOS", "browser": "safari", "version": 1.0, "os": "macos"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.41", "system": "Edge 117.0 Win10", "browser": "edge", "version": 117.0, "os": "win10"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "system": "Chrome 114.0 Linux", "browser": "chrome", "version": 114.0, "os": "linux"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/116.0", "system": "Firefox 116.0 macOS", "browser": "firefox", "version": 116.0, "os": "macos"}
+{"percent": 0.3, "useragent": "Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/118.0", "system": "Firefox 118.0 Win10", "browser": "firefox", "version": 118.0, "os": "win10"}
+{"percent": 0.2, "useragent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "system": "Chrome 109.0 Win7", "browser": "chrome", "version": 109.0, "os": "win7"}
+{"percent": 0.2, "useragent": "Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "system": "Chrome 116.0 ChromeOS", "browser": "chrome", "version": 116.0, "os": "chromeos"}
{"percent": 0.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "system": "Chrome 112.0 Win10", "browser": "chrome", "version": 112.0, "os": "win10"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36", "system": "Chrome 99.0 Win10", "browser": "chrome", "version": 99.0, "os": "win10"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "system": "Chrome 112.0 macOS", "browser": "chrome", "version": 112.0, "os": "macos"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.86", "system": "Edge 114.0 Win10", "browser": "edge", "version": 114.0, "os": "win10"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "system": "Chrome 112.0 Linux", "browser": "chrome", "version": 112.0, "os": "linux"}
-{"percent": 0.2, "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "system": "Chrome 113.0 Linux", "browser": "chrome", "version": 113.0, "os": "linux"}
+{"percent": 0.2, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15", "system": "Safari Generic macOS", "browser": "safari", "version": 1.0, "os": "macos"}
+{"percent": 0.2, "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15", "system": "Safari Generic macOS", "browser": "safari", "version": 1.0, "os": "macos"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/src/fake_useragent/fake.py new/fake-useragent-1.4.0/src/fake_useragent/fake.py
--- old/fake-useragent-1.2.1/src/fake_useragent/fake.py 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/src/fake_useragent/fake.py 2023-11-24 22:04:08.000000000 +0100
@@ -22,15 +22,15 @@
self.browsers = browsers
assert isinstance(os, (list, str)), "OS must be list or string"
- # OS replacement (windows -> win10)
if isinstance(os, str):
os = [os]
- self.os = [
- settings.OS_REPLACEMENTS[os_name]
- if os_name in settings.OS_REPLACEMENTS
- else os_name
- for os_name in os
- ]
+ # OS replacement (windows -> [win10, win7])
+ self.os = []
+ for os_name in os:
+ if os_name in settings.OS_REPLACEMENTS:
+ self.os.extend(settings.OS_REPLACEMENTS[os_name])
+ else:
+ self.os.append(os_name)
assert isinstance(
min_percentage, float
@@ -55,9 +55,72 @@
# Next, load our local data file into memory (browsers.json)
self.data_browsers = load()
+ # This method will return an object
+ # Usage: ua.getBrowser('firefox')
+ def getBrowser(self, request):
+ try:
+ # Handle request value
+ for value, replacement in settings.REPLACEMENTS.items():
+ request = request.replace(value, replacement)
+ request = request.lower()
+ request = settings.SHORTCUTS.get(request, request)
+
+ if request == "random":
+ # Filter the browser list based on the browsers array using lambda
+ # And based on OS list
+ # And percentage is bigger then min percentage
+ # And convert the iterator back to a list
+ filtered_browsers = list(
+ filter(
+ lambda x: x["browser"] in self.browsers
+ and x["os"] in self.os
+ and x["percent"] >= self.min_percentage,
+ self.data_browsers,
+ )
+ )
+ else:
+ # Or when random isn't select, we filter the browsers array based on the 'request' using lamba
+ # And based on OS list
+ # And percentage is bigger then min percentage
+ # And convert the iterator back to a list
+ filtered_browsers = list(
+ filter(
+ lambda x: x["browser"] == request
+ and x["os"] in self.os
+ and x["percent"] >= self.min_percentage,
+ self.data_browsers,
+ )
+ )
+
+ # Pick a random browser user-agent from the filtered browsers
+ # And return the full dict
+ return random.choice(filtered_browsers) # noqa: S311
+ except (KeyError, IndexError):
+ if self.fallback is None:
+ raise FakeUserAgentError(
+ f"Error occurred during getting browser: {request}"
+ ) # noqa
+ else:
+ logger.warning(
+ f"Error occurred during getting browser: {request}, "
+ "but was suppressed with fallback.",
+ )
+ # Return fallback object
+ return {
+ "useragent": self.fallback,
+ "system": "Chrome 114.0 Win10",
+ "browser": "chrome",
+ "version": 114.0,
+ "os": "win10",
+ }
+
+ # This method will use the method below, returning a string
+ # Usage: ua['random']
def __getitem__(self, attr):
return self.__getattr__(attr)
+ # This method will returns a string
+ # Usage: ua.random
def __getattr__(self, attr):
if attr in self.safe_attrs:
return super(UserAgent, self).__getattr__(attr)
@@ -140,6 +203,27 @@
def random(self):
return self.__getattr__("random")
+ # The following 'get' methods return an object rather than only the UA string
+ @property
+ def getFirefox(self):
+ return self.getBrowser("firefox")
+
+ @property
+ def getChrome(self):
+ return self.getBrowser("chrome")
+
+ @property
+ def getEdge(self):
+ return self.getBrowser("edge")
+
+ @property
+ def getSafari(self):
+ return self.getBrowser("safari")
+
+ @property
+ def getRandom(self):
+ return self.getBrowser("random")
+
# common alias
UserAgent = FakeUserAgent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/src/fake_useragent/settings.py new/fake-useragent-1.4.0/src/fake_useragent/settings.py
--- old/fake-useragent-1.2.1/src/fake_useragent/settings.py 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/src/fake_useragent/settings.py 2023-11-24 22:04:08.000000000 +0100
@@ -12,7 +12,7 @@
}
OS_REPLACEMENTS = {
- "windows": "win10",
+ "windows": ["win10", "win7"],
}
SHORTCUTS = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/src/fake_useragent/utils.py new/fake-useragent-1.4.0/src/fake_useragent/utils.py
--- old/fake-useragent-1.2.1/src/fake_useragent/utils.py 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/src/fake_useragent/utils.py 2023-11-24 22:04:08.000000000 +0100
@@ -9,19 +9,13 @@
from fake_useragent.log import logger
-# Fallback method for retrieving data file
-try:
- from pkg_resources import resource_filename
-except ImportError:
- pass
-
str_types = (str,)
# Load all lines from browser.json file
# Returns array of objects
def load():
- data = []
+ data, ret = [], None
try:
json_lines = (
ilr.files("fake_useragent.data").joinpath("browsers.json").read_text()
@@ -37,6 +31,8 @@
exc_info=exc,
)
try:
+ from pkg_resources import resource_filename
+
with open(
resource_filename("fake_useragent", "data/browsers.json")
) as file:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/tests/test_fake.py new/fake-useragent-1.4.0/tests/test_fake.py
--- old/fake-useragent-1.2.1/tests/test_fake.py 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/tests/test_fake.py 2023-11-24 22:04:08.000000000 +0100
@@ -28,6 +28,17 @@
self.assertTrue(ua.random)
self.assertIsInstance(ua.random, str)
+ self.assertTrue(ua.getChrome)
+ self.assertIsInstance(ua.getChrome, dict)
+ self.assertTrue(ua.getEdge)
+ self.assertIsInstance(ua.getEdge, dict)
+ self.assertTrue(ua.getFirefox)
+ self.assertIsInstance(ua.getFirefox, dict)
+ self.assertTrue(ua.getSafari)
+ self.assertIsInstance(ua.getSafari, dict)
+ self.assertTrue(ua.getRandom)
+ self.assertIsInstance(ua.getRandom, dict)
+
def test_fake_probe_user_agent_browsers(self):
ua = UserAgent()
ua.edge # noqa: B018
@@ -41,6 +52,11 @@
ua.safari # noqa: B018
ua.random # noqa: B018
ua["random"] # noqa: B018
+ ua.getEdge # noqa: B018
+ ua.getChrome # noqa: B018
+ ua.getFirefox # noqa: B018
+ ua.getSafari # noqa: B018
+ ua.getRandom # noqa: B018
def test_fake_data_browser_type(self):
ua = UserAgent()
@@ -53,6 +69,13 @@
self.assertEqual(ua.non_existing, fallback)
self.assertEqual(ua["non_existing"], fallback)
+ def test_fake_fallback_dictionary(self):
+ fallback = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
+
+ ua = UserAgent()
+ self.assertIsInstance(ua.getBrowser("non_existing"), dict)
+ self.assertEqual(ua.getBrowser("non_existing").get("useragent"), fallback)
+
def test_fake_fallback_str_types(self):
with pytest.raises(AssertionError):
UserAgent(fallback=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/tests/test_utils.py new/fake-useragent-1.4.0/tests/test_utils.py
--- old/fake-useragent-1.2.1/tests/test_utils.py 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/tests/test_utils.py 2023-11-24 22:04:08.000000000 +0100
@@ -26,6 +26,10 @@
self.assertIsInstance(data[0], object)
self.assertIsInstance(data[0]["useragent"], str)
+ # https://github.com/python/cpython/issues/95299
+ @unittest.skipIf(
+ sys.version_info >= (3, 12), "not compatible with Python 3.12 (or higher)"
+ )
def test_utils_load_pkg_resource_fallback(self):
# By default use_local_file is also True during production
# We will not allow the default importlib resources to be used, by triggering an Exception
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fake-useragent-1.2.1/tox.ini new/fake-useragent-1.4.0/tox.ini
--- old/fake-useragent-1.2.1/tox.ini 2023-08-02 16:01:31.000000000 +0200
+++ new/fake-useragent-1.4.0/tox.ini 2023-11-24 22:04:08.000000000 +0100
@@ -1,6 +1,6 @@
[tox]
envlist =
- py3{8,9,10,11}
+ py3{8,9,10,11,12}
pypy3
isolated_build = True
skip_missing_interpreters = True
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-asdf-transform-schemas for openSUSE:Factory checked in at 2023-12-02 17:13:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-asdf-transform-schemas (Old)
and /work/SRC/openSUSE:Factory/.python-asdf-transform-schemas.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-asdf-transform-schemas"
Sat Dec 2 17:13:31 2023 rev:4 rq:1130451 version:0.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-asdf-transform-schemas/python-asdf-transform-schemas.changes 2022-10-28 19:30:40.134973917 +0200
+++ /work/SRC/openSUSE:Factory/.python-asdf-transform-schemas.new.25432/python-asdf-transform-schemas.changes 2023-12-02 17:13:58.431108832 +0100
@@ -1,0 +2,7 @@
+Sat Nov 25 12:53:44 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.4.0:
+ * Move root-level $ref in schemas to an allOf combiner. [#87]
+ * Fix URI fragment format in transform-1.2 schema. [#88]
+
+-------------------------------------------------------------------
Old:
----
asdf_transform_schemas-0.3.0.tar.gz
New:
----
asdf_transform_schemas-0.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-asdf-transform-schemas.spec ++++++
--- /var/tmp/diff_new_pack.x7r3tc/_old 2023-12-02 17:13:58.871124957 +0100
+++ /var/tmp/diff_new_pack.x7r3tc/_new 2023-12-02 17:13:58.875125103 +0100
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -26,7 +26,7 @@
%endif
Name: python-asdf-transform-schemas%{psuffix}
-Version: 0.3.0
+Version: 0.4.0
Release: 0
Summary: ASDF schemas for transforms
License: BSD-3-Clause
++++++ asdf_transform_schemas-0.3.0.tar.gz -> asdf_transform_schemas-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/.flake8 new/asdf_transform_schemas-0.4.0/.flake8
--- old/asdf_transform_schemas-0.3.0/.flake8 1970-01-01 01:00:00.000000000 +0100
+++ new/asdf_transform_schemas-0.4.0/.flake8 2023-10-19 20:00:45.000000000 +0200
@@ -0,0 +1,5 @@
+# this file exists to support an editable PEP517 install and for `flake8` (https://github.com/PyCQA/flake8/issues/234)
+[flake8]
+max-line-length = 120
+extend-ignore = E203
+exclude = .git, __pycache__, build, dist, eggs, *.egg, .tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/.github/workflows/ci.yml new/asdf_transform_schemas-0.4.0/.github/workflows/ci.yml
--- old/asdf_transform_schemas-0.3.0/.github/workflows/ci.yml 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/.github/workflows/ci.yml 2023-10-19 20:00:45.000000000 +0200
@@ -4,7 +4,7 @@
workflow_dispatch:
push:
branches:
- - master
+ - main
tags:
- "*"
pull_request:
@@ -82,14 +82,12 @@
with:
fetch-depth: 0
repository: astropy/astropy
- ref: main
path: astropy
- name: Checkout asdf-astropy dev
uses: actions/checkout@v2
with:
fetch-depth: 0
repository: astropy/asdf-astropy
- ref: main
path: asdf-astropy
- name: Set up Python 3.9
uses: actions/setup-python@v2
@@ -107,5 +105,3 @@
run: cd asdf-transform-schemas && pytest
- name: Run asdf-astropy development tests
run: cd asdf-astropy && pytest
- - name: Run astropy development tests
- run: cd astropy && pytest astropy/io/misc/asdf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/.github/workflows/downstream.yml new/asdf_transform_schemas-0.4.0/.github/workflows/downstream.yml
--- old/asdf_transform_schemas-0.3.0/.github/workflows/downstream.yml 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/.github/workflows/downstream.yml 2023-10-19 20:00:45.000000000 +0200
@@ -25,7 +25,7 @@
jobs:
common:
- name: ${{ matrix.package_name }}@${{ matrix.ref }} unit tests
+ name: ${{ matrix.package_name }} unit tests
runs-on: ubuntu-latest
if: (github.repository == 'asdf-format/asdf-transform-schemas' && (github.event_name == 'schedule' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'Downstream CI')))
strategy:
@@ -34,62 +34,50 @@
include:
- package_name: astropy
repository: astropy/astropy
- ref: main
install_command: pip install -e .[test]
test_command: pytest
- package_name: gwcs
repository: spacetelescope/gwcs
- ref: master
install_command: pip install -e .[test]
test_command: pytest
- package_name: jwst
repository: spacetelescope/jwst
- ref: master
install_command: pip install -e .[test]
test_command: pytest
- package_name: specutils
repository: astropy/specutils
- ref: main
install_command: pip install -e .[test]
test_command: pytest
- package_name: weldx
repository: BAMWelDX/weldx
- ref: master
install_command: pip install -e .[test]
test_command: pytest weldx/tests/asdf_tests weldx/schemas --asdf-tests
- package_name: sunpy
repository: sunpy/sunpy
- ref: main
install_command: pip install -e .[tests,all]
test_command: pytest sunpy/io/
- package_name: dkist
repository: DKISTDC/dkist
- ref: main
install_command: pip install -e .[tests]
test_command: pytest
- package_name: asdf-astropy
repository: astropy/asdf-astropy
- ref: main
install_command: pip install -e .[test]
test_command: pytest
- package_name: asdf-standard
repository: asdf-format/asdf-standard
- ref: master
install_command: pip install -e .[test]
test_command: pytest
- package_name: asdf-transform-schemas
repository: asdf-format/asdf-transform-schemas
- ref: master
install_command: pip install -e .[test]
test_command: pytest
- package_name: asdf-wcs-schemas
repository: asdf-format/asdf-wcs-schemas
- ref: main
install_command: pip install -e .[test]
test_command: pytest
- package_name: asdf-coordinates-schemas
repository: asdf-format/asdf-coordinates-schemas
- ref: main
install_command: pip install -e .[test]
test_command: pytest
steps:
@@ -104,7 +92,6 @@
with:
fetch-depth: 0
repository: ${{ matrix.repository }}
- ref: ${{ matrix.ref }}
path: target
- name: Set up Python 3.9
uses: actions/setup-python@v2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/.pre-commit-config.yaml new/asdf_transform_schemas-0.4.0/.pre-commit-config.yaml
--- old/asdf_transform_schemas-0.3.0/.pre-commit-config.yaml 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/.pre-commit-config.yaml 2023-10-19 20:00:45.000000000 +0200
@@ -1,7 +1,7 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.3.0
+ rev: v4.5.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
@@ -11,23 +11,39 @@
- id: end-of-file-fixer
- id: trailing-whitespace
+- repo: https://github.com/asottile/pyupgrade
+ rev: v3.15.0
+ hooks:
+ - id: pyupgrade
+ args: ["--py38-plus"]
+
+- repo: https://github.com/PyCQA/autoflake
+ rev: v2.2.1
+ hooks:
+ - id: autoflake
+
- repo: https://github.com/pycqa/isort
- rev: 5.10.1
+ rev: 5.12.0
hooks:
- id: isort
- repo: https://github.com/psf/black
- rev: 22.6.0
+ rev: 23.9.1
hooks:
- id: black
+- repo: https://github.com/asottile/blacken-docs
+ rev: 1.16.0
+ hooks:
+ - id: blacken-docs
+
- repo: https://github.com/PyCQA/flake8
- rev: 5.0.4
+ rev: 6.1.0
hooks:
- id: flake8
- repo: https://github.com/PyCQA/bandit
- rev: 1.7.4
+ rev: 1.7.5
hooks:
- id: bandit
args: ["-c", "bandit.yaml"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/CHANGES.rst new/asdf_transform_schemas-0.4.0/CHANGES.rst
--- old/asdf_transform_schemas-0.3.0/CHANGES.rst 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/CHANGES.rst 2023-10-19 20:00:45.000000000 +0200
@@ -1,3 +1,9 @@
+0.4.0 (2023-10-18)
+------------------
+
+- Move root-level $ref in schemas to an allOf combiner. [#87]
+- Fix URI fragment format in transform-1.2 schema. [#88]
+
0.3.0 (2022-08-22)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/PKG-INFO new/asdf_transform_schemas-0.4.0/PKG-INFO
--- old/asdf_transform_schemas-0.3.0/PKG-INFO 2022-08-23 00:07:07.750686600 +0200
+++ new/asdf_transform_schemas-0.4.0/PKG-INFO 2023-10-19 20:00:56.050479000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: asdf_transform_schemas
-Version: 0.3.0
+Version: 0.4.0
Summary: ASDF schemas for transforms
Author-email: The ASDF Developers <help(a)stsci.edu>
License: Copyright (c) 2021 Association of Universities for Research in Astronomy.
@@ -42,9 +42,24 @@
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.8
Description-Content-Type: text/markdown
+License-File: LICENSE
+Requires-Dist: asdf-standard>=1.0.1
+Requires-Dist: importlib_resources>=3; python_version < "3.9"
Provides-Extra: docs
+Requires-Dist: tomli; extra == "docs"
+Requires-Dist: sphinx; extra == "docs"
+Requires-Dist: sphinx-asdf>=0.1.3; extra == "docs"
+Requires-Dist: sphinx-astropy; extra == "docs"
+Requires-Dist: astropy>=5.0.4; extra == "docs"
+Requires-Dist: graphviz; extra == "docs"
+Requires-Dist: matplotlib; extra == "docs"
+Requires-Dist: docutils; extra == "docs"
+Requires-Dist: sphinx-rtd-theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE
+Requires-Dist: asdf>=2.8.0; extra == "test"
+Requires-Dist: asdf-astropy; extra == "test"
+Requires-Dist: scipy; extra == "test"
+Requires-Dist: pytest; extra == "test"
# asdf-transform-schemas
![CI](https://github.com/asdf-format/asdf-transform-schemas/workflows/CI/badge.svg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/docs/conf.py new/asdf_transform_schemas-0.4.0/docs/conf.py
--- old/asdf_transform_schemas-0.3.0/docs/conf.py 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/docs/conf.py 2023-10-19 20:00:45.000000000 +0200
@@ -29,7 +29,7 @@
# Ensure documentation examples are determinstically random.
import numpy
-import toml
+import tomli
from pkg_resources import get_distribution
try:
@@ -44,8 +44,8 @@
sys.exit(1)
# Get configuration information from `pyproject.toml`
-with open(Path(__file__).parent.parent / "pyproject.toml") as configuration_file:
- conf = toml.load(configuration_file)
+with open(Path(__file__).parent.parent / "pyproject.toml", "rb") as configuration_file:
+ conf = tomli.load(configuration_file)
configuration = conf["project"]
# -- General configuration ----------------------------------------------------
@@ -120,7 +120,7 @@
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
-html_title = "{0} v{1}".format(project, release)
+html_title = f"{project} v{release}"
# Output file base name for HTML help builder.
htmlhelp_basename = project + "doc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/pyproject.toml new/asdf_transform_schemas-0.4.0/pyproject.toml
--- old/asdf_transform_schemas-0.3.0/pyproject.toml 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/pyproject.toml 2023-10-19 20:00:45.000000000 +0200
@@ -21,7 +21,7 @@
[project.optional-dependencies]
docs = [
- 'toml',
+ 'tomli',
'sphinx',
'sphinx-asdf >= 0.1.3',
'sphinx-astropy',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/cobe_quad_sphe… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/cobe_quad_sphe…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/cobe_quad_sphe… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/cobe_quad_sphe… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.0.0"
+allOf:
+ - $ref: "quadcube-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/cobe_quad_sphe… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/cobe_quad_sphe…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/cobe_quad_sphe… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/cobe_quad_sphe… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.1.0"
+allOf:
+ - $ref: "quadcube-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/cobe_quad_sphe… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/cobe_quad_sphe…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/cobe_quad_sphe… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/cobe_quad_sphe… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.2.0"
+allOf:
+ - $ref: "quadcube-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.0.0"
+allOf:
+ - $ref: "conic-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.1.0"
+allOf:
+ - $ref: "conic-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.2.0"
+allOf:
+ - $ref: "conic-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equal_ar… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equal_ar… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.3.0"
+allOf:
+ - $ref: "conic-1.3.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.0.0"
+allOf:
+ - $ref: "conic-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.1.0"
+allOf:
+ - $ref: "conic-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.2.0"
+allOf:
+ - $ref: "conic-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_equidist… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_equidist… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.3.0"
+allOf:
+ - $ref: "conic-1.3.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor… 2023-10-19 20:00:45.000000000 +0200
@@ -28,5 +28,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.0.0"
+allOf:
+ - $ref: "conic-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor… 2023-10-19 20:00:45.000000000 +0200
@@ -28,5 +28,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.1.0"
+allOf:
+ - $ref: "conic-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor… 2023-10-19 20:00:45.000000000 +0200
@@ -28,5 +28,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.2.0"
+allOf:
+ - $ref: "conic-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_orthomor… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_orthomor… 2023-10-19 20:00:45.000000000 +0200
@@ -28,5 +28,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.3.0"
+allOf:
+ - $ref: "conic-1.3.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.0.0"
+allOf:
+ - $ref: "conic-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.1.0"
+allOf:
+ - $ref: "conic-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.2.0"
+allOf:
+ - $ref: "conic-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/conic_perspect… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/conic_perspect… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "conic-1.3.0"
+allOf:
+ - $ref: "conic-1.3.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/gnomonic-1.0.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/gnomonic-1.0.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/gnomonic-1.0.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/gnomonic-1.0.0… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.0.0"
+allOf:
+ - $ref: "zenithal-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/gnomonic-1.1.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/gnomonic-1.1.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/gnomonic-1.1.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/gnomonic-1.1.0… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.1.0"
+allOf:
+ - $ref: "zenithal-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/gnomonic-1.2.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/gnomonic-1.2.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/gnomonic-1.2.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/gnomonic-1.2.0… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.2.0"
+allOf:
+ - $ref: "zenithal-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/hammer_aitoff-… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/hammer_aitoff-…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/hammer_aitoff-… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/hammer_aitoff-… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.0.0"
+allOf:
+ - $ref: "pseudocylindrical-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/hammer_aitoff-… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/hammer_aitoff-…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/hammer_aitoff-… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/hammer_aitoff-… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.1.0"
+allOf:
+ - $ref: "pseudocylindrical-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/hammer_aitoff-… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/hammer_aitoff-…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/hammer_aitoff-… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/hammer_aitoff-… 2023-10-19 20:00:45.000000000 +0200
@@ -25,5 +25,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.2.0"
+allOf:
+ - $ref: "pseudocylindrical-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/mercator-1.0.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/mercator-1.0.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/mercator-1.0.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/mercator-1.0.0… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "cylindrical-1.0.0"
+allOf:
+ - $ref: "cylindrical-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/mercator-1.1.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/mercator-1.1.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/mercator-1.1.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/mercator-1.1.0… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "cylindrical-1.1.0"
+allOf:
+ - $ref: "cylindrical-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/mercator-1.2.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/mercator-1.2.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/mercator-1.2.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/mercator-1.2.0… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "cylindrical-1.2.0"
+allOf:
+ - $ref: "cylindrical-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/molleweide-1.0… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/molleweide-1.0…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/molleweide-1.0… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/molleweide-1.0… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.0.0"
+allOf:
+ - $ref: "pseudocylindrical-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/molleweide-1.1… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/molleweide-1.1…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/molleweide-1.1… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/molleweide-1.1… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.1.0"
+allOf:
+ - $ref: "pseudocylindrical-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/molleweide-1.2… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/molleweide-1.2…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/molleweide-1.2… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/molleweide-1.2… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.2.0"
+allOf:
+ - $ref: "pseudocylindrical-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/parabolic-1.0.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/parabolic-1.0.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/parabolic-1.0.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/parabolic-1.0.… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.0.0"
+allOf:
+ - $ref: "pseudocylindrical-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/parabolic-1.1.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/parabolic-1.1.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/parabolic-1.1.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/parabolic-1.1.… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.1.0"
+allOf:
+ - $ref: "pseudocylindrical-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/parabolic-1.2.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/parabolic-1.2.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/parabolic-1.2.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/parabolic-1.2.… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.2.0"
+allOf:
+ - $ref: "pseudocylindrical-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/plate_carree-1… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/plate_carree-1…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/plate_carree-1… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/plate_carree-1… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "cylindrical-1.0.0"
+allOf:
+ - $ref: "cylindrical-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/plate_carree-1… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/plate_carree-1…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/plate_carree-1… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/plate_carree-1… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "cylindrical-1.1.0"
+allOf:
+ - $ref: "cylindrical-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/plate_carree-1… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/plate_carree-1…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/plate_carree-1… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/plate_carree-1… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "cylindrical-1.2.0"
+allOf:
+ - $ref: "cylindrical-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/polyconic-1.0.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/polyconic-1.0.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/polyconic-1.0.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/polyconic-1.0.… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudoconic-1.0.0"
+allOf:
+ - $ref: "pseudoconic-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/polyconic-1.1.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/polyconic-1.1.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/polyconic-1.1.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/polyconic-1.1.… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudoconic-1.1.0"
+allOf:
+ - $ref: "pseudoconic-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/polyconic-1.2.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/polyconic-1.2.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/polyconic-1.2.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/polyconic-1.2.… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudoconic-1.2.0"
+allOf:
+ - $ref: "pseudoconic-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/quad_spherical… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/quad_spherical…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/quad_spherical… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/quad_spherical… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.0.0"
+allOf:
+ - $ref: "quadcube-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/quad_spherical… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/quad_spherical…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/quad_spherical… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/quad_spherical… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.1.0"
+allOf:
+ - $ref: "quadcube-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/quad_spherical… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/quad_spherical…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/quad_spherical… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/quad_spherical… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.2.0"
+allOf:
+ - $ref: "quadcube-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/sanson_flamste… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/sanson_flamste…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/sanson_flamste… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/sanson_flamste… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.0.0"
+allOf:
+ - $ref: "pseudocylindrical-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/sanson_flamste… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/sanson_flamste…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/sanson_flamste… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/sanson_flamste… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.1.0"
+allOf:
+ - $ref: "pseudocylindrical-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/sanson_flamste… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/sanson_flamste…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/sanson_flamste… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/sanson_flamste… 2023-10-19 20:00:45.000000000 +0200
@@ -21,5 +21,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "pseudocylindrical-1.2.0"
+allOf:
+ - $ref: "pseudocylindrical-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/stereographic-… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/stereographic-…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/stereographic-… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/stereographic-… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.0.0"
+allOf:
+ - $ref: "zenithal-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/stereographic-… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/stereographic-…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/stereographic-… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/stereographic-… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.1.0"
+allOf:
+ - $ref: "zenithal-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/stereographic-… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/stereographic-…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/stereographic-… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/stereographic-… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.2.0"
+allOf:
+ - $ref: "zenithal-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/tangential_sph… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/tangential_sph…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/tangential_sph… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/tangential_sph… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.0.0"
+allOf:
+ - $ref: "quadcube-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/tangential_sph… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/tangential_sph…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/tangential_sph… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/tangential_sph… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.1.0"
+allOf:
+ - $ref: "quadcube-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/tangential_sph… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/tangential_sph…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/tangential_sph… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/tangential_sph… 2023-10-19 20:00:45.000000000 +0200
@@ -11,5 +11,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "quadcube-1.2.0"
+allOf:
+ - $ref: "quadcube-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/transform-1.2.… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/transform-1.2.…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/transform-1.2.… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/transform-1.2.… 2023-10-19 20:00:45.000000000 +0200
@@ -146,11 +146,11 @@
Bounding box for model the transform
oneOf:
- - $ref: "property/bounding_box-1.0.0#definitions/interval"
+ - $ref: "property/bounding_box-1.0.0#/definitions/interval"
- type: array
minItems: 2
items:
- $ref: "property/bounding_box-1.0.0#definitions/interval"
+ $ref: "property/bounding_box-1.0.0#/definitions/interval"
- tag: tag:stsci.edu:asdf/transform/property/bounding_box-1.0.0
- tag: tag:stsci.edu:asdf/transform/property/compound_bounding_box-1.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equal… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equal…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equal… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equal… 2023-10-19 20:00:45.000000000 +0200
@@ -24,5 +24,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.0.0"
+allOf:
+ - $ref: "zenithal-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equal… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equal…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equal… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equal… 2023-10-19 20:00:45.000000000 +0200
@@ -24,5 +24,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.1.0"
+allOf:
+ - $ref: "zenithal-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equal… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equal…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equal… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equal… 2023-10-19 20:00:45.000000000 +0200
@@ -24,5 +24,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.2.0"
+allOf:
+ - $ref: "zenithal-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equid… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equid…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equid… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equid… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.0.0"
+allOf:
+ - $ref: "zenithal-1.0.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equid… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equid…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equid… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equid… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.1.0"
+allOf:
+ - $ref: "zenithal-1.1.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equid… new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equid…
--- old/asdf_transform_schemas-0.3.0/resources/stsci.edu/schemas/zenithal_equid… 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/resources/stsci.edu/schemas/zenithal_equid… 2023-10-19 20:00:45.000000000 +0200
@@ -23,5 +23,6 @@
Invertibility: All ASDF tools are required to provide the inverse of
this transform.
-$ref: "zenithal-1.2.0"
+allOf:
+ - $ref: "zenithal-1.2.0"
...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/setup.cfg new/asdf_transform_schemas-0.4.0/setup.cfg
--- old/asdf_transform_schemas-0.3.0/setup.cfg 2022-08-23 00:07:07.754686800 +0200
+++ new/asdf_transform_schemas-0.4.0/setup.cfg 2023-10-19 20:00:56.050479000 +0200
@@ -1,7 +1,3 @@
-[flake8]
-ignore = E501, E203, W503
-exclude = .git, __pycache__, build, dist, eggs, *.egg, .tox
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas/_version.py new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas/_version.py
--- old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas/_version.py 2022-08-23 00:07:07.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas/_version.py 2023-10-19 20:00:55.000000000 +0200
@@ -1,5 +1,16 @@
-# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-__version__ = version = '0.3.0'
-__version_tuple__ = version_tuple = (0, 3, 0)
+TYPE_CHECKING = False
+if TYPE_CHECKING:
+ from typing import Tuple, Union
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
+else:
+ VERSION_TUPLE = object
+
+version: str
+__version__: str
+__version_tuple__: VERSION_TUPLE
+version_tuple: VERSION_TUPLE
+
+__version__ = version = '0.4.0'
+__version_tuple__ = version_tuple = (0, 4, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas.egg-info/PKG-INFO new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas.egg-info/PKG-INFO
--- old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas.egg-info/PKG-INFO 2022-08-23 00:07:07.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas.egg-info/PKG-INFO 2023-10-19 20:00:55.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: asdf-transform-schemas
-Version: 0.3.0
+Version: 0.4.0
Summary: ASDF schemas for transforms
Author-email: The ASDF Developers <help(a)stsci.edu>
License: Copyright (c) 2021 Association of Universities for Research in Astronomy.
@@ -42,9 +42,24 @@
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.8
Description-Content-Type: text/markdown
+License-File: LICENSE
+Requires-Dist: asdf-standard>=1.0.1
+Requires-Dist: importlib_resources>=3; python_version < "3.9"
Provides-Extra: docs
+Requires-Dist: tomli; extra == "docs"
+Requires-Dist: sphinx; extra == "docs"
+Requires-Dist: sphinx-asdf>=0.1.3; extra == "docs"
+Requires-Dist: sphinx-astropy; extra == "docs"
+Requires-Dist: astropy>=5.0.4; extra == "docs"
+Requires-Dist: graphviz; extra == "docs"
+Requires-Dist: matplotlib; extra == "docs"
+Requires-Dist: docutils; extra == "docs"
+Requires-Dist: sphinx-rtd-theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE
+Requires-Dist: asdf>=2.8.0; extra == "test"
+Requires-Dist: asdf-astropy; extra == "test"
+Requires-Dist: scipy; extra == "test"
+Requires-Dist: pytest; extra == "test"
# asdf-transform-schemas
![CI](https://github.com/asdf-format/asdf-transform-schemas/workflows/CI/badge.svg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas.egg-info/SOURCES.txt new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas.egg-info/SOURCES.txt
--- old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas.egg-info/SOURCES.txt 2022-08-23 00:07:07.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas.egg-info/SOURCES.txt 2023-10-19 20:00:55.000000000 +0200
@@ -1,3 +1,4 @@
+.flake8
.gitattributes
.gitignore
.pre-commit-config.yaml
@@ -8,7 +9,6 @@
README.md
bandit.yaml
pyproject.toml
-setup.cfg
tox.ini
.github/workflows/changelog.yml
.github/workflows/ci.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas.egg-info/requires.txt new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas.egg-info/requires.txt
--- old/asdf_transform_schemas-0.3.0/src/asdf_transform_schemas.egg-info/requires.txt 2022-08-23 00:07:07.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/src/asdf_transform_schemas.egg-info/requires.txt 2023-10-19 20:00:55.000000000 +0200
@@ -4,7 +4,7 @@
importlib_resources>=3
[docs]
-toml
+tomli
sphinx
sphinx-asdf>=0.1.3
sphinx-astropy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/tests/test_invalid.py new/asdf_transform_schemas-0.4.0/tests/test_invalid.py
--- old/asdf_transform_schemas-0.3.0/tests/test_invalid.py 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/tests/test_invalid.py 2023-10-19 20:00:45.000000000 +0200
@@ -1,6 +1,6 @@
import asdf
import pytest
-from asdf.tests import helpers
+from asdf.testing import helpers
purposefully_failing = [
# old-style bounding box fails
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/asdf_transform_schemas-0.3.0/tox.ini new/asdf_transform_schemas-0.4.0/tox.ini
--- old/asdf_transform_schemas-0.3.0/tox.ini 2022-08-23 00:06:57.000000000 +0200
+++ new/asdf_transform_schemas-0.4.0/tox.ini 2023-10-19 20:00:45.000000000 +0200
@@ -25,7 +25,7 @@
deps=
twine
commands=
- twine check {distdir}/*
+ twine check {work_dir}/{package_env}/dist/*
[testenv:codestyle]
skip_install = true
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package FAudio for openSUSE:Factory checked in at 2023-12-02 17:13:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/FAudio (Old)
and /work/SRC/openSUSE:Factory/.FAudio.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "FAudio"
Sat Dec 2 17:13:28 2023 rev:30 rq:1130445 version:23.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/FAudio/FAudio.changes 2023-11-22 18:55:15.849019600 +0100
+++ /work/SRC/openSUSE:Factory/.FAudio.new.25432/FAudio.changes 2023-12-02 17:13:56.795048876 +0100
@@ -1,0 +2,7 @@
+Fri Dec 1 15:56:22 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 23.12:
+ * Removed an unused variable from the QOA decoder. 23.12 is
+ functionally identical to 23.11.
+
+-------------------------------------------------------------------
Old:
----
FAudio-23.11.tar.gz
New:
----
FAudio-23.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ FAudio.spec ++++++
--- /var/tmp/diff_new_pack.tPY8gh/_old 2023-12-02 17:13:57.231064854 +0100
+++ /var/tmp/diff_new_pack.tPY8gh/_new 2023-12-02 17:13:57.231064854 +0100
@@ -17,7 +17,7 @@
Name: FAudio
-Version: 23.11
+Version: 23.12
Release: 0
Summary: A reimplementation of the XNA Game Studio libraries
License: Zlib
++++++ FAudio-23.11.tar.gz -> FAudio-23.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FAudio-23.11/CMakeLists.txt new/FAudio-23.12/CMakeLists.txt
--- old/FAudio-23.11/CMakeLists.txt 2023-11-01 15:45:29.000000000 +0100
+++ new/FAudio-23.12/CMakeLists.txt 2023-12-01 16:51:24.000000000 +0100
@@ -29,7 +29,7 @@
# Version
SET(LIB_MAJOR_VERSION "0")
SET(LIB_MINOR_VERSION "23")
-SET(LIB_REVISION "11")
+SET(LIB_REVISION "12")
SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_REVISION}")
# Build Type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FAudio-23.11/csharp/FAudio.cs new/FAudio-23.12/csharp/FAudio.cs
--- old/FAudio-23.11/csharp/FAudio.cs 2023-11-01 15:45:29.000000000 +0100
+++ new/FAudio-23.12/csharp/FAudio.cs 2023-12-01 16:51:24.000000000 +0100
@@ -79,7 +79,7 @@
public const uint FAUDIO_ABI_VERSION = 0;
public const uint FAUDIO_MAJOR_VERSION = 23;
- public const uint FAUDIO_MINOR_VERSION = 11;
+ public const uint FAUDIO_MINOR_VERSION = 12;
public const uint FAUDIO_PATCH_VERSION = 0;
public const uint FAUDIO_COMPILED_VERSION = (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FAudio-23.11/include/FAudio.h new/FAudio-23.12/include/FAudio.h
--- old/FAudio-23.11/include/FAudio.h 2023-11-01 15:45:29.000000000 +0100
+++ new/FAudio-23.12/include/FAudio.h 2023-12-01 16:51:24.000000000 +0100
@@ -494,7 +494,7 @@
#define FAUDIO_ABI_VERSION 0
#define FAUDIO_MAJOR_VERSION 23
-#define FAUDIO_MINOR_VERSION 11
+#define FAUDIO_MINOR_VERSION 12
#define FAUDIO_PATCH_VERSION 0
#define FAUDIO_COMPILED_VERSION ( \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FAudio-23.11/src/qoa_decoder.h new/FAudio-23.12/src/qoa_decoder.h
--- old/FAudio-23.11/src/qoa_decoder.h 2023-11-01 15:45:29.000000000 +0100
+++ new/FAudio-23.12/src/qoa_decoder.h 2023-12-01 16:51:24.000000000 +0100
@@ -516,7 +516,6 @@
frame_count = (data->size - 64) / data->frame_size;
sample_index = 0;
- sample_count;
for (i = 0; i < frame_count; i += 1)
{
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package filezilla for openSUSE:Factory checked in at 2023-12-02 17:13:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/filezilla (Old)
and /work/SRC/openSUSE:Factory/.filezilla.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "filezilla"
Sat Dec 2 17:13:26 2023 rev:111 rq:1130442 version:3.66.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/filezilla/filezilla.changes 2023-10-25 18:03:04.082938117 +0200
+++ /work/SRC/openSUSE:Factory/.filezilla.new.25432/filezilla.changes 2023-12-02 17:13:55.298994051 +0100
@@ -1,0 +2,8 @@
+Sat Dec 2 10:41:29 UTC 2023 - ecsos <ecsos(a)opensuse.org>
+
+- Update to 3.66.1
+ * Bugfixes and minor changes:
+ - macOS: Fixed display of local filenames containing non-ASCII
+ characters if LC_CTYPE wasn't set
+
+-------------------------------------------------------------------
Old:
----
FileZilla_3.66.0_src.tar.xz
New:
----
FileZilla_3.66.1_src.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ filezilla.spec ++++++
--- /var/tmp/diff_new_pack.HWChdD/_old 2023-12-02 17:13:55.823013255 +0100
+++ /var/tmp/diff_new_pack.HWChdD/_new 2023-12-02 17:13:55.823013255 +0100
@@ -16,11 +16,11 @@
#
-%define libversion 3.66.0
+%define libversion 3.66.1
%define libfilezillaversion 0.45.0
Name: filezilla
-Version: 3.66.0
+Version: 3.66.1
Release: 0
Summary: A GUI FTP and SFTP Client
License: GPL-2.0-or-later
++++++ FileZilla_3.66.0_src.tar.xz -> FileZilla_3.66.1_src.tar.xz ++++++
++++ 2021 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nemo for openSUSE:Factory checked in at 2023-12-02 17:13:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nemo (Old)
and /work/SRC/openSUSE:Factory/.nemo.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nemo"
Sat Dec 2 17:13:25 2023 rev:52 rq:1130390 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nemo/nemo.changes 2023-03-22 22:30:51.094256484 +0100
+++ /work/SRC/openSUSE:Factory/.nemo.new.25432/nemo.changes 2023-12-02 17:13:54.446962828 +0100
@@ -1,0 +2,96 @@
+Sat Nov 25 19:02:13 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.0.0:
+ * nemo-window-slot.c: Update the drop zone target each time the
+ location changes, not just when the view type changes.
+ * Fix some leaks, g_object_unref safety.
+ * Use `activation_uri` as a second choice in `nemo_file_get_local_uri`
+ * nemo-desktop-link.c: Fix warning when toggling the Trash icon
+ in desktop settings.
+ * Fix some style/icon problems.
+ * search: Relax folder restrictions to allow gvfs locations.
+ * compact view: Improve text and selection highlight alignment.
+ * eel-gtk-extensions.c: (Wayland) Fix menu popup positioning,
+ popup
+ * nemo-file.c: Update hard-coded value for size of thumbnails.
+ * Update issue template with a link to open and closed issues.
+ * eel-gtk-extensions: Make wayland display check reusable.
+ * nemo-view.c: Use an admin:/// uri for the 'Open as Root'
+ action when running under Wayland.
+ * nemo-window-slot: Set up dnd against the slot itself instead
+ of updating the target data each time the location changes.
+ * Fix issue when generating video thumbnails from network
+ shares
+ * nemo-thumbnails: Use g_file_peek_path to simplify network-to-
+ local uri conversion.
+ * Emphasize checking for duplicate existing issues in the bug
+ report form.
+ * nemo-window-slot.c: Disable drop bar, until circular
+ reference can be resolved.
+ * nemo-window.c: Don't update saved window state if the window
+ is tiled when closing it.
+ * Fix trying the same filename when moving a file with
+ duplicate name
+ * Fix thumbnail creation for local files
+ * file ops: Use symbolic tray icons.
+ * nemo-view.c: Show detailed actions for some selection types
+ * Fix meson.build deprecations up to 0.56.0
+ * nemo-pathbar.c: Remove unnecessary g_object_unref.
+ * nemo-desktop.c: Use Gtk to set the desktop window hint
+ * nemo-desktop: Add csd-background to ignored-desktop-handlers.
+ * list-view: Remove remaining unused 'drop zone' code.
+ * nemo-list-view: Restrict drag-into-folder actions to be
+ triggered only over text-covered regions of a given row.
+ * nemo-list-view.c: Don't apply column-expand test unless there
+ is a drag operation active.
+ * search: Fix search directory view selection.
+ * nemo-search-directory.c: Don't restart the search if the
+ query hasn't changed.
+ * advanced search: Fix path handling to prevent symbolic links
+ escaping into forbidden locations.
+ * Fix some leaks.
+ * nemo-style-fallback-mandatory.css: Fix styling on inactive
+ pane
+ * nemo-window.c: Fix crash when unmounting a network location.
+ * nemo-places-sidebar.c: Remove extra reference to selected
+ sidebar file when using the popup menu.
+ * nemo-file-utilities.c: Simplify symbolic device icon lookup.
+ * Revert "nemo-list-view.c: Fix some tooltip markup warnings."
+ * Disable view selection when viewing search results.
+ * search: Fix tracker search, which was broken by
+ 3c691a8e0e80b5.
+ * nemo-search-directory: Unset the search_running flag when the
+ search completes.
+ * search view: Fix sort column/direction not being remembered.
+ * nemo-list-view.c: Don't try to work out a monospace font to
+ use if no font family is set.
+ * nemo-places-sidebar.c: Allocate extra space for the eject
+ button when overlay-scrollbars are enabled.
+ * nemo-list-view.c: Reset dynamic bottom margin when loading a
+ new location.
+ * l10n: Generate additional files
+ 13:00:41 +0100
+ * nemo-view-dnd.c: Fix the check for a web link's title, and
+ use the url if it's missing.
+ * nemo-mime-actions.c: Prioritize an http link to open in a
+ browser, regardless of the mimetype of the link's target.
+ * nemo-file-management-properties.glade: Re-save under glade
+ 3.38.
+ * preferences: Allow displaying dates using the system's
+ current monospace font.
+ * Reduce timeout delay for the click-to-rename feature.
+ * thumbnails: Use multiple threads for generating thumbnails.
+ * nemo-thumbnails: Restore compatibility with older glib
+ versions, move all mutex locks off of the UI thread, clean up
+ when nemo exits.
+ * nemo-icon-container.c: Fix thumbnail prioritization in the
+ icon, compact views.
+ * Remove _prioritize_thumbnailing vfuncs in the icon
+ containers.
+ * Clean up nemo-thumbnails.c, add some thread/queue debugging.
+ * nemo-thumbnails.c: Use LIFO sort for the thumbnailing thread.
+ * nemo-thumbnails.c: Fix thread count when the setting is a
+ positive value (specific count desired instead of automatic).
+- drop nemo-gtk-3.20.patch.
+
+-------------------------------------------------------------------
Old:
----
nemo-5.6.4.tar.gz
nemo-gtk-3.20.patch
New:
----
nemo-6.0.0.tar.gz
BETA DEBUG BEGIN:
Old: positive value (specific count desired instead of automatic).
- drop nemo-gtk-3.20.patch.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nemo.spec ++++++
--- /var/tmp/diff_new_pack.RJkMFZ/_old 2023-12-02 17:13:54.894979246 +0100
+++ /var/tmp/diff_new_pack.RJkMFZ/_new 2023-12-02 17:13:54.894979246 +0100
@@ -20,15 +20,13 @@
%define sover 1
%define typelib typelib-1_0-Nemo-3_0
Name: nemo
-Version: 5.6.4
+Version: 6.0.0
Release: 0
Summary: File browser for Cinnamon
License: GPL-2.0-or-later
Group: System/GUI/Other
URL: https://github.com/linuxmint/nemo
Source: https://github.com/linuxmint/%{name}/archive/%{version}/%{name}-%{version}.…
-# PATCH-FIX-OPENSUSE nemo-gtk-3.20.patch -- Restore GTK+ 3.20 support.
-Patch0: nemo-gtk-3.20.patch
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gtk-doc
@@ -107,7 +105,6 @@
%prep
%setup -q
-%patch0 -p1
%build
export CFLAGS="%{optflags} -fcommon"
++++++ nemo-5.6.4.tar.gz -> nemo-6.0.0.tar.gz ++++++
++++ 20716 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-astropy-healpix for openSUSE:Factory checked in at 2023-12-02 17:13:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-astropy-healpix (Old)
and /work/SRC/openSUSE:Factory/.python-astropy-healpix.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-astropy-healpix"
Sat Dec 2 17:13:20 2023 rev:4 rq:1130392 version:1.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-astropy-healpix/python-astropy-healpix.changes 2023-09-12 21:03:05.896635512 +0200
+++ /work/SRC/openSUSE:Factory/.python-astropy-healpix.new.25432/python-astropy-healpix.changes 2023-12-02 17:13:51.778865052 +0100
@@ -1,0 +2,7 @@
+Sat Dec 2 08:50:58 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.0.1:
+ * Allow building using any version of Numpy between 1.25 and 2.
+ * Build wheels for PyPI. [#200]
+
+-------------------------------------------------------------------
Old:
----
astropy_healpix-1.0.0.tar.gz
New:
----
astropy_healpix-1.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-astropy-healpix.spec ++++++
--- /var/tmp/diff_new_pack.fzhyUh/_old 2023-12-02 17:13:52.226881470 +0100
+++ /var/tmp/diff_new_pack.fzhyUh/_new 2023-12-02 17:13:52.226881470 +0100
@@ -17,7 +17,7 @@
Name: python-astropy-healpix
-Version: 1.0.0
+Version: 1.0.1
Release: 0
Summary: HEALPix for Astropy
License: BSD-3-Clause
++++++ astropy_healpix-1.0.0.tar.gz -> astropy_healpix-1.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/.github/workflows/ci_cron_weekly.yml new/astropy_healpix-1.0.1/.github/workflows/ci_cron_weekly.yml
--- old/astropy_healpix-1.0.0/.github/workflows/ci_cron_weekly.yml 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/.github/workflows/ci_cron_weekly.yml 2023-11-28 18:07:08.000000000 +0100
@@ -13,7 +13,7 @@
doc_test:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python to build docs with sphinx
uses: actions/setup-python@v4
with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/.github/workflows/ci_tests.yml new/astropy_healpix-1.0.1/.github/workflows/ci_tests.yml
--- old/astropy_healpix-1.0.0/.github/workflows/ci_tests.yml 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/.github/workflows/ci_tests.yml 2023-11-28 18:07:08.000000000 +0100
@@ -69,7 +69,7 @@
steps:
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python }} on ${{ matrix.os }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/.github/workflows/publish.yml new/astropy_healpix-1.0.1/.github/workflows/publish.yml
--- old/astropy_healpix-1.0.0/.github/workflows/publish.yml 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/.github/workflows/publish.yml 2023-11-28 18:07:08.000000000 +0100
@@ -1,6 +1,10 @@
name: Publish
on:
+ schedule:
+ # run every day at 4am UTC
+ - cron: '0 4 * * *'
+ workflow_dispatch:
pull_request:
push:
branches:
@@ -14,6 +18,7 @@
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish.yml@v1
secrets:
pypi_token: ${{ secrets.pypi_token }}
+ anaconda_token: ${{ secrets.anaconda_token }}
with:
targets: |
- linux
@@ -21,3 +26,12 @@
- windows
- cp3*-macosx_arm64
- cp3*-manylinux_aarch64
+
+ # Developer wheels (use Numpy dev to build)
+ upload_to_anaconda: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }}
+ anaconda_user: astropy
+ anaconda_package: astropy-healpix
+ anaconda_keep_n_latest: 10
+ env: |
+ CIBW_BEFORE_BUILD: '${{ ((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && 'pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple setuptools setuptools_scm numpy>=0.0dev0 extension-helpers') || '' }}'
+ CIBW_BUILD_FRONTEND: '${{ ((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && 'pip; args: --no-build-isolation') || 'build' }}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/.readthedocs.yml new/astropy_healpix-1.0.1/.readthedocs.yml
--- old/astropy_healpix-1.0.0/.readthedocs.yml 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/.readthedocs.yml 2023-11-28 18:07:08.000000000 +0100
@@ -6,7 +6,6 @@
python: "3.11"
python:
- system_packages: false
install:
- method: pip
path: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/CHANGES.rst new/astropy_healpix-1.0.1/CHANGES.rst
--- old/astropy_healpix-1.0.0/CHANGES.rst 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/CHANGES.rst 2023-11-28 18:07:08.000000000 +0100
@@ -4,6 +4,13 @@
Changes
*******
+1.0.1 (2023-11-28)
+==================
+
+- Allow building using any version of Numpy between 1.25 and 2. [#201]
+
+- Build wheels for PyPI. [#200]
+
1.0.0 (2023-08-21)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/PKG-INFO new/astropy_healpix-1.0.1/PKG-INFO
--- old/astropy_healpix-1.0.0/PKG-INFO 2023-08-21 15:41:43.285111200 +0200
+++ new/astropy_healpix-1.0.1/PKG-INFO 2023-11-28 18:07:31.105450600 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: astropy_healpix
-Version: 1.0.0
+Version: 1.0.1
Summary: BSD-licensed HEALPix for Astropy
Home-page: https://github.com/astropy/astropy-healpix
Author: Astropy Developers
@@ -18,9 +18,15 @@
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
+License-File: LICENSE.md
+Requires-Dist: numpy>=1.19
+Requires-Dist: astropy>=3
Provides-Extra: test
+Requires-Dist: pytest-astropy; extra == "test"
+Requires-Dist: hypothesis; extra == "test"
Provides-Extra: docs
-License-File: LICENSE.md
+Requires-Dist: sphinx-astropy; extra == "docs"
+Requires-Dist: matplotlib; extra == "docs"
astropy healpix
---------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/astropy_healpix/_core.c new/astropy_healpix-1.0.1/astropy_healpix/_core.c
--- old/astropy_healpix-1.0.0/astropy_healpix/_core.c 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/astropy_healpix/_core.c 2023-11-28 18:07:08.000000000 +0100
@@ -1,3 +1,17 @@
+#include <Python.h>
+#include <numpy/arrayobject.h>
+#include <numpy/ufuncobject.h>
+#include "healpix.h"
+#include "healpix-utils.h"
+#include "interpolation.h"
+
+/* FIXME: We need npy_set_floatstatus_invalid(), but unlike most of the Numpy
+ * C API it is only available on some platforms if you explicitly link against
+ * Numpy, which is not typically done for building C extensions. This bundled
+ * header file contains a static definition of _npy_set_floatstatus_invalid().
+ */
+#include "ieee754.h"
+
/* FIXME:
* The Numpy C-API defines PyArrayDescr_Type as:
*
@@ -14,23 +28,11 @@
*
* Drop this when supporting gcc < 10 becomes irrelevant.
*/
+#ifndef PYPY_VERSION
struct _typeobject {
int _placeholder;
};
-
-#include <Python.h>
-#include <numpy/arrayobject.h>
-#include <numpy/ufuncobject.h>
-#include "healpix.h"
-#include "healpix-utils.h"
-#include "interpolation.h"
-
-/* FIXME: We need npy_set_floatstatus_invalid(), but unlike most of the Numpy
- * C API it is only available on some platforms if you explicitly link against
- * Numpy, which is not typically done for building C extensions. This bundled
- * header file contains a static definition of _npy_set_floatstatus_invalid().
- */
-#include "ieee754.h"
+#endif
#define INVALID_INDEX (-1)
@@ -67,7 +69,7 @@
static void healpix_to_lonlat_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
order_funcs *funcs = data;
npy_intp i, n = dimensions[0];
@@ -97,7 +99,7 @@
static void lonlat_to_healpix_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
order_funcs *funcs = data;
npy_intp i, n = dimensions[0];
@@ -125,7 +127,7 @@
static void healpix_to_xyz_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
order_funcs *funcs = data;
npy_intp i, n = dimensions[0];
@@ -156,7 +158,7 @@
static void xyz_to_healpix_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
order_funcs *funcs = data;
npy_intp i, n = dimensions[0];
@@ -191,7 +193,7 @@
static void nested_to_ring_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
npy_intp i, n = dimensions[0];
@@ -215,7 +217,7 @@
static void ring_to_nested_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
npy_intp i, n = dimensions[0];
@@ -239,7 +241,7 @@
static void bilinear_interpolation_weights_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
npy_intp i, n = dimensions[0];
@@ -263,7 +265,7 @@
static void neighbours_loop(
- char **args, npy_intp *dimensions, npy_intp *steps, void *data)
+ char **args, const npy_intp *dimensions, const npy_intp *steps, void *data)
{
order_funcs *funcs = data;
npy_intp i, n = dimensions[0];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/astropy_healpix/setup_package.py new/astropy_healpix-1.0.1/astropy_healpix/setup_package.py
--- old/astropy_healpix-1.0.0/astropy_healpix/setup_package.py 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/astropy_healpix/setup_package.py 2023-11-28 18:07:08.000000000 +0100
@@ -39,6 +39,7 @@
extra_compile_args=['-O2'],
py_limited_api=True,
define_macros=[('Py_LIMITED_API', 0x03090000),
+ ('NPY_TARGET_VERSION', 'NPY_1_19_API_VERSION'),
('NPY_NO_DEPRECATED_API', 'NPY_1_19_API_VERSION')])
return [extension]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/astropy_healpix/version.py new/astropy_healpix-1.0.1/astropy_healpix/version.py
--- old/astropy_healpix-1.0.0/astropy_healpix/version.py 2023-08-21 15:41:43.000000000 +0200
+++ new/astropy_healpix-1.0.1/astropy_healpix/version.py 2023-11-28 18:07:31.000000000 +0100
@@ -5,4 +5,4 @@
from setuptools_scm import get_version
version = get_version(root='..', relative_to=__file__)
except Exception:
- version = '1.0.0'
+ version = '1.0.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/astropy_healpix.egg-info/PKG-INFO new/astropy_healpix-1.0.1/astropy_healpix.egg-info/PKG-INFO
--- old/astropy_healpix-1.0.0/astropy_healpix.egg-info/PKG-INFO 2023-08-21 15:41:43.000000000 +0200
+++ new/astropy_healpix-1.0.1/astropy_healpix.egg-info/PKG-INFO 2023-11-28 18:07:31.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: astropy-healpix
-Version: 1.0.0
+Version: 1.0.1
Summary: BSD-licensed HEALPix for Astropy
Home-page: https://github.com/astropy/astropy-healpix
Author: Astropy Developers
@@ -18,9 +18,15 @@
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
+License-File: LICENSE.md
+Requires-Dist: numpy>=1.19
+Requires-Dist: astropy>=3
Provides-Extra: test
+Requires-Dist: pytest-astropy; extra == "test"
+Requires-Dist: hypothesis; extra == "test"
Provides-Extra: docs
-License-File: LICENSE.md
+Requires-Dist: sphinx-astropy; extra == "docs"
+Requires-Dist: matplotlib; extra == "docs"
astropy healpix
---------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/astropy_healpix-1.0.0/pyproject.toml new/astropy_healpix-1.0.1/pyproject.toml
--- old/astropy_healpix-1.0.0/pyproject.toml 2023-08-21 15:27:23.000000000 +0200
+++ new/astropy_healpix-1.0.1/pyproject.toml 2023-11-28 18:07:08.000000000 +0100
@@ -2,14 +2,13 @@
requires = ["setuptools>=42.0.0",
"setuptools_scm",
- "wheel",
"extension-helpers",
- "numpy==1.25.1"]
+ "numpy>=1.25,<2"]
build-backend = 'setuptools.build_meta'
[tool.cibuildwheel]
-skip = "*-musllinux_* pp*"
+skip = "*-musllinux_* pp310*"
[tool.cibuildwheel.macos]
archs = ["x86_64", "universal2"]
1
0
02 Dec '23
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-backports.entry_points_selectable for openSUSE:Factory checked in at 2023-12-02 17:13:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-backports.entry_points_selectable (Old)
and /work/SRC/openSUSE:Factory/.python-backports.entry_points_selectable.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-backports.entry_points_selectable"
Sat Dec 2 17:13:19 2023 rev:7 rq:1130396 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-backports.entry_points_selectable/python-backports.entry_points_selectable.changes 2023-06-22 23:27:57.158420385 +0200
+++ /work/SRC/openSUSE:Factory/.python-backports.entry_points_selectable.new.25432/python-backports.entry_points_selectable.changes 2023-12-02 17:13:51.110840572 +0100
@@ -1,0 +2,6 @@
+Sat Dec 2 08:51:54 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.3.0:
+ * Require Python 3.8 or later.
+
+-------------------------------------------------------------------
Old:
----
backports.entry_points_selectable-1.2.0.tar.gz
New:
----
backports.entry_points_selectable-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-backports.entry_points_selectable.spec ++++++
--- /var/tmp/diff_new_pack.XQMIgJ/_old 2023-12-02 17:13:51.554856844 +0100
+++ /var/tmp/diff_new_pack.XQMIgJ/_new 2023-12-02 17:13:51.558856990 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-backports.entry_points_selectable
-Version: 1.2.0
+Version: 1.3.0
Release: 0
Summary: Compatibility shim providing selectable entry points for older implementations
License: MIT
@@ -27,7 +27,6 @@
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest >= 4.6}
BuildRequires: %{python_module setuptools_scm}
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module toml}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
@@ -61,7 +60,7 @@
%pytest --pyargs backports
%files %{python_files}
-%doc CHANGES.rst README.rst
+%doc README.rst
%license LICENSE
%dir %{python_sitelib}/backports
%{python_sitelib}/backports/entry_points_selectable.py*
++++++ backports.entry_points_selectable-1.2.0.tar.gz -> backports.entry_points_selectable-1.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/.coveragerc new/backports.entry_points_selectable-1.3.0/.coveragerc
--- old/backports.entry_points_selectable-1.2.0/.coveragerc 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/.coveragerc 2023-11-27 20:02:37.000000000 +0100
@@ -2,7 +2,8 @@
omit =
# leading `*/` for pytest-dev/pytest-cov#456
*/.tox/*
- */pep517-build-env-*
+disable_warnings =
+ couldnt-parse
[report]
show_missing = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/.flake8 new/backports.entry_points_selectable-1.3.0/.flake8
--- old/backports.entry_points_selectable-1.2.0/.flake8 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/.flake8 1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-[flake8]
-max-line-length = 88
-
-# jaraco/skeleton#34
-max-complexity = 10
-
-extend-ignore =
- # Black creates whitespace before colon
- E203
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/.github/workflows/main.yml new/backports.entry_points_selectable-1.3.0/.github/workflows/main.yml
--- old/backports.entry_points_selectable-1.2.0/.github/workflows/main.yml 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/.github/workflows/main.yml 2023-11-27 20:02:37.000000000 +0100
@@ -2,42 +2,81 @@
on: [push, pull_request]
+permissions:
+ contents: read
+
+env:
+ # Environment variable to support color support (jaraco/skeleton#66)
+ FORCE_COLOR: 1
+
+ # Suppress noisy pip warnings
+ PIP_DISABLE_PIP_VERSION_CHECK: 'true'
+ PIP_NO_PYTHON_VERSION_WARNING: 'true'
+ PIP_NO_WARN_SCRIPT_LOCATION: 'true'
+
+ # Ensure tests can sense settings about the environment
+ TOX_OVERRIDE: >-
+ testenv.pass_env+=GITHUB_*,FORCE_COLOR
+
+
jobs:
test:
strategy:
matrix:
python:
- - "3.7"
- - "3.10"
+ - "3.8"
- "3.11"
- # Workaround for actions/setup-python#508
- dev:
- - -dev
+ - "3.12"
platform:
- ubuntu-latest
- macos-latest
- windows-latest
include:
- - python: pypy3.9
+ - python: "3.9"
+ platform: ubuntu-latest
+ - python: "3.10"
+ platform: ubuntu-latest
+ - python: pypy3.10
platform: ubuntu-latest
runs-on: ${{ matrix.platform }}
+ continue-on-error: ${{ matrix.python == '3.13' }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
- python-version: ${{ matrix.python }}${{ matrix.dev }}
+ python-version: ${{ matrix.python }}
+ allow-prereleases: true
- name: Install tox
- run: |
- python -m pip install tox
- - name: Run tests
+ run: python -m pip install tox
+ - name: Run
run: tox
+ collateral:
+ strategy:
+ fail-fast: false
+ matrix:
+ job: [diffcov, docs]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - name: Setup Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: 3.x
+ - name: Install tox
+ run: python -m pip install tox
+ - name: Eval ${{ matrix.job }}
+ run: tox -e ${{ matrix.job }}
+
check: # This job does nothing and is only used for the branch protection
if: always()
needs:
- test
+ - collateral
runs-on: ubuntu-latest
@@ -48,21 +87,22 @@
jobs: ${{ toJSON(needs) }}
release:
+ permissions:
+ contents: write
needs:
- check
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
- python-version: 3.11-dev
+ python-version: 3.x
- name: Install tox
- run: |
- python -m pip install tox
- - name: Release
+ run: python -m pip install tox
+ - name: Run
run: tox -e release
env:
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/.readthedocs.yaml new/backports.entry_points_selectable-1.3.0/.readthedocs.yaml
--- old/backports.entry_points_selectable-1.2.0/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.entry_points_selectable-1.3.0/.readthedocs.yaml 2023-11-27 20:02:37.000000000 +0100
@@ -0,0 +1,12 @@
+version: 2
+python:
+ install:
+ - path: .
+ extra_requirements:
+ - docs
+
+# required boilerplate readthedocs/readthedocs.org#10401
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/.readthedocs.yml new/backports.entry_points_selectable-1.3.0/.readthedocs.yml
--- old/backports.entry_points_selectable-1.2.0/.readthedocs.yml 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/.readthedocs.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-version: 2
-python:
- install:
- - path: .
- extra_requirements:
- - docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/CHANGES.rst new/backports.entry_points_selectable-1.3.0/CHANGES.rst
--- old/backports.entry_points_selectable-1.2.0/CHANGES.rst 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/CHANGES.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-v1.2.0
-======
-
-Refreshed packaging.
-
-Require Python 3.7 or later.
-
-v1.1.1
-======
-
-Refreshed packaging.
-
-v1.1.0
-======
-
-Add compatibility support for access by index and EntryPoints
-mutability as introduced in importlib_metadata 4.4.
-
-v1.0.4
-======
-
-#2: For test dependencies, when indicating Python 3, use ``>=3``
-instead of ``>3`` to satisfy
-`python-poetry/poetry#3862 <https://github.com/python-poetry/poetry/issues/3862>`_.
-
-v1.0.3
-======
-
-Clarify docs in readme.
-
-v1.0.2
-======
-
-#1: Fix AttributeError when ``EntryPoint`` does not yet implement
-``matches``.
-
-v1.0.1
-======
-
-Make universal wheel.
-
-v1.0.0
-======
-
-Initial release presenting ``entry_points`` compatibility shim.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/LICENSE new/backports.entry_points_selectable-1.3.0/LICENSE
--- old/backports.entry_points_selectable-1.2.0/LICENSE 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/LICENSE 2023-11-27 20:02:37.000000000 +0100
@@ -1,5 +1,3 @@
-Copyright Jason R. Coombs
-
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/NEWS.rst new/backports.entry_points_selectable-1.3.0/NEWS.rst
--- old/backports.entry_points_selectable-1.2.0/NEWS.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.entry_points_selectable-1.3.0/NEWS.rst 2023-11-27 20:02:37.000000000 +0100
@@ -0,0 +1,54 @@
+v1.3.0
+======
+
+Features
+--------
+
+- Require Python 3.8 or later.
+
+
+v1.2.0
+======
+
+Refreshed packaging.
+
+Require Python 3.7 or later.
+
+v1.1.1
+======
+
+Refreshed packaging.
+
+v1.1.0
+======
+
+Add compatibility support for access by index and EntryPoints
+mutability as introduced in importlib_metadata 4.4.
+
+v1.0.4
+======
+
+#2: For test dependencies, when indicating Python 3, use ``>=3``
+instead of ``>3`` to satisfy
+`python-poetry/poetry#3862 <https://github.com/python-poetry/poetry/issues/3862>`_.
+
+v1.0.3
+======
+
+Clarify docs in readme.
+
+v1.0.2
+======
+
+#1: Fix AttributeError when ``EntryPoint`` does not yet implement
+``matches``.
+
+v1.0.1
+======
+
+Make universal wheel.
+
+v1.0.0
+======
+
+Initial release presenting ``entry_points`` compatibility shim.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/PKG-INFO new/backports.entry_points_selectable-1.3.0/PKG-INFO
--- old/backports.entry_points_selectable-1.2.0/PKG-INFO 2022-10-02 02:31:47.277235700 +0200
+++ new/backports.entry_points_selectable-1.3.0/PKG-INFO 2023-11-27 20:02:57.251204700 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: backports.entry_points_selectable
-Version: 1.2.0
+Version: 1.3.0
Summary: Compatibility shim providing selectable entry points for older implementations
Home-page: https://github.com/jaraco/backports.entry_points_selectable
Author: Jason R. Coombs
@@ -9,38 +9,53 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE
+Requires-Dist: importlib_metadata; python_version < "3.8"
Provides-Extra: testing
+Requires-Dist: pytest; extra == "testing"
+Requires-Dist: pytest-checkdocs>=2.4; extra == "testing"
+Requires-Dist: pytest-black>=0.3.7; platform_python_implementation != "PyPy" and extra == "testing"
+Requires-Dist: pytest-cov; extra == "testing"
+Requires-Dist: pytest-mypy>=0.9.1; platform_python_implementation != "PyPy" and extra == "testing"
+Requires-Dist: pytest-enabler>=2.2; extra == "testing"
+Requires-Dist: pytest-ruff; extra == "testing"
Provides-Extra: docs
-License-File: LICENSE
+Requires-Dist: sphinx>=3.5; extra == "docs"
+Requires-Dist: sphinx<7.2.5; extra == "docs"
+Requires-Dist: jaraco.packaging>=9.3; extra == "docs"
+Requires-Dist: rst.linker>=1.9; extra == "docs"
+Requires-Dist: furo; extra == "docs"
+Requires-Dist: sphinx-lint; extra == "docs"
.. image:: https://img.shields.io/pypi/v/backports.entry_points_selectable.svg
- :target: `PyPI link`_
+ :target: https://pypi.org/project/backports.entry_points_selectable
.. image:: https://img.shields.io/pypi/pyversions/backports.entry_points_selectable.svg
- :target: `PyPI link`_
-
-.. _PyPI link: https://pypi.org/project/backports.entry_points_selectable
.. image:: https://github.com/jaraco/backports.entry_points_selectable/workflows/tests…
:target: https://github.com/jaraco/backports.entry_points_selectable/actions?query=w…
:alt: tests
+.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charl…
+ :target: https://github.com/astral-sh/ruff
+ :alt: Ruff
+
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code style: Black
-.. .. image:: https://readthedocs.org/projects/skeleton/badge/?version=latest
-.. :target: https://skeleton.readthedocs.io/en/latest/?badge=latest
+.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest
+.. :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest
-.. image:: https://img.shields.io/badge/skeleton-2022-informational
+.. image:: https://img.shields.io/badge/skeleton-2023-informational
:target: https://blog.jaraco.com/skeleton
Compatibility shim to ease adoption of `importlib_metadata 3.6 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-6-0>`_. Supplies forward-compatibility of "selectable" entry points even on older versions of ``importlib_metadata`` and ``importlib.metadata``, and avoids usage that triggers `deprecation warnings <https://github.com/python/importlib_metadata/issues/298>`_.
Use this shim for libraries or applications invoking ``entry_points()`` that run on Python older than 3.10 or where importlib_metadata is older than 3.6. In most cases, this shim is unnecessary and the easiest thing to do is simply require ``importlib_metadata >= 3.6`` on all Pythons (or only those prior to 3.10a7). In some environments, a library may be constrained on which versions of ``importlib_metadata`` can be required, so this library bridges that gap.
-To use this shim, add ``backports.entry_points_selectable`` to your project requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.
+To use this shim, add ``backports.entry_points_selectable`` to the affected project's requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.
Then in code, instead of ``from importlib.metadata import entry_points``, use::
@@ -48,4 +63,4 @@
And then use the "selectable" features (pass keyword arguments to ``entry_points`` or invoke ``.select()`` on the result).
-This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the downstream project.
+This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the affected project.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/README.rst new/backports.entry_points_selectable-1.3.0/README.rst
--- old/backports.entry_points_selectable-1.2.0/README.rst 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/README.rst 2023-11-27 20:02:37.000000000 +0100
@@ -1,30 +1,31 @@
.. image:: https://img.shields.io/pypi/v/backports.entry_points_selectable.svg
- :target: `PyPI link`_
+ :target: https://pypi.org/project/backports.entry_points_selectable
.. image:: https://img.shields.io/pypi/pyversions/backports.entry_points_selectable.svg
- :target: `PyPI link`_
-
-.. _PyPI link: https://pypi.org/project/backports.entry_points_selectable
.. image:: https://github.com/jaraco/backports.entry_points_selectable/workflows/tests…
:target: https://github.com/jaraco/backports.entry_points_selectable/actions?query=w…
:alt: tests
+.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charl…
+ :target: https://github.com/astral-sh/ruff
+ :alt: Ruff
+
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code style: Black
-.. .. image:: https://readthedocs.org/projects/skeleton/badge/?version=latest
-.. :target: https://skeleton.readthedocs.io/en/latest/?badge=latest
+.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest
+.. :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest
-.. image:: https://img.shields.io/badge/skeleton-2022-informational
+.. image:: https://img.shields.io/badge/skeleton-2023-informational
:target: https://blog.jaraco.com/skeleton
Compatibility shim to ease adoption of `importlib_metadata 3.6 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-6-0>`_. Supplies forward-compatibility of "selectable" entry points even on older versions of ``importlib_metadata`` and ``importlib.metadata``, and avoids usage that triggers `deprecation warnings <https://github.com/python/importlib_metadata/issues/298>`_.
Use this shim for libraries or applications invoking ``entry_points()`` that run on Python older than 3.10 or where importlib_metadata is older than 3.6. In most cases, this shim is unnecessary and the easiest thing to do is simply require ``importlib_metadata >= 3.6`` on all Pythons (or only those prior to 3.10a7). In some environments, a library may be constrained on which versions of ``importlib_metadata`` can be required, so this library bridges that gap.
-To use this shim, add ``backports.entry_points_selectable`` to your project requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.
+To use this shim, add ``backports.entry_points_selectable`` to the affected project's requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.
Then in code, instead of ``from importlib.metadata import entry_points``, use::
@@ -32,4 +33,4 @@
And then use the "selectable" features (pass keyword arguments to ``entry_points`` or invoke ``.select()`` on the result).
-This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the downstream project.
+This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the affected project.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/backports.entry_points_selectable.egg-info/PKG-INFO new/backports.entry_points_selectable-1.3.0/backports.entry_points_selectable.egg-info/PKG-INFO
--- old/backports.entry_points_selectable-1.2.0/backports.entry_points_selectable.egg-info/PKG-INFO 2022-10-02 02:31:47.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/backports.entry_points_selectable.egg-info/PKG-INFO 2023-11-27 20:02:57.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: backports.entry-points-selectable
-Version: 1.2.0
+Version: 1.3.0
Summary: Compatibility shim providing selectable entry points for older implementations
Home-page: https://github.com/jaraco/backports.entry_points_selectable
Author: Jason R. Coombs
@@ -9,38 +9,53 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE
+Requires-Dist: importlib_metadata; python_version < "3.8"
Provides-Extra: testing
+Requires-Dist: pytest; extra == "testing"
+Requires-Dist: pytest-checkdocs>=2.4; extra == "testing"
+Requires-Dist: pytest-black>=0.3.7; platform_python_implementation != "PyPy" and extra == "testing"
+Requires-Dist: pytest-cov; extra == "testing"
+Requires-Dist: pytest-mypy>=0.9.1; platform_python_implementation != "PyPy" and extra == "testing"
+Requires-Dist: pytest-enabler>=2.2; extra == "testing"
+Requires-Dist: pytest-ruff; extra == "testing"
Provides-Extra: docs
-License-File: LICENSE
+Requires-Dist: sphinx>=3.5; extra == "docs"
+Requires-Dist: sphinx<7.2.5; extra == "docs"
+Requires-Dist: jaraco.packaging>=9.3; extra == "docs"
+Requires-Dist: rst.linker>=1.9; extra == "docs"
+Requires-Dist: furo; extra == "docs"
+Requires-Dist: sphinx-lint; extra == "docs"
.. image:: https://img.shields.io/pypi/v/backports.entry_points_selectable.svg
- :target: `PyPI link`_
+ :target: https://pypi.org/project/backports.entry_points_selectable
.. image:: https://img.shields.io/pypi/pyversions/backports.entry_points_selectable.svg
- :target: `PyPI link`_
-
-.. _PyPI link: https://pypi.org/project/backports.entry_points_selectable
.. image:: https://github.com/jaraco/backports.entry_points_selectable/workflows/tests…
:target: https://github.com/jaraco/backports.entry_points_selectable/actions?query=w…
:alt: tests
+.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charl…
+ :target: https://github.com/astral-sh/ruff
+ :alt: Ruff
+
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code style: Black
-.. .. image:: https://readthedocs.org/projects/skeleton/badge/?version=latest
-.. :target: https://skeleton.readthedocs.io/en/latest/?badge=latest
+.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest
+.. :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest
-.. image:: https://img.shields.io/badge/skeleton-2022-informational
+.. image:: https://img.shields.io/badge/skeleton-2023-informational
:target: https://blog.jaraco.com/skeleton
Compatibility shim to ease adoption of `importlib_metadata 3.6 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-6-0>`_. Supplies forward-compatibility of "selectable" entry points even on older versions of ``importlib_metadata`` and ``importlib.metadata``, and avoids usage that triggers `deprecation warnings <https://github.com/python/importlib_metadata/issues/298>`_.
Use this shim for libraries or applications invoking ``entry_points()`` that run on Python older than 3.10 or where importlib_metadata is older than 3.6. In most cases, this shim is unnecessary and the easiest thing to do is simply require ``importlib_metadata >= 3.6`` on all Pythons (or only those prior to 3.10a7). In some environments, a library may be constrained on which versions of ``importlib_metadata`` can be required, so this library bridges that gap.
-To use this shim, add ``backports.entry_points_selectable`` to your project requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.
+To use this shim, add ``backports.entry_points_selectable`` to the affected project's requirements. It will require ``importlib_metadata`` automatically where needed (prior to Python 3.8) but be satisfied by older versions. Projects should still require ``importlib_metadata`` as appropriate for API uses other than for ``entry_points``.
Then in code, instead of ``from importlib.metadata import entry_points``, use::
@@ -48,4 +63,4 @@
And then use the "selectable" features (pass keyword arguments to ``entry_points`` or invoke ``.select()`` on the result).
-This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the downstream project.
+This backport has a very lenient dependency on `importlib_metadata` for older Pythons and is a single module implementation. If adding a dependency is a concern, this module may be vendored into the affected project.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/backports.entry_points_selectable.egg-info/SOURCES.txt new/backports.entry_points_selectable-1.3.0/backports.entry_points_selectable.egg-info/SOURCES.txt
--- old/backports.entry_points_selectable-1.2.0/backports.entry_points_selectable.egg-info/SOURCES.txt 2022-10-02 02:31:47.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/backports.entry_points_selectable.egg-info/SOURCES.txt 2023-11-27 20:02:57.000000000 +0100
@@ -1,15 +1,15 @@
.coveragerc
.editorconfig
-.flake8
.pre-commit-config.yaml
-.readthedocs.yml
-CHANGES.rst
+.readthedocs.yaml
LICENSE
+NEWS.rst
README.rst
mypy.ini
pyproject.toml
pytest.ini
setup.cfg
+towncrier.toml
tox.ini
.github/dependabot.yml
.github/workflows/main.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/backports.entry_points_selectable.egg-info/requires.txt new/backports.entry_points_selectable-1.3.0/backports.entry_points_selectable.egg-info/requires.txt
--- old/backports.entry_points_selectable-1.2.0/backports.entry_points_selectable.egg-info/requires.txt 2022-10-02 02:31:47.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/backports.entry_points_selectable.egg-info/requires.txt 2023-11-27 20:02:57.000000000 +0100
@@ -4,17 +4,18 @@
[docs]
sphinx>=3.5
-jaraco.packaging>=9
+sphinx<7.2.5
+jaraco.packaging>=9.3
rst.linker>=1.9
furo
+sphinx-lint
[testing]
pytest
pytest-checkdocs>=2.4
-pytest-flake8
-flake8<5
pytest-cov
-pytest-enabler>=1.3
+pytest-enabler>=2.2
+pytest-ruff
[testing:platform_python_implementation != "PyPy"]
pytest-black>=0.3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/docs/conf.py new/backports.entry_points_selectable-1.3.0/docs/conf.py
--- old/backports.entry_points_selectable-1.2.0/docs/conf.py 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/docs/conf.py 2023-11-27 20:02:37.000000000 +0100
@@ -1,6 +1,3 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
extensions = [
'sphinx.ext.autodoc',
'jaraco.packaging.sphinx',
@@ -12,7 +9,7 @@
# Link dates and other references in the changelog
extensions += ['rst.linker']
link_files = {
- '../CHANGES.rst': dict(
+ '../NEWS.rst': dict(
using=dict(GH='https://github.com'),
replace=[
dict(
@@ -35,8 +32,8 @@
nitpicky = True
nitpick_ignore = [
- ('py:class', 'importlib_metadata.EntryPoints'),
- ('py:class', 'importlib_metadata.SelectableGroups'),
+ ('py:class', 'importlib.metadata.EntryPoints'),
+ ('py:class', 'importlib.metadata.SelectableGroups'),
]
# Include Python intersphinx mapping to prevent failures
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/docs/history.rst new/backports.entry_points_selectable-1.3.0/docs/history.rst
--- old/backports.entry_points_selectable-1.2.0/docs/history.rst 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/docs/history.rst 2023-11-27 20:02:37.000000000 +0100
@@ -5,4 +5,4 @@
History
*******
-.. include:: ../CHANGES (links).rst
+.. include:: ../NEWS (links).rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/docs/index.rst new/backports.entry_points_selectable-1.3.0/docs/index.rst
--- old/backports.entry_points_selectable-1.2.0/docs/index.rst 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/docs/index.rst 2023-11-27 20:02:37.000000000 +0100
@@ -1,6 +1,10 @@
Welcome to |project| documentation!
===================================
+.. sidebar-links::
+ :home:
+ :pypi:
+
.. toctree::
:maxdepth: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/mypy.ini new/backports.entry_points_selectable-1.3.0/mypy.ini
--- old/backports.entry_points_selectable-1.2.0/mypy.ini 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/mypy.ini 2023-11-27 20:02:37.000000000 +0100
@@ -1,2 +1,5 @@
[mypy]
ignore_missing_imports = True
+# required to support namespace packages
+# https://github.com/python/mypy/issues/14057
+explicit_package_bases = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/pyproject.toml new/backports.entry_points_selectable-1.3.0/pyproject.toml
--- old/backports.entry_points_selectable-1.2.0/pyproject.toml 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/pyproject.toml 2023-11-27 20:02:37.000000000 +0100
@@ -6,15 +6,3 @@
skip-string-normalization = true
[tool.setuptools_scm]
-
-[tool.pytest-enabler.black]
-addopts = "--black"
-
-[tool.pytest-enabler.mypy]
-addopts = "--mypy"
-
-[tool.pytest-enabler.flake8]
-addopts = "--flake8"
-
-[tool.pytest-enabler.cov]
-addopts = "--cov"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/pytest.ini new/backports.entry_points_selectable-1.3.0/pytest.ini
--- old/backports.entry_points_selectable-1.2.0/pytest.ini 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/pytest.ini 2023-11-27 20:02:37.000000000 +0100
@@ -1,17 +1,27 @@
[pytest]
norecursedirs=dist build .tox .eggs
addopts=--doctest-modules
-doctest_optionflags=ALLOW_UNICODE ELLIPSIS
filterwarnings=
- # Suppress deprecation warning in flake8
- ignore:SelectableGroups dict interface is deprecated::flake8
+ ## upstream
+
+ # Ensure ResourceWarnings are emitted
+ default::ResourceWarning
# shopkeep/pytest-black#55
ignore:<class 'pytest_black.BlackItem'> is not using a cooperative constructor:pytest.PytestDeprecationWarning
ignore:The \(fspath. py.path.local\) argument to BlackItem is deprecated.:pytest.PytestDeprecationWarning
ignore:BlackItem is an Item subclass and should not be a collector:pytest.PytestWarning
- # tholo/pytest-flake8#83
- ignore:<class 'pytest_flake8.Flake8Item'> is not using a cooperative constructor:pytest.PytestDeprecationWarning
- ignore:The \(fspath. py.path.local\) argument to Flake8Item is deprecated.:pytest.PytestDeprecationWarning
- ignore:Flake8Item is an Item subclass and should not be a collector:pytest.PytestWarning
+ # shopkeep/pytest-black#67
+ ignore:'encoding' argument not specified::pytest_black
+
+ # realpython/pytest-mypy#152
+ ignore:'encoding' argument not specified::pytest_mypy
+
+ # python/cpython#100750
+ ignore:'encoding' argument not specified::platform
+
+ # pypa/build#615
+ ignore:'encoding' argument not specified::build.env
+
+ ## end upstream
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/setup.cfg new/backports.entry_points_selectable-1.3.0/setup.cfg
--- old/backports.entry_points_selectable-1.2.0/setup.cfg 2022-10-02 02:31:47.277235700 +0200
+++ new/backports.entry_points_selectable-1.3.0/setup.cfg 2023-11-27 20:02:57.251204700 +0100
@@ -14,7 +14,7 @@
[options]
packages = find:
include_package_data = true
-python_requires = >=3.7
+python_requires = >=3.8
install_requires =
importlib_metadata; python_version < "3.8"
@@ -29,19 +29,20 @@
testing =
pytest
pytest-checkdocs >= 2.4
- pytest-flake8
- flake8 < 5
pytest-black >= 0.3.7; \
python_implementation != "PyPy"
pytest-cov
pytest-mypy >= 0.9.1; \
python_implementation != "PyPy"
- pytest-enabler >= 1.3
+ pytest-enabler >= 2.2
+ pytest-ruff
docs =
sphinx >= 3.5
- jaraco.packaging >= 9
+ sphinx < 7.2.5
+ jaraco.packaging >= 9.3
rst.linker >= 1.9
furo
+ sphinx-lint
[options.entry_points]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/towncrier.toml new/backports.entry_points_selectable-1.3.0/towncrier.toml
--- old/backports.entry_points_selectable-1.2.0/towncrier.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.entry_points_selectable-1.3.0/towncrier.toml 2023-11-27 20:02:37.000000000 +0100
@@ -0,0 +1,2 @@
+[tool.towncrier]
+title_format = "{version}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.entry_points_selectable-1.2.0/tox.ini new/backports.entry_points_selectable-1.3.0/tox.ini
--- old/backports.entry_points_selectable-1.2.0/tox.ini 2022-10-02 02:31:09.000000000 +0200
+++ new/backports.entry_points_selectable-1.3.0/tox.ini 2023-11-27 20:02:37.000000000 +0100
@@ -1,33 +1,54 @@
-[tox]
-envlist = python
-minversion = 3.2
-# https://github.com/jaraco/skeleton/issues/6
-tox_pip_extensions_ext_venv_update = true
-toxworkdir={env:TOX_WORK_DIR:.tox}
-
-
[testenv]
+description = perform primary checks (tests, style, types, coverage)
deps =
+setenv =
+ PYTHONWARNDEFAULTENCODING = 1
commands =
pytest {posargs}
usedevelop = True
-extras = testing
+extras =
+ testing
+
+[testenv:diffcov]
+description = run tests and check that diff from main is covered
+deps =
+ diff-cover
+commands =
+ pytest {posargs} --cov-report xml
+ diff-cover coverage.xml --compare-branch=origin/main --html-report diffcov.html
+ diff-cover coverage.xml --compare-branch=origin/main --fail-under=100
[testenv:docs]
+description = build the documentation
extras =
docs
testing
changedir = docs
commands =
python -m sphinx -W --keep-going . {toxinidir}/build/html
+ python -m sphinxlint \
+ # workaround for sphinx-contrib/sphinx-lint#83
+ --jobs 1
+
+[testenv:finalize]
+description = assemble changelog and tag a release
+skip_install = True
+deps =
+ towncrier
+ jaraco.develop >= 7.23
+pass_env = *
+commands =
+ python -m jaraco.develop.finalize
+
[testenv:release]
+description = publish the package to PyPI and GitHub
skip_install = True
deps =
build
twine>=3
jaraco.develop>=7.1
-passenv =
+pass_env =
TWINE_PASSWORD
GITHUB_TOKEN
setenv =
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-speaklater for openSUSE:Factory checked in at 2023-12-02 17:13:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-speaklater (Old)
and /work/SRC/openSUSE:Factory/.python-speaklater.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-speaklater"
Sat Dec 2 17:13:18 2023 rev:3 rq:1130387 version:1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-speaklater/python-speaklater.changes 2019-06-06 18:18:46.748660432 +0200
+++ /work/SRC/openSUSE:Factory/.python-speaklater.new.25432/python-speaklater.changes 2023-12-02 17:13:50.466816971 +0100
@@ -1,0 +2,5 @@
+Fri Dec 1 16:43:21 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-speaklater.spec ++++++
--- /var/tmp/diff_new_pack.u5OFgt/_old 2023-12-02 17:13:50.934834122 +0100
+++ /var/tmp/diff_new_pack.u5OFgt/_new 2023-12-02 17:13:50.938834269 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-speaklater
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
Name: python-speaklater
Version: 1.3
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-bidict for openSUSE:Factory checked in at 2023-12-02 17:13:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bidict (Old)
and /work/SRC/openSUSE:Factory/.python-bidict.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bidict"
Sat Dec 2 17:13:18 2023 rev:13 rq:1130386 version:0.22.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bidict/python-bidict.changes 2023-04-26 17:25:10.621558698 +0200
+++ /work/SRC/openSUSE:Factory/.python-bidict.new.25432/python-bidict.changes 2023-12-02 17:13:49.786792051 +0100
@@ -1,0 +2,5 @@
+Fri Dec 1 16:43:23 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-bidict.spec ++++++
--- /var/tmp/diff_new_pack.emk96W/_old 2023-12-02 17:13:50.222808029 +0100
+++ /var/tmp/diff_new_pack.emk96W/_new 2023-12-02 17:13:50.222808029 +0100
@@ -16,8 +16,7 @@
#
-%define skip_python2 1
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
Name: python-bidict
Version: 0.22.1
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-PyQRCode for openSUSE:Factory checked in at 2023-12-02 17:13:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PyQRCode (Old)
and /work/SRC/openSUSE:Factory/.python-PyQRCode.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyQRCode"
Sat Dec 2 17:13:15 2023 rev:9 rq:1130383 version:1.3.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PyQRCode/python-PyQRCode.changes 2023-05-13 17:17:45.478421403 +0200
+++ /work/SRC/openSUSE:Factory/.python-PyQRCode.new.25432/python-PyQRCode.changes 2023-12-02 17:13:48.102730337 +0100
@@ -1,0 +2,5 @@
+Fri Dec 1 16:43:26 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-PyQRCode.spec ++++++
--- /var/tmp/diff_new_pack.EAsXS7/_old 2023-12-02 17:13:48.574747634 +0100
+++ /var/tmp/diff_new_pack.EAsXS7/_new 2023-12-02 17:13:48.574747634 +0100
@@ -17,6 +17,7 @@
%define modname PyQRCode
+%{?sle15_python_module_pythons}
Name: python-PyQRCode
Version: 1.3.6
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-sortedcollections for openSUSE:Factory checked in at 2023-12-02 17:13:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sortedcollections (Old)
and /work/SRC/openSUSE:Factory/.python-sortedcollections.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sortedcollections"
Sat Dec 2 17:13:14 2023 rev:7 rq:1130382 version:2.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sortedcollections/python-sortedcollections.changes 2021-01-31 16:52:05.908710155 +0100
+++ /work/SRC/openSUSE:Factory/.python-sortedcollections.new.25432/python-sortedcollections.changes 2023-12-02 17:13:47.506708495 +0100
@@ -1,0 +2,5 @@
+Fri Dec 1 16:43:28 UTC 2023 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sortedcollections.spec ++++++
--- /var/tmp/diff_new_pack.ym0lsV/_old 2023-12-02 17:13:47.950724767 +0100
+++ /var/tmp/diff_new_pack.ym0lsV/_new 2023-12-02 17:13:47.954724913 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-sortedcollections
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,7 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-sortedcollections
Version: 2.1.0
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nodejs-electron for openSUSE:Factory checked in at 2023-12-02 17:13:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Sat Dec 2 17:13:09 2023 rev:92 rq:1130366 version:27.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes 2023-11-24 23:34:33.734924248 +0100
+++ /work/SRC/openSUSE:Factory/.nodejs-electron.new.25432/nodejs-electron.changes 2023-12-02 17:13:36.434302732 +0100
@@ -1,0 +2,11 @@
+Sat Dec 2 00:25:12 UTC 2023 - Bruno Pitrus <brunopitrus(a)hotmail.com>
+
+- New upstream release 27.1.3
+ * Chromium 118.0.5993.159
+ * Fix integer overflow in Skia (CVE-2023-6345)
+ * Fix use after free in WebAudio (CVE-2023-6346)
+ * Fix use after free in Mojo (CVE-2023-6347)
+ * [Leap and Fedora only] Fix use after free in avif (CVE-2023-6350 bsc#1217614)
+- Hide more private symbols in trap-handler (v8-hide-private-symbols.patch)
+
+-------------------------------------------------------------------
Old:
----
electron-27.1.2.tar.zst
New:
----
electron-27.1.3.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.pbZvtr/_old 2023-12-02 17:13:42.622529507 +0100
+++ /var/tmp/diff_new_pack.pbZvtr/_new 2023-12-02 17:13:42.622529507 +0100
@@ -240,7 +240,7 @@
Name: nodejs-electron
-Version: 27.1.2
+Version: 27.1.3
Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS
License: AFL-2.0 AND Apache-2.0 AND blessing AND BSD-2-Clause AND BSD-3-Clause AND BSD-Protection AND BSD-Source-Code AND bzip2-1.0.6 AND IJG AND ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND X11
++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.pbZvtr/_old 2023-12-02 17:13:42.762534638 +0100
+++ /var/tmp/diff_new_pack.pbZvtr/_new 2023-12-02 17:13:42.766534784 +0100
@@ -260,7 +260,6 @@
third_party/omnibox_proto #integral part of chrome
third_party/one_euro_filter #not in any distro
third_party/openscreen #Integral part of chrome, needed even if you're building without.
- third_party/openscreen/src/third_party/mozilla #derived code, not vendored dependency
third_party/openscreen/src/third_party/tinycbor #not in any distro
third_party/ots #not available as a shared library. Fedora has the cli version as opentype-sanitizer
#we don't build pdf support, removing it from tarball to save space
++++++ v8-hide-private-symbols.patch ++++++
--- /var/tmp/diff_new_pack.pbZvtr/_old 2023-12-02 17:13:42.982542700 +0100
+++ /var/tmp/diff_new_pack.pbZvtr/_new 2023-12-02 17:13:42.986542846 +0100
@@ -23,3 +23,22 @@
#define V8_EXPORT_PRIVATE
#define V8_EXPORT_ENUM
+
+This should also be hidden, see https://github.com/electron/electron/pull/40624
+--- src/v8/src/trap-handler/trap-handler.h.orig 2023-11-22 21:11:42.771625500 +0100
++++ src/v8/src/trap-handler/trap-handler.h 2023-11-30 20:57:23.411956500 +0100
+@@ -54,11 +54,11 @@ namespace trap_handler {
+ #if defined(BUILDING_V8_SHARED) && defined(V8_OS_WIN)
+ #define TH_EXPORT_PRIVATE __declspec(dllexport)
+ #elif defined(BUILDING_V8_SHARED)
+-#define TH_EXPORT_PRIVATE __attribute__((visibility("default")))
++#define TH_EXPORT_PRIVATE __attribute__((visibility("hidden")))
+ #elif defined(USING_V8_SHARED) && defined(V8_OS_WIN)
+ #define TH_EXPORT_PRIVATE __declspec(dllimport)
+ #else
+-#define TH_EXPORT_PRIVATE
++#define TH_EXPORT_PRIVATE __attribute__((visibility("hidden")))
+ #endif
+
+ #define TH_CHECK(condition) \
+
1
0